Step
*
2
of Lemma
mul-ipoly-req
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)
BY
{ ((CallByValueReduce 0 THENA Auto) THEN AutoSplit) }
1
1. u : iMonomial()
2. v : iMonomial() List
3. q : iMonomial() List
4. q = [] ∈ (iMonomial() List)
⊢ ipolynomial-term([]) ≡ ipolynomial-term([u / v]) (*) ipolynomial-term(q)
2
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)
Latex:
Latex:
1.  u  :  iMonomial()
2.  v  :  iMonomial()  List
3.  q  :  iMonomial()  List
\mvdash{}  ipolynomial-term(let  qq  \mleftarrow{}{}  q
                                      in  if  null(qq)
                                      then  []
                                      else  eager-accum(sofar,m.add-ipoly(sofar;mul-mono-poly(m;qq));...;v)
                                      fi  )  \mequiv{}  ipolynomial-term([u  /  v])  (*)  ipolynomial-term(q)
By
Latex:
((CallByValueReduce  0  THENA  Auto)  THEN  AutoSplit)
Home
Index