Step
*
of Lemma
mul-ipoly-equiv
∀[p,q:iMonomial() List].  ipolynomial-term(mul-ipoly(p;q)) ≡ ipolynomial-term(p) (*) ipolynomial-term(q)
BY
{ (Auto THEN D 1 THEN Unfold `mul-ipoly` 0 THEN (CallByValueReduce 0 THENA Auto) THEN Reduce 0) }
1
1. q : iMonomial() List
⊢ ipolynomial-term([]) ≡ ipolynomial-term([]) (*) ipolynomial-term(q)
2
1. u : iMonomial()
2. v : iMonomial() List
3. q : iMonomial() List
⊢ ipolynomial-term(let qq ⟵ q
                   in if null(qq)
                   then []
                   else eager-accum(sofar,m.add-ipoly(sofar;mul-mono-poly(m;qq));mul-mono-poly(u;qq);v)
                   fi ) ≡ ipolynomial-term([u / v]) (*) ipolynomial-term(q)
Latex:
Latex:
\mforall{}[p,q:iMonomial()  List].
    ipolynomial-term(mul-ipoly(p;q))  \mequiv{}  ipolynomial-term(p)  (*)  ipolynomial-term(q)
By
Latex:
(Auto  THEN  D  1  THEN  Unfold  `mul-ipoly`  0  THEN  (CallByValueReduce  0  THENA  Auto)  THEN  Reduce  0)
Home
Index