Step
*
1
2
2
2
1
2
1
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. u : iMonomial()
5. v : iMonomial() List
6. u1 : iMonomial()
7. ¬↑imonomial-le(u1;u)
8. v1 : iMonomial() List
9. ||[u / v]|| + ||[u1 / v1]|| < n
10. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
11. ∀i:ℕ||[u1 / v1]||. ∀j:ℕi.  imonomial-less([u1 / v1][j];[u1 / v1][i])
12. ↑imonomial-le(u;u1)
13. ↓∀i:ℕ||add-ipoly(v;[u1 / v1])||. ∀j:ℕi.  imonomial-less(add-ipoly(v;[u1 / v1])[j];add-ipoly(v;[u1 / v1])[i])
⊢ ↓∀i:ℕ||[u / add-ipoly(v;[u1 / v1])]||. ∀j:ℕi.
     imonomial-less([u / add-ipoly(v;[u1 / v1])][j];[u / add-ipoly(v;[u1 / v1])][i])
BY
{ TACTIC:((D -1 THEN D 0) THEN Auto THEN Assert ⌜imonomial-less(u;add-ipoly(v;[u1 / 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. u : iMonomial()
5. v : iMonomial() List
6. u1 : iMonomial()
7. ¬↑imonomial-le(u1;u)
8. v1 : iMonomial() List
9. ||[u / v]|| + ||[u1 / v1]|| < n
10. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
11. ∀i:ℕ||[u1 / v1]||. ∀j:ℕi.  imonomial-less([u1 / v1][j];[u1 / v1][i])
12. ↑imonomial-le(u;u1)
13. ∀i:ℕ||add-ipoly(v;[u1 / v1])||. ∀j:ℕi.  imonomial-less(add-ipoly(v;[u1 / v1])[j];add-ipoly(v;[u1 / v1])[i])
14. i : ℕ||[u / add-ipoly(v;[u1 / v1])]||@i
15. j : ℕi@i
⊢ imonomial-less(u;add-ipoly(v;[u1 / 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. u : iMonomial()
5. v : iMonomial() List
6. u1 : iMonomial()
7. ¬↑imonomial-le(u1;u)
8. v1 : iMonomial() List
9. ||[u / v]|| + ||[u1 / v1]|| < n
10. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
11. ∀i:ℕ||[u1 / v1]||. ∀j:ℕi.  imonomial-less([u1 / v1][j];[u1 / v1][i])
12. ↑imonomial-le(u;u1)
13. ∀i:ℕ||add-ipoly(v;[u1 / v1])||. ∀j:ℕi.  imonomial-less(add-ipoly(v;[u1 / v1])[j];add-ipoly(v;[u1 / v1])[i])
14. i : ℕ||[u / add-ipoly(v;[u1 / v1])]||@i
15. j : ℕi@i
16. imonomial-less(u;add-ipoly(v;[u1 / v1])[0])
⊢ imonomial-less([u / add-ipoly(v;[u1 / v1])][j];[u / add-ipoly(v;[u1 / 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.  u  :  iMonomial()
5.  v  :  iMonomial()  List
6.  u1  :  iMonomial()
7.  \mneg{}\muparrow{}imonomial-le(u1;u)
8.  v1  :  iMonomial()  List
9.  ||[u  /  v]||  +  ||[u1  /  v1]||  <  n
10.  \mforall{}i:\mBbbN{}||[u  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u  /  v][j];[u  /  v][i])
11.  \mforall{}i:\mBbbN{}||[u1  /  v1]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u1  /  v1][j];[u1  /  v1][i])
12.  \muparrow{}imonomial-le(u;u1)
13.  \mdownarrow{}\mforall{}i:\mBbbN{}||add-ipoly(v;[u1  /  v1])||.  \mforall{}j:\mBbbN{}i.
              imonomial-less(add-ipoly(v;[u1  /  v1])[j];add-ipoly(v;[u1  /  v1])[i])
\mvdash{}  \mdownarrow{}\mforall{}i:\mBbbN{}||[u  /  add-ipoly(v;[u1  /  v1])]||.  \mforall{}j:\mBbbN{}i.
          imonomial-less([u  /  add-ipoly(v;[u1  /  v1])][j];[u  /  add-ipoly(v;[u1  /  v1])][i])
By
Latex:
TACTIC:((D  -1  THEN  D  0)  THEN  Auto  THEN  Assert  \mkleeneopen{}imonomial-less(u;add-ipoly(v;[u1  /  v1])[0])\mkleeneclose{}\mcdot{})
Home
Index