Step
*
1
2
of Lemma
add-ipoly-equiv
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1 
⇒ ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. p : iMonomial() List
5. q : iMonomial() List
6. ||p|| + ||q|| < n
⊢ ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q)
BY
{ (DVar `p' THEN RecUnfold `add-ipoly` 0 THEN RepeatFor 2 ((CallByValueReduce 0 THENA Auto)) THEN Reduce 0) }
1
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1 
⇒ ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. q : iMonomial() List
5. ||[]|| + ||q|| < n
⊢ ipolynomial-term(q) ≡ ipolynomial-term([]) (+) ipolynomial-term(q)
2
1. n : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| + ||q|| < n - 1 
⇒ ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. u : iMonomial()
5. v : iMonomial() List
6. q : iMonomial() List
7. ||[u / v]|| + ||q|| < n
⊢ ipolynomial-term(if null(q)
  then [u / v]
  else let q1,qs = q 
       in if imonomial-le(u;q1)
          then if imonomial-le(q1;u)
               then let x ⟵ add-ipoly(v;qs)
                    in let cp,vs = u 
                       in eval c = cp + (fst(q1)) in
                          if c=0 then x else [<c, vs> / x]
               else let x ⟵ add-ipoly(v;[q1 / qs])
                    in [u / x]
               fi 
          else let x ⟵ add-ipoly([u / v];qs)
               in [q1 / x]
          fi 
  fi ) ≡ ipolynomial-term([u / v]) (+) ipolynomial-term(q)
Latex:
Latex:
1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}p,q:iMonomial()  List.
          (||p||  +  ||q||  <  n  -  1
          {}\mRightarrow{}  ipolynomial-term(add-ipoly(p;q))  \mequiv{}  ipolynomial-term(p)  (+)  ipolynomial-term(q))
4.  p  :  iMonomial()  List
5.  q  :  iMonomial()  List
6.  ||p||  +  ||q||  <  n
\mvdash{}  ipolynomial-term(add-ipoly(p;q))  \mequiv{}  ipolynomial-term(p)  (+)  ipolynomial-term(q)
By
Latex:
(DVar  `p'
  THEN  RecUnfold  `add-ipoly`  0
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  Reduce  0)
Home
Index