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