Step * of Lemma ratreduce_wf

[x:ℤ × ℕ+]. (ratreduce(x) ∈ {y:ℤ × ℕ+ratreal(x) ratreal(y)} )
BY
(Intro
   THEN Unhide
   THEN 1
   THEN RepUR ``ratreduce`` 0
   THEN (RWO "better-gcd-gcd" THENA Auto)
   THEN (Assert (|gcd(x1;x2)| x1) ∧ (|gcd(x1;x2)| x2) BY
               (RWO "absval-divides" THEN Auto))
   THEN MoveToConcl (-1)
   THEN (Assert 0 < |gcd(x1;x2)| BY
               (RWO "absval-positive" THEN Auto THEN BLemma  `gcd-non-zero` THEN Auto))
   THEN MoveToConcl (-1)
   THEN (GenConcl⌜gcd(x1;x2) g ∈ ℤ⌝⋅ THENA Auto)
   THEN Unfold `divides` 0
   THEN RepeatFor ((D THENA Auto))
   THEN ExRepD
   THEN (CallByValueReduce THENA Auto)
   THEN (Subst' x1 ÷ |g| c1 THENA (Auto THEN RWO "7" THEN Auto))
   THEN (Subst' x2 ÷ |g| THENA (Auto THEN RWO "9" THEN Auto))
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN (Assert c ∈ ℕ+ BY
               (MemTypeCD
                THEN Auto
                THEN (Assert 0 < |g| BY
                            Auto)
                THEN (RWO  "mul_positive_iff" (-1) ⋅ THENA Auto)
                THEN -1
                THEN Auto))) }

1
1. x1 : ℤ
2. x2 : ℕ+
3. : ℤ
4. gcd(x1;x2) g ∈ ℤ
5. 0 < |g|
6. c1 : ℤ
7. x1 (|g| c1) ∈ ℤ
8. : ℤ
9. x2 (|g| c) ∈ ℤ
10. c ∈ ℕ+
⊢ <c1, c> ∈ {y:ℤ × ℕ+ratreal(<x1, x2>ratreal(y)} 


Latex:


Latex:
\mforall{}[x:\mBbbZ{}  \mtimes{}  \mBbbN{}\msupplus{}].  (ratreduce(x)  \mmember{}  \{y:\mBbbZ{}  \mtimes{}  \mBbbN{}\msupplus{}|  ratreal(x)  =  ratreal(y)\}  )


By


Latex:
(Intro
  THEN  Unhide
  THEN  D  1
  THEN  RepUR  ``ratreduce``  0
  THEN  (RWO  "better-gcd-gcd"  0  THENA  Auto)
  THEN  (Assert  (|gcd(x1;x2)|  |  x1)  \mwedge{}  (|gcd(x1;x2)|  |  x2)  BY
                          (RWO  "absval-divides"  0  THEN  Auto))
  THEN  MoveToConcl  (-1)
  THEN  (Assert  0  <  |gcd(x1;x2)|  BY
                          (RWO  "absval-positive"  0  THEN  Auto  THEN  BLemma    `gcd-non-zero`  THEN  Auto))
  THEN  MoveToConcl  (-1)
  THEN  (GenConcl\mkleeneopen{}gcd(x1;x2)  =  g\mkleeneclose{}\mcdot{}  THENA  Auto)
  THEN  Unfold  `divides`  0
  THEN  RepeatFor  2  ((D  0  THENA  Auto))
  THEN  ExRepD
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  (Subst'  x1  \mdiv{}  |g|  \msim{}  c1  0  THENA  (Auto  THEN  RWO  "7"  0  THEN  Auto))
  THEN  (Subst'  x2  \mdiv{}  |g|  \msim{}  c  0  THENA  (Auto  THEN  RWO  "9"  0  THEN  Auto))
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  (Assert  c  \mmember{}  \mBbbN{}\msupplus{}  BY
                          (MemTypeCD
                            THEN  Auto
                            THEN  (Assert  0  <  c  *  |g|  BY
                                                    Auto)
                            THEN  (RWO    "mul\_positive\_iff"  (-1)  \mcdot{}  THENA  Auto)
                            THEN  D  -1
                            THEN  Auto)))




Home Index