Step
*
1
of Lemma
satisfiable-exact-reduce-constraints
1. eqs : ℤ List List
2. i : ℕ||eqs||
3. j : ℕ+||eqs[i]||
4. exact-eq-constraint(eqs;i;j)
5. ineqs : ℤ List List
6. xs : ℤ List
7. satisfies-integer-problem(eqs;ineqs;xs)
8. (∀e∈eqs.||e|| = ||xs|| ∈ ℤ)
9. (∀e∈ineqs.||e|| = ||xs|| ∈ ℤ)
10. ||eqs[i]|| ~ ||xs||
11. eqs ∈ {l:ℤ List| ||l|| = ||eqs[i]|| ∈ ℤ}  List
12. ineqs ∈ {l:ℤ List| ||l|| = ||eqs[i]|| ∈ ℤ}  List
⊢ satisfiable(exact-reduce-constraints(eqs[i];j;eqs);exact-reduce-constraints(eqs[i];j;ineqs))
BY
{ TACTIC:((Assert 1 ≤ j < ||xs|| BY
                 (DVar `j' THEN Auto))
          THEN (Assert 0 < ||xs\j|| BY
                      (RWO "length-list-delete" 0 THEN Auto))
          THEN (Assert hd(xs\j) = hd(xs) ∈ ℤ BY
                      (DVar `xs'
                       THEN Reduce (-2)
                       THEN D -2
                       THEN Auto
                       THEN RecUnfold `list-delete` 0
                       THEN Reduce 0
                       THEN AutoSplit))) }
1
1. eqs : ℤ List List
2. i : ℕ||eqs||
3. j : ℕ+||eqs[i]||
4. exact-eq-constraint(eqs;i;j)
5. ineqs : ℤ List List
6. xs : ℤ List
7. satisfies-integer-problem(eqs;ineqs;xs)
8. (∀e∈eqs.||e|| = ||xs|| ∈ ℤ)
9. (∀e∈ineqs.||e|| = ||xs|| ∈ ℤ)
10. ||eqs[i]|| ~ ||xs||
11. eqs ∈ {l:ℤ List| ||l|| = ||eqs[i]|| ∈ ℤ}  List
12. ineqs ∈ {l:ℤ List| ||l|| = ||eqs[i]|| ∈ ℤ}  List
13. 1 ≤ j < ||xs||
14. 0 < ||xs\j||
15. hd(xs\j) = hd(xs) ∈ ℤ
⊢ satisfiable(exact-reduce-constraints(eqs[i];j;eqs);exact-reduce-constraints(eqs[i];j;ineqs))
Latex:
Latex:
1.  eqs  :  \mBbbZ{}  List  List
2.  i  :  \mBbbN{}||eqs||
3.  j  :  \mBbbN{}\msupplus{}||eqs[i]||
4.  exact-eq-constraint(eqs;i;j)
5.  ineqs  :  \mBbbZ{}  List  List
6.  xs  :  \mBbbZ{}  List
7.  satisfies-integer-problem(eqs;ineqs;xs)
8.  (\mforall{}e\mmember{}eqs.||e||  =  ||xs||)
9.  (\mforall{}e\mmember{}ineqs.||e||  =  ||xs||)
10.  ||eqs[i]||  \msim{}  ||xs||
11.  eqs  \mmember{}  \{l:\mBbbZ{}  List|  ||l||  =  ||eqs[i]||\}    List
12.  ineqs  \mmember{}  \{l:\mBbbZ{}  List|  ||l||  =  ||eqs[i]||\}    List
\mvdash{}  satisfiable(exact-reduce-constraints(eqs[i];j;eqs);exact-reduce-constraints(eqs[i];j;ineqs))
By
Latex:
TACTIC:((Assert  1  \mleq{}  j  <  ||xs||  BY
                              (DVar  `j'  THEN  Auto))
                THEN  (Assert  0  <  ||xs\mbackslash{}j||  BY
                                        (RWO  "length-list-delete"  0  THEN  Auto))
                THEN  (Assert  hd(xs\mbackslash{}j)  =  hd(xs)  BY
                                        (DVar  `xs'
                                          THEN  Reduce  (-2)
                                          THEN  D  -2
                                          THEN  Auto
                                          THEN  RecUnfold  `list-delete`  0
                                          THEN  Reduce  0
                                          THEN  AutoSplit)))
Home
Index