Step
*
1
2
1
2
2
2
2
1
of Lemma
satisfies-gcd-reduce-ineq-constraints
1. n : ℕ+
2. v : ℤ List
3. (||v|| + 1) = n ∈ ℤ
4. u : ℤ
5. u1 : ℤ
6. v3 : ℤ List
7. ((||v3|| + 1) + 1) = n ∈ ℤ
8. v1 : {L:ℤ List| ||L|| = n ∈ ℤ}  List
9. ∀sat:{L:ℤ List| ||L|| = n ∈ ℤ}  List
     ((∀as∈sat.[1 / v] ⋅ as ≥0)
     
⇒ (∀as∈v1.[1 / v] ⋅ as ≥0)
     
⇒ ((↑isl(gcd-reduce-ineq-constraints(sat;v1))) ∧ (∀as∈outl(gcd-reduce-ineq-constraints(sat;v1)).[1 / v] ⋅ as ≥0)))
10. sat : {L:ℤ List| ||L|| = n ∈ ℤ}  List
11. (∀as∈sat.[1 / v] ⋅ as ≥0)
12. (∀as∈[[u; [u1 / v3]] / v1].[1 / v] ⋅ as ≥0)
13. gg : ℤ
14. |gcd-list([u1 / v3])| = gg ∈ ℤ
15. 1 < gg
⊢ (↑isl(gcd-reduce-ineq-constraints([[u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] / sat];v1)))
∧ (∀as∈outl(gcd-reduce-ineq-constraints([[u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] / sat];v1)).[1 / v] ⋅ as ≥0)
BY
{ ((RWO "l_all_cons" (-4) THENA Auto)
   THEN (ExRepD THEN (Assert [u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] ∈ {L:ℤ List| ||L|| = n ∈ ℤ}  BY (MemTypeCD THEN \000CAll Reduce THEN Auto)))
   THEN (InstHyp [⌜[[u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] / sat]⌝] 9⋅ THEN Auto)
   THEN BLemma `l_all_cons`
   THEN Auto
   THEN D 0) }
1
1. n : ℕ+
2. v : ℤ List
3. (||v|| + 1) = n ∈ ℤ
4. u : ℤ
5. u1 : ℤ
6. v3 : ℤ List
7. ((||v3|| + 1) + 1) = n ∈ ℤ
8. v1 : {L:ℤ List| ||L|| = n ∈ ℤ}  List
9. ∀sat:{L:ℤ List| ||L|| = n ∈ ℤ}  List
     ((∀as∈sat.[1 / v] ⋅ as ≥0)
     
⇒ (∀as∈v1.[1 / v] ⋅ as ≥0)
     
⇒ ((↑isl(gcd-reduce-ineq-constraints(sat;v1))) ∧ (∀as∈outl(gcd-reduce-ineq-constraints(sat;v1)).[1 / v] ⋅ as ≥0)))
10. sat : {L:ℤ List| ||L|| = n ∈ ℤ}  List
11. (∀as∈sat.[1 / v] ⋅ as ≥0)
12. [1 / v] ⋅ [u; [u1 / v3]] ≥0
13. (∀as∈v1.[1 / v] ⋅ as ≥0)
14. gg : ℤ
15. |gcd-list([u1 / v3])| = gg ∈ ℤ
16. 1 < gg
17. [u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] ∈ {L:ℤ List| ||L|| = n ∈ ℤ} 
⊢ ||[1 / v]|| = ||[u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]]|| ∈ ℤ
2
1. n : ℕ+
2. v : ℤ List
3. (||v|| + 1) = n ∈ ℤ
4. u : ℤ
5. u1 : ℤ
6. v3 : ℤ List
7. ((||v3|| + 1) + 1) = n ∈ ℤ
8. v1 : {L:ℤ List| ||L|| = n ∈ ℤ}  List
9. ∀sat:{L:ℤ List| ||L|| = n ∈ ℤ}  List
     ((∀as∈sat.[1 / v] ⋅ as ≥0)
     
⇒ (∀as∈v1.[1 / v] ⋅ as ≥0)
     
⇒ ((↑isl(gcd-reduce-ineq-constraints(sat;v1))) ∧ (∀as∈outl(gcd-reduce-ineq-constraints(sat;v1)).[1 / v] ⋅ as ≥0)))
10. sat : {L:ℤ List| ||L|| = n ∈ ℤ}  List
11. (∀as∈sat.[1 / v] ⋅ as ≥0)
12. [1 / v] ⋅ [u; [u1 / v3]] ≥0
13. (∀as∈v1.[1 / v] ⋅ as ≥0)
14. gg : ℤ
15. |gcd-list([u1 / v3])| = gg ∈ ℤ
16. 1 < gg
17. [u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] ∈ {L:ℤ List| ||L|| = n ∈ ℤ} 
⊢ 0 < ||[1 / v]|| ∧ (hd([1 / v]) = 1 ∈ ℤ) ∧ ([u ÷↓ gg; [u1 ÷ gg / map(λx.(x ÷ gg);v3)]] ⋅ [1 / v] ≥ 0 )
Latex:
Latex:
1.  n  :  \mBbbN{}\msupplus{}
2.  v  :  \mBbbZ{}  List
3.  (||v||  +  1)  =  n
4.  u  :  \mBbbZ{}
5.  u1  :  \mBbbZ{}
6.  v3  :  \mBbbZ{}  List
7.  ((||v3||  +  1)  +  1)  =  n
8.  v1  :  \{L:\mBbbZ{}  List|  ||L||  =  n\}    List
9.  \mforall{}sat:\{L:\mBbbZ{}  List|  ||L||  =  n\}    List
          ((\mforall{}as\mmember{}sat.[1  /  v]  \mcdot{}  as  \mgeq{}0)
          {}\mRightarrow{}  (\mforall{}as\mmember{}v1.[1  /  v]  \mcdot{}  as  \mgeq{}0)
          {}\mRightarrow{}  ((\muparrow{}isl(gcd-reduce-ineq-constraints(sat;v1)))
                \mwedge{}  (\mforall{}as\mmember{}outl(gcd-reduce-ineq-constraints(sat;v1)).[1  /  v]  \mcdot{}  as  \mgeq{}0)))
10.  sat  :  \{L:\mBbbZ{}  List|  ||L||  =  n\}    List
11.  (\mforall{}as\mmember{}sat.[1  /  v]  \mcdot{}  as  \mgeq{}0)
12.  (\mforall{}as\mmember{}[[u;  [u1  /  v3]]  /  v1].[1  /  v]  \mcdot{}  as  \mgeq{}0)
13.  gg  :  \mBbbZ{}
14.  |gcd-list([u1  /  v3])|  =  gg
15.  1  <  gg
\mvdash{}  (\muparrow{}isl(gcd-reduce-ineq-constraints([[u  \mdiv{}\mdownarrow{}  gg;  [u1  \mdiv{}  gg  /  map(\mlambda{}x.(x  \mdiv{}  gg);v3)]]  /  sat];v1)))
\mwedge{}  (\mforall{}as\mmember{}outl(gcd-reduce-ineq-constraints([[u  \mdiv{}\mdownarrow{}  gg;  [u1  \mdiv{}  gg  /  map(\mlambda{}x.(x  \mdiv{}  gg);v3)]]  /  sat];v1)).
            [1  /  v]  \mcdot{}  as  \mgeq{}0)
By
Latex:
((RWO  "l\_all\_cons"  (-4)  THENA  Auto)
  THEN  (ExRepD  THEN  (Assert  [u  \mdiv{}\mdownarrow{}  gg;  [u1  \mdiv{}  gg  /  map(\mlambda{}x.(x  \mdiv{}  gg);v3)]]  \mmember{}  \{L:\mBbbZ{}  List|  ||L||  =  n\}    BY  (M\000CemTypeCD  THEN  All  Reduce  THEN  Auto)))
  THEN  (InstHyp  [\mkleeneopen{}[[u  \mdiv{}\mdownarrow{}  gg;  [u1  \mdiv{}  gg  /  map(\mlambda{}x.(x  \mdiv{}  gg);v3)]]  /  sat]\mkleeneclose{}]  9\mcdot{}  THEN  Auto)
  THEN  BLemma  `l\_all\_cons`
  THEN  Auto
  THEN  D  0)
Home
Index