Step * 2 2 2 1 1 of Lemma add-ipoly-req


1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. iMonomial()
5. iMonomial() List
6. u1 iMonomial()
7. v1 iMonomial() List
8. ||[u v]|| ||[u1 v1]|| < n
9. ↑imonomial-le(u;u1)
10. add-ipoly(v;v1) ∈ iMonomial() List
11. add-ipoly(v;[u1 v1]) ∈ iMonomial() List
12. ↑imonomial-le(u1;u)
⊢ ipolynomial-term(let cp,vs 
                   in eval cp (fst(u1)) in
                      if c=0 then add-ipoly(v;v1) else [<c, vs> add-ipoly(v;v1)]) ≡ ipolynomial-term([u v])
(+) ipolynomial-term([u1 v1])
BY
(DVar `u'
   THEN DVar `u1'
   THEN Reduce 0
   THEN (CallByValueReduce THENA Auto)
   THEN AutoSplit
   THEN (RWW "ipolynomial-term-cons-req 3" THENA Auto)
   THEN (D THEN Auto)
   THEN RepUR ``real_term_value`` 0
   THEN Fold `real_term_value` 0
   THEN Auto) }

1
1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. u2 : ℤ-o
5. u3 {vs:ℤ List| sorted(vs)} 
6. iMonomial() List
7. u4 : ℤ-o
8. u5 {vs:ℤ List| sorted(vs)} 
9. v1 iMonomial() List
10. ||[<u2, u3> v]|| ||[<u4, u5> v1]|| < n
11. ↑imonomial-le(<u2, u3>;<u4, u5>)
12. add-ipoly(v;v1) ∈ iMonomial() List
13. add-ipoly(v;[<u4, u5> v1]) ∈ iMonomial() List
14. ↑imonomial-le(<u4, u5>;<u2, u3>)
15. (u2 u4) 0 ∈ ℤ
16. : ℤ ⟶ ℝ
⊢ (real_term_value(f;ipolynomial-term(v)) real_term_value(f;ipolynomial-term(v1)))
((real_term_value(f;imonomial-term(<u2, u3>)) real_term_value(f;ipolynomial-term(v))) real_term_value(f;imonomial-\000Cterm(<u4, u5>)) real_term_value(f;ipolynomial-term(v1)))

2
1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| <  ipolynomial-term(add-ipoly(p;q)) ≡ ipolynomial-term(p) (+) ipolynomial-term(q))
4. u2 : ℤ-o
5. u3 {vs:ℤ List| sorted(vs)} 
6. iMonomial() List
7. u4 : ℤ-o
8. u2 u4 ≠ 0
9. u5 {vs:ℤ List| sorted(vs)} 
10. v1 iMonomial() List
11. ||[<u2, u3> v]|| ||[<u4, u5> v1]|| < n
12. ↑imonomial-le(<u2, u3>;<u4, u5>)
13. add-ipoly(v;v1) ∈ iMonomial() List
14. add-ipoly(v;[<u4, u5> v1]) ∈ iMonomial() List
15. ↑imonomial-le(<u4, u5>;<u2, u3>)
16. : ℤ ⟶ ℝ
⊢ (real_term_value(f;imonomial-term(<u2 u4, u3>)) real_term_value(f;ipolynomial-term(v)) real_term_value(f;ipolyno\000Cmial-term(v1)))
((real_term_value(f;imonomial-term(<u2, u3>)) real_term_value(f;ipolynomial-term(v))) real_term_value(f;imonomial-\000Cterm(<u4, u5>)) real_term_value(f;ipolynomial-term(v1)))


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.  u  :  iMonomial()
5.  v  :  iMonomial()  List
6.  u1  :  iMonomial()
7.  v1  :  iMonomial()  List
8.  ||[u  /  v]||  +  ||[u1  /  v1]||  <  n
9.  \muparrow{}imonomial-le(u;u1)
10.  add-ipoly(v;v1)  \mmember{}  iMonomial()  List
11.  add-ipoly(v;[u1  /  v1])  \mmember{}  iMonomial()  List
12.  \muparrow{}imonomial-le(u1;u)
\mvdash{}  ipolynomial-term(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)]) 
\mequiv{}  ipolynomial-term([u  /  v])  (+)  ipolynomial-term([u1  /  v1])


By


Latex:
(DVar  `u'
  THEN  DVar  `u1'
  THEN  Reduce  0
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  AutoSplit
  THEN  (RWW  "ipolynomial-term-cons-req  3"  0  THENA  Auto)
  THEN  (D  0  THEN  Auto)
  THEN  RepUR  ``real\_term\_value``  0
  THEN  Fold  `real\_term\_value`  0
  THEN  Auto)




Home Index