Step
*
1
of Lemma
unsat-omega_step
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
4. ¬if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
5. ¬(n = 0 ∈ ℤ)
6. xs : ℤ List
7. x1 : (∀as∈eqs.xs ⋅ as =0)
8. x2 : (∀bs∈ineqs.xs ⋅ bs ≥0)
9. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
10. i : ℕ||eqs||
11. x : {x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
12. x4 : {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} 
13. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inl <i, x, x4>)
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
⊢ unsat(case gcd-reduce-eq-constraints([];exact-reduce-constraints(x;x4;eqs))
 of inl(eqs') =>
 case gcd-reduce-ineq-constraints([];exact-reduce-constraints(x;x4;ineqs))
  of inl(ineqs') =>
  inl <eqs', ineqs'>
  | inr(x) =>
  inr x 
 | inr(x) =>
 inr x )
⇒ False
BY
{ xxx((Subst' x = eqs[i] ∈ (ℤ List) 0 THENA Auto)
      THEN (Assert |x[x4]| = 1 ∈ ℤ BY
                  (DSetVars THEN Subst' x = eqs[i] ∈ (ℤ List) 0 THEN Auto))
      )xxx }
1
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
3. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ}  List
4. ¬if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
5. ¬(n = 0 ∈ ℤ)
6. xs : ℤ List
7. x1 : (∀as∈eqs.xs ⋅ as =0)
8. x2 : (∀bs∈ineqs.xs ⋅ bs ≥0)
9. first-success(λL.find-exact-eq-constraint(L);eqs) ∈ i:ℕ||eqs||
   × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
   × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?
10. i : ℕ||eqs||
11. x : {x:ℤ List| x = eqs[i] ∈ (ℤ List)} 
12. x4 : {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} 
13. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inl <i, x, x4>)
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)}  × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
14. |x[x4]| = 1 ∈ ℤ
⊢ unsat(case gcd-reduce-eq-constraints([];exact-reduce-constraints(eqs[i];x4;eqs))
 of inl(eqs') =>
 case gcd-reduce-ineq-constraints([];exact-reduce-constraints(eqs[i];x4;ineqs))
  of inl(ineqs') =>
  inl <eqs', ineqs'>
  | inr(x) =>
  inr x 
 | inr(x) =>
 inr x )
⇒ False
Latex:
Latex:
1.  n  :  \mBbbN{}
2.  eqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
3.  ineqs  :  \{L:\mBbbZ{}  List|  ||L||  =  (n  +  1)\}    List
4.  \mneg{}if  eqs  =  Ax  then  if  ineqs  =  Ax  then  0  otherwise  ||hd(ineqs)||  -  1  otherwise  ||hd(eqs)||  -  1  <  1
5.  \mneg{}(n  =  0)
6.  xs  :  \mBbbZ{}  List
7.  x1  :  (\mforall{}as\mmember{}eqs.xs  \mcdot{}  as  =0)
8.  x2  :  (\mforall{}bs\mmember{}ineqs.xs  \mcdot{}  bs  \mgeq{}0)
9.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  \mmember{}  i:\mBbbN{}||eqs||
      \mtimes{}  x:\{x:\mBbbZ{}  List|  x  =  eqs[i]\} 
      \mtimes{}  \{i@0:\mBbbN{}\msupplus{}||eqs[i]|||  |eqs[i][i@0]|  =  1\}  ?
10.  i  :  \mBbbN{}||eqs||
11.  x  :  \{x:\mBbbZ{}  List|  x  =  eqs[i]\} 
12.  x4  :  \{i@0:\mBbbN{}\msupplus{}||eqs[i]|||  |eqs[i][i@0]|  =  1\} 
13.  first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs)  =  (inl  <i,  x,  x4>)
\mvdash{}  unsat(case  gcd-reduce-eq-constraints([];exact-reduce-constraints(x;x4;eqs))
  of  inl(eqs')  =>
  case  gcd-reduce-ineq-constraints([];exact-reduce-constraints(x;x4;ineqs))
    of  inl(ineqs')  =>
    inl  <eqs',  ineqs'>
    |  inr(x)  =>
    inr  x 
  |  inr(x)  =>
  inr  x  )
{}\mRightarrow{}  False
By
Latex:
xxx((Subst'  x  =  eqs[i]  0  THENA  Auto)
        THEN  (Assert  |x[x4]|  =  1  BY
                                (DSetVars  THEN  Subst'  x  =  eqs[i]  0  THEN  Auto))
        )xxx
Home
Index