Step * 2 of Lemma add-ipoly-ringeq


1. Rng
2. : ℤ
3. 0 < n
4. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
5. iMonomial() List
6. iMonomial() List
7. ||p|| ||q|| < n
⊢ ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q)
BY
(DVar `p' THEN RecUnfold `add-ipoly` THEN RepeatFor ((CallByValueReduce THENA Auto)) THEN Reduce 0) }

1
1. Rng
2. : ℤ
3. 0 < n
4. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
5. iMonomial() List
6. ||[]|| ||q|| < n
⊢ ipolynomial-term(q) ≡ ipolynomial-term([]) (+) ipolynomial-term(q)

2
1. Rng
2. : ℤ
3. 0 < n
4. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
5. iMonomial()
6. iMonomial() List
7. iMonomial() List
8. ||[u v]|| ||q|| < n
⊢ ipolynomial-term(if null(q)
then [u v]
else let q1,qs 
     in if imonomial-le(u;q1)
        then if imonomial-le(q1;u)
             then let x ⟵ add-ipoly(v;qs)
                  in let cp,vs 
                     in eval cp (fst(q1)) in
                        if c=0 then 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.  r  :  Rng
2.  n  :  \mBbbZ{}
3.  0  <  n
4.  \mforall{}p,q:iMonomial()  List.
          (||p||  +  ||q||  <  n  -  1
          {}\mRightarrow{}  ipolynomial-term(add-ipoly(p;q))  \mequiv{}  ipolynomial-term(p)  (+)  ipolynomial-term(q))
5.  p  :  iMonomial()  List
6.  q  :  iMonomial()  List
7.  ||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