Step
*
2
2
of Lemma
mul-ipoly-req
1. u : iMonomial()
2. v : iMonomial() List
3. q : iMonomial() List
4. ¬(q = [] ∈ (iMonomial() List))
⊢ ipolynomial-term(eager-accum(sofar,m.add-ipoly(sofar;mul-mono-poly(m;q));mul-mono-poly(u;q);v)) 
≡ ipolynomial-term([u / v]) (*) ipolynomial-term(q)
BY
{ (Thin (-1)
   THEN (RWO "ipolynomial-term-cons-req" 0 THENA Auto)
   THEN Assert ⌜(imonomial-term(u) (+) ipolynomial-term(v)) (*) ipolynomial-term(q) ≡ (imonomial-term(u)
                (*) ipolynomial-term(q))
                (+) (ipolynomial-term(v) (*) ipolynomial-term(q))⌝⋅) }
1
.....assertion..... 
1. u : iMonomial()
2. v : iMonomial() List
3. q : iMonomial() List
⊢ (imonomial-term(u) (+) ipolynomial-term(v)) (*) ipolynomial-term(q) ≡ (imonomial-term(u) (*) ipolynomial-term(q))
(+) (ipolynomial-term(v) (*) ipolynomial-term(q))
2
1. u : iMonomial()
2. v : iMonomial() List
3. q : iMonomial() List
4. (imonomial-term(u) (+) ipolynomial-term(v)) (*) ipolynomial-term(q) ≡ (imonomial-term(u) (*) ipolynomial-term(q))
(+) (ipolynomial-term(v) (*) ipolynomial-term(q))
⊢ ipolynomial-term(eager-accum(sofar,m.add-ipoly(sofar;mul-mono-poly(m;q));mul-mono-poly(u;q);v)) ≡ (imonomial-term(u)
(+) ipolynomial-term(v))
(*) ipolynomial-term(q)
Latex:
Latex:
1.  u  :  iMonomial()
2.  v  :  iMonomial()  List
3.  q  :  iMonomial()  List
4.  \mneg{}(q  =  [])
\mvdash{}  ipolynomial-term(eager-accum(sofar,m.add-ipoly(sofar;mul-mono-poly(m;q));mul-mono-poly(u;q);v)) 
\mequiv{}  ipolynomial-term([u  /  v])  (*)  ipolynomial-term(q)
By
Latex:
(Thin  (-1)
  THEN  (RWO  "ipolynomial-term-cons-req"  0  THENA  Auto)
  THEN  Assert  \mkleeneopen{}(imonomial-term(u)  (+)  ipolynomial-term(v))  (*)  ipolynomial-term(q) 
                            \mequiv{}  (imonomial-term(u)  (*)  ipolynomial-term(q))
                            (+)  (ipolynomial-term(v)  (*)  ipolynomial-term(q))\mkleeneclose{}\mcdot{})
Home
Index