Step
*
1
2
2
2
1
1
2
of Lemma
add-ipoly_wf
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1
     
⇒ (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
     
⇒ (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
     
⇒ (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. u2 : ℤ-o
5. u3 : {vs:ℤ List| sorted(vs)} 
6. v : iMonomial() List
7. u4 : ℤ-o
8. u2 + u4 ≠ 0
9. u5 : {vs:ℤ List| sorted(vs)} 
10. v1 : iMonomial() List
11. ||[<u2, u3> / v]|| + ||[<u4, u5> / v1]|| < n
12. ∀i:ℕ||[<u2, u3> / v]||. ∀j:ℕi.  imonomial-less([<u2, u3> / v][j];[<u2, u3> / v][i])
13. ∀i:ℕ||[<u4, u5> / v1]||. ∀j:ℕi.  imonomial-less([<u4, u5> / v1][j];[<u4, u5> / v1][i])
14. ↑imonomial-le(<u2, u3><u4, u5>)
15. ↑imonomial-le(<u4, u5><u2, u3>)
16. ↓∀i:ℕ||add-ipoly(v;v1)||. ∀j:ℕi.  imonomial-less(add-ipoly(v;v1)[j];add-ipoly(v;v1)[i])
⊢ ↓∀i:ℕ||add-ipoly(v;v1)|| + 1. ∀j:ℕi.
     imonomial-less([<u2 + u4, u3> / add-ipoly(v;v1)][j];[<u2 + u4, u3> / add-ipoly(v;v1)][i])
BY
{ TACTIC:((D -1 THEN D 0) THEN Auto THEN Assert ⌜imonomial-less(<u2 + u4, u3>add-ipoly(v;v1)[0])⌝⋅) }
1
.....assertion..... 
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1
     
⇒ (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
     
⇒ (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
     
⇒ (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. u2 : ℤ-o
5. u3 : {vs:ℤ List| sorted(vs)} 
6. v : iMonomial() List
7. u4 : ℤ-o
8. u2 + u4 ≠ 0
9. u5 : {vs:ℤ List| sorted(vs)} 
10. v1 : iMonomial() List
11. ||[<u2, u3> / v]|| + ||[<u4, u5> / v1]|| < n
12. ∀i:ℕ||[<u2, u3> / v]||. ∀j:ℕi.  imonomial-less([<u2, u3> / v][j];[<u2, u3> / v][i])
13. ∀i:ℕ||[<u4, u5> / v1]||. ∀j:ℕi.  imonomial-less([<u4, u5> / v1][j];[<u4, u5> / v1][i])
14. ↑imonomial-le(<u2, u3><u4, u5>)
15. ↑imonomial-le(<u4, u5><u2, u3>)
16. ∀i:ℕ||add-ipoly(v;v1)||. ∀j:ℕi.  imonomial-less(add-ipoly(v;v1)[j];add-ipoly(v;v1)[i])
17. i : ℕ||add-ipoly(v;v1)|| + 1@i
18. j : ℕi@i
⊢ imonomial-less(<u2 + u4, u3>add-ipoly(v;v1)[0])
2
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1
     
⇒ (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
     
⇒ (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
     
⇒ (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. u2 : ℤ-o
5. u3 : {vs:ℤ List| sorted(vs)} 
6. v : iMonomial() List
7. u4 : ℤ-o
8. u2 + u4 ≠ 0
9. u5 : {vs:ℤ List| sorted(vs)} 
10. v1 : iMonomial() List
11. ||[<u2, u3> / v]|| + ||[<u4, u5> / v1]|| < n
12. ∀i:ℕ||[<u2, u3> / v]||. ∀j:ℕi.  imonomial-less([<u2, u3> / v][j];[<u2, u3> / v][i])
13. ∀i:ℕ||[<u4, u5> / v1]||. ∀j:ℕi.  imonomial-less([<u4, u5> / v1][j];[<u4, u5> / v1][i])
14. ↑imonomial-le(<u2, u3><u4, u5>)
15. ↑imonomial-le(<u4, u5><u2, u3>)
16. ∀i:ℕ||add-ipoly(v;v1)||. ∀j:ℕi.  imonomial-less(add-ipoly(v;v1)[j];add-ipoly(v;v1)[i])
17. i : ℕ||add-ipoly(v;v1)|| + 1@i
18. j : ℕi@i
19. imonomial-less(<u2 + u4, u3>add-ipoly(v;v1)[0])
⊢ imonomial-less([<u2 + u4, u3> / add-ipoly(v;v1)][j];[<u2 + u4, u3> / add-ipoly(v;v1)][i])
Latex:
Latex:
1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}p,q:iMonomial()  List.
          (||p||  +  ||q||  <  n  -  1
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||p||.  \mforall{}j:\mBbbN{}i.    imonomial-less(p[j];p[i]))
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||q||.  \mforall{}j:\mBbbN{}i.    imonomial-less(q[j];q[i]))
          {}\mRightarrow{}  (\mdownarrow{}\mforall{}i:\mBbbN{}||add-ipoly(p;q)||.  \mforall{}j:\mBbbN{}i.    imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4.  u2  :  \mBbbZ{}\msupminus{}\msupzero{}
5.  u3  :  \{vs:\mBbbZ{}  List|  sorted(vs)\} 
6.  v  :  iMonomial()  List
7.  u4  :  \mBbbZ{}\msupminus{}\msupzero{}
8.  u2  +  u4  \mneq{}  0
9.  u5  :  \{vs:\mBbbZ{}  List|  sorted(vs)\} 
10.  v1  :  iMonomial()  List
11.  ||[<u2,  u3>  /  v]||  +  ||[<u4,  u5>  /  v1]||  <  n
12.  \mforall{}i:\mBbbN{}||[<u2,  u3>  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([<u2,  u3>  /  v][j];[<u2,  u3>  /  v][i])
13.  \mforall{}i:\mBbbN{}||[<u4,  u5>  /  v1]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([<u4,  u5>  /  v1][j];[<u4,  u5>  /  v1][i])
14.  \muparrow{}imonomial-le(<u2,  u3><u4,  u5>)
15.  \muparrow{}imonomial-le(<u4,  u5><u2,  u3>)
16.  \mdownarrow{}\mforall{}i:\mBbbN{}||add-ipoly(v;v1)||.  \mforall{}j:\mBbbN{}i.    imonomial-less(add-ipoly(v;v1)[j];add-ipoly(v;v1)[i])
\mvdash{}  \mdownarrow{}\mforall{}i:\mBbbN{}||add-ipoly(v;v1)||  +  1.  \mforall{}j:\mBbbN{}i.
          imonomial-less([<u2  +  u4,  u3>  /  add-ipoly(v;v1)][j];[<u2  +  u4,  u3>  /  add-ipoly(v;v1)][i])
By
Latex:
TACTIC:((D  -1  THEN  D  0)  THEN  Auto  THEN  Assert  \mkleeneopen{}imonomial-less(<u2  +  u4,  u3>add-ipoly(v;v1)[0])\mkleeneclose{}\mcdot{})
Home
Index