Pith. sign in

IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.Grow.RatioOrbitLeReflTotal

IndisputableMonolith/Foundation/PrimitiveRecognitionCalculus/Grow/RatioOrbitLeReflTotal.lean · 32 lines · 3 declarations

show as:
view math explainer →

open module explainer GitHub source

Explainer status: pending

   1import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.IntegerRational
   2import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.IntegerOrder
   3import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.Orbit
   4import IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus.Grow.SignedOrbitOrderChoiceFree
   5
   6namespace IndisputableMonolith.PRCGrow.RatioOrbitLeReflTotal
   7
   8open IndisputableMonolith.Foundation.PrimitiveRecognitionCalculus
   9open IndisputableMonolith.PRCGrow.SignedOrbitOrderChoiceFree
  10
  11/-- Cross-multiplication order on `RatioOrbit`: `leQ p q` iff the signed orbit
  12    `p.num * q.den` is `≤` the signed orbit `q.num * p.den`, where the positive
  13    distinctions (dens) are cast in via `SignedOrbit.ofOrbit`. -/
  14def leQ (p q : RatioOrbit) : Prop :=
  15  SignedOrbit.le
  16    (SignedOrbit.mul p.num (SignedOrbit.ofOrbit q.den))
  17    (SignedOrbit.mul q.num (SignedOrbit.ofOrbit p.den))
  18
  19/-- Reflexivity of `leQ`: every rational is ≤ itself. Proved by `le_refl_cf`
  20    at the cross-product, which is literally the same signed orbit on both sides. -/
  21theorem leQ_refl (p : RatioOrbit) : leQ p p := by
  22  unfold leQ
  23  exact le_refl_cf _
  24
  25/-- Totality of `leQ`: for any two rationals, one is ≤ the other. Proved by
  26    `le_total_cf` at the two cross-products. -/
  27theorem leQ_total (p q : RatioOrbit) : leQ p q ∨ leQ q p := by
  28  unfold leQ
  29  exact le_total_cf _ _
  30
  31end IndisputableMonolith.PRCGrow.RatioOrbitLeReflTotal
  32

source mirrored from github.com/jonwashburn/shape-of-logic