Step
*
2
of Lemma
qrep_wf
1. a3 : ℤ
2. a4 : ℤ-o
3. a1 : ℤ
⊢ (a3 = (a1 * a4) ∈ ℤ)
⇒ (let g,a,b = gcd_reduce(a3;a4) in if 0 ≤z b then <a, b> else <-a, -b> fi  = <a1, 1> ∈ (ℤ × ℕ+))
BY
{ TACTIC:((RenameVar `z2' 1 THEN RenameVar `z3' 2 THEN RenameVar `z' 3)
          THEN (InstLemma `gcd_reduce_property` [⌜z2⌝;⌜z3⌝]⋅ THENA Auto)
          THEN (MoveToConcl (-1))
          THEN (GenConclAtAddr [1;1] THENA Auto)
          THEN (Thin (-1))
          THEN RepeatFor 2 (D -1)
          THEN RepUR ``spreadn`` 0
          THEN Auto) }
1
1. z2 : ℤ
2. z3 : ℤ-o
3. z : ℤ
4. v1 : ℕ
5. v3 : ℤ
6. v4 : ℤ
7. z2 = (v3 * v1) ∈ ℤ
8. z3 = (v4 * v1) ∈ ℤ
9. CoPrime(v3,v4)
10. (z2 * v4) = (v3 * z3) ∈ ℤ
11. z2 = (z * z3) ∈ ℤ
⊢ if 0 ≤z v4 then <v3, v4> else <-v3, -v4> fi  = <z, 1> ∈ (ℤ × ℕ+)
Latex:
Latex:
1.  a3  :  \mBbbZ{}
2.  a4  :  \mBbbZ{}\msupminus{}\msupzero{}
3.  a1  :  \mBbbZ{}
\mvdash{}  (a3  =  (a1  *  a4))
{}\mRightarrow{}  (let  g,a,b  =  gcd\_reduce(a3;a4)  in  if  0  \mleq{}z  b  then  <a,  b>  else  <-a,  -b>  fi    =  <a1,  1>)
By
Latex:
TACTIC:((RenameVar  `z2'  1  THEN  RenameVar  `z3'  2  THEN  RenameVar  `z'  3)
                THEN  (InstLemma  `gcd\_reduce\_property`  [\mkleeneopen{}z2\mkleeneclose{};\mkleeneopen{}z3\mkleeneclose{}]\mcdot{}  THENA  Auto)
                THEN  (MoveToConcl  (-1))
                THEN  (GenConclAtAddr  [1;1]  THENA  Auto)
                THEN  (Thin  (-1))
                THEN  RepeatFor  2  (D  -1)
                THEN  RepUR  ``spreadn``  0
                THEN  Auto)
Home
Index