Step
*
1
1
of Lemma
mul-mono-poly_wf
1. m : iMonomial()
2. p : iMonomial() List
⊢ (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
⇒ (∀i:ℕ||mul-mono-poly(m;p)||. ∀j:ℕi.  imonomial-less(mul-mono-poly(m;p)[j];mul-mono-poly(m;p)[i]))
BY
{ (ListInd 2 THEN Unfold `mul-mono-poly` 0 THEN Reduce 0 THEN Try (Fold `mul-mono-poly` 0)) }
1
1. m : iMonomial()
⊢ (∀i:ℕ0. ∀j:ℕi.  imonomial-less(⊥;⊥)) 
⇒ (∀i:ℕ0. ∀j:ℕi.  imonomial-less(⊥;⊥))
2
1. m : iMonomial()
2. u : iMonomial()
3. v : iMonomial() List
4. (∀i:ℕ||v||. ∀j:ℕi.  imonomial-less(v[j];v[i]))
⇒ (∀i:ℕ||mul-mono-poly(m;v)||. ∀j:ℕi.  imonomial-less(mul-mono-poly(m;v)[j];mul-mono-poly(m;v)[i]))
⊢ (∀i:ℕ||v|| + 1. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i]))
⇒ (∀i:ℕ||let m@0 ⟵ mul-monomials(m;u)
          in let l ⟵ mul-mono-poly(m;v)
             in [m@0 / l]||. ∀j:ℕi.
      imonomial-less(let m@0 ⟵ mul-monomials(m;u)
                     in let l ⟵ mul-mono-poly(m;v)
                        in [m@0 / l][j];let m@0 ⟵ mul-monomials(m;u)
                                        in let l ⟵ mul-mono-poly(m;v)
                                           in [m@0 / l][i]))
Latex:
Latex:
1.  m  :  iMonomial()
2.  p  :  iMonomial()  List
\mvdash{}  (\mforall{}i:\mBbbN{}||p||.  \mforall{}j:\mBbbN{}i.    imonomial-less(p[j];p[i]))
{}\mRightarrow{}  (\mforall{}i:\mBbbN{}||mul-mono-poly(m;p)||.  \mforall{}j:\mBbbN{}i.    imonomial-less(mul-mono-poly(m;p)[j];mul-mono-poly(m;p)[i]))
By
Latex:
(ListInd  2  THEN  Unfold  `mul-mono-poly`  0  THEN  Reduce  0  THEN  Try  (Fold  `mul-mono-poly`  0))
Home
Index