Step
*
2
2
of Lemma
unsat-omega_step
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
5. ¬if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
6. ¬(n = 0 ∈ ℤ)
7. xs : ℤ List
8. x1 : (∀as∈eqs.xs ⋅ as =0)
9. x2 : (∀bs∈ineqs.xs ⋅ bs ≥0)
10. 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 ∈ ℤ} ?
11. y : 0 = 0 ∈ ℤ
12. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr Ax )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
⊢ unsat(inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>)
⇒ False
BY
{ xxx(InstLemma `satisfiable-elim-eq-constraints` [⌜eqs⌝;⌜ineqs⌝;⌜xs⌝]⋅ THENA Auto)xxx }
1
.....antecedent.....
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
5. ¬if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
6. ¬(n = 0 ∈ ℤ)
7. xs : ℤ List
8. x1 : (∀as∈eqs.xs ⋅ as =0)
9. x2 : (∀bs∈ineqs.xs ⋅ bs ≥0)
10. 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 ∈ ℤ} ?
11. y : 0 = 0 ∈ ℤ
12. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr Ax )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
⊢ satisfies-integer-problem(eqs;ineqs;xs)
2
1. n : ℕ
2. eqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
3. ¬(eqs = [] ∈ ({L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List))
4. ineqs : {L:ℤ List| ||L|| = (n + 1) ∈ ℤ} List
5. ¬if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
6. ¬(n = 0 ∈ ℤ)
7. xs : ℤ List
8. x1 : (∀as∈eqs.xs ⋅ as =0)
9. x2 : (∀bs∈ineqs.xs ⋅ bs ≥0)
10. 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 ∈ ℤ} ?
11. y : 0 = 0 ∈ ℤ
12. first-success(λL.find-exact-eq-constraint(L);eqs)
= (inr Ax )
∈ (i:ℕ||eqs|| × x:{x:ℤ List| x = eqs[i] ∈ (ℤ List)} × {i@0:ℕ+||eqs[i]||| |eqs[i][i@0]| = 1 ∈ ℤ} ?)
13. satisfies-integer-problem([];(eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs;xs)
⊢ unsat(inl <[], (eager-map(λeq.eager-map(λx.(-x);eq);eqs) @ eqs) @ ineqs>)
⇒ False
Latex:
Latex:
1. n : \mBbbN{}
2. eqs : \{L:\mBbbZ{} List| ||L|| = (n + 1)\} List
3. \mneg{}(eqs = [])
4. ineqs : \{L:\mBbbZ{} List| ||L|| = (n + 1)\} List
5. \mneg{}if eqs = Ax then if ineqs = Ax then 0 otherwise ||hd(ineqs)|| - 1 otherwise ||hd(eqs)|| - 1 < 1
6. \mneg{}(n = 0)
7. xs : \mBbbZ{} List
8. x1 : (\mforall{}as\mmember{}eqs.xs \mcdot{} as =0)
9. x2 : (\mforall{}bs\mmember{}ineqs.xs \mcdot{} bs \mgeq{}0)
10. 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\} ?
11. y : 0 = 0
12. first-success(\mlambda{}L.find-exact-eq-constraint(L);eqs) = (inr Ax )
\mvdash{} unsat(inl <[], (eager-map(\mlambda{}eq.eager-map(\mlambda{}x.(-x);eq);eqs) @ eqs) @ ineqs>) {}\mRightarrow{} False
By
Latex:
xxx(InstLemma `satisfiable-elim-eq-constraints` [\mkleeneopen{}eqs\mkleeneclose{};\mkleeneopen{}ineqs\mkleeneclose{};\mkleeneopen{}xs\mkleeneclose{}]\mcdot{} THENA Auto)xxx
Home
Index