Step
*
2
of Lemma
mul-ipoly_wf
1. u : iMonomial()
2. v : iMonomial() List
3. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
4. q : iPolynomial()
⊢ let qq ⟵ q
  in if null(qq)
  then []
  else accumulate (with value sofar and list item m):
        add-ipoly(sofar;mul-mono-poly(m;qq))
       over list:
         v
       with starting value:
        mul-mono-poly(u;qq))
  fi  ∈ iPolynomial()
BY
{ Assert ⌜v ∈ iPolynomial()⌝⋅ }
1
.....assertion..... 
1. u : iMonomial()
2. v : iMonomial() List
3. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
4. q : iPolynomial()
⊢ v ∈ iPolynomial()
2
1. u : iMonomial()
2. v : iMonomial() List
3. ∀i:ℕ||[u / v]||. ∀j:ℕi.  imonomial-less([u / v][j];[u / v][i])
4. q : iPolynomial()
5. v ∈ iPolynomial()
⊢ let qq ⟵ q
  in if null(qq)
  then []
  else accumulate (with value sofar and list item m):
        add-ipoly(sofar;mul-mono-poly(m;qq))
       over list:
         v
       with starting value:
        mul-mono-poly(u;qq))
  fi  ∈ iPolynomial()
Latex:
Latex:
1.  u  :  iMonomial()
2.  v  :  iMonomial()  List
3.  \mforall{}i:\mBbbN{}||[u  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u  /  v][j];[u  /  v][i])
4.  q  :  iPolynomial()
\mvdash{}  let  qq  \mleftarrow{}{}  q
    in  if  null(qq)
    then  []
    else  accumulate  (with  value  sofar  and  list  item  m):
                add-ipoly(sofar;mul-mono-poly(m;qq))
              over  list:
                  v
              with  starting  value:
                mul-mono-poly(u;qq))
    fi    \mmember{}  iPolynomial()
By
Latex:
Assert  \mkleeneopen{}v  \mmember{}  iPolynomial()\mkleeneclose{}\mcdot{}
Home
Index