Step * 2 1 1 of Lemma add-ipoly_wf1


1. iMonomial()
2. iMonomial() List
3. ∀[q:iMonomial() List]. (add-ipoly(v;q) ∈ iMonomial() List)
4. u1 iMonomial()
5. v1 iMonomial() List
6. ↑imonomial-le(u;u1)
7. add-ipoly(v;v1) ∈ iMonomial() List
8. add-ipoly(v;[u1 v1]) ∈ iMonomial() List
⊢ if imonomial-le(u1;u)
  then let cp,vs 
       in eval cp (fst(u1)) in
          if c=0 then add-ipoly(v;v1) else [<c, vs> add-ipoly(v;v1)]
  else [u add-ipoly(v;[u1 v1])]
  fi  ∈ iMonomial() List
BY
(BoolCase ⌜imonomial-le(u1;u)⌝⋅ THEN Auto THEN GenConclAtAddrType ⌜iMonomial() List⌝ [1]⋅ THEN Auto) }


Latex:


Latex:

1.  u  :  iMonomial()
2.  v  :  iMonomial()  List
3.  \mforall{}[q:iMonomial()  List].  (add-ipoly(v;q)  \mmember{}  iMonomial()  List)
4.  u1  :  iMonomial()
5.  v1  :  iMonomial()  List
6.  \muparrow{}imonomial-le(u;u1)
7.  add-ipoly(v;v1)  \mmember{}  iMonomial()  List
8.  add-ipoly(v;[u1  /  v1])  \mmember{}  iMonomial()  List
\mvdash{}  if  imonomial-le(u1;u)
    then  let  cp,vs  =  u 
              in  eval  c  =  cp  +  (fst(u1))  in
                    if  c=0  then  add-ipoly(v;v1)  else  [<c,  vs>  /  add-ipoly(v;v1)]
    else  [u  /  add-ipoly(v;[u1  /  v1])]
    fi    \mmember{}  iMonomial()  List


By


Latex:
(BoolCase  \mkleeneopen{}imonomial-le(u1;u)\mkleeneclose{}\mcdot{}  THEN  Auto  THEN  GenConclAtAddrType  \mkleeneopen{}iMonomial()  List\mkleeneclose{}  [1]\mcdot{}  THEN  Auto)




Home Index