Step * 4 of Lemma add-polynom-val


1. : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) tree_size(q)) ≤ k)  (∀[l:{l:ℤ List| n ≤ ||l||} ]. (add-polynom(p;q)@l (p@l q@l) ∈ ℤ)))
3. : ℕ
4. left tree(ℤ)
5. p2 tree(ℤ)
6. ↑(((ispolyform(left) (n 1)) ∧b (ispolyform(p2) n)) ∧b 0 <n)
7. l1 tree(ℤ)
8. q2 tree(ℤ)
9. ↑(((ispolyform(l1) (n 1)) ∧b (ispolyform(q2) n)) ∧b 0 <n)
10. (((1 tree_size(left)) tree_size(p2)) (1 tree_size(l1)) tree_size(q2)) ≤ k
11. {l:ℤ List| n ≤ ||l||} 
12. tree_node(left;p2) ∈ polyform(n)
13. tree_node(l1;q2) ∈ polyform(n)
⊢ eval add-polynom(left;l1) in
  eval add-polynom(p2;q2) in
    if poly-zero(b) ∧b poly-int(a) then else tree_node(a;b) fi @l
(tree_node(left;p2)@l tree_node(l1;q2)@l)
∈ ℤ
BY
(((RW assert_pushdownC THENA Auto) THEN (RW assert_pushdownC THENA Auto))
   THEN ((Assert left ∈ polyform(n 1) BY
                Auto)
         THEN (Assert p2 ∈ polyform(n) BY
                     Auto)
         THEN (Assert q2 ∈ polyform(n) BY
                     Auto)
         THEN (Assert l1 ∈ polyform(n 1) BY
                     Auto))
   THEN RepeatFor ((CallByValueReduce THEN Auto))
   THEN (InstHyp [⌜1⌝;⌜1⌝;⌜left⌝;⌜l1⌝2⋅ THENA Auto)
   THEN (InstHyp [⌜1⌝;⌜n⌝;⌜p2⌝;⌜q2⌝2⋅ THENA Auto)) }

1
1. : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) tree_size(q)) ≤ k)  (∀[l:{l:ℤ List| n ≤ ||l||} ]. (add-polynom(p;q)@l (p@l q@l) ∈ ℤ)))
3. : ℕ
4. left tree(ℤ)
5. p2 tree(ℤ)
6. ↑(ispolyform(left) (n 1))
7. ↑(ispolyform(p2) n)
8. 0 < n
9. l1 tree(ℤ)
10. q2 tree(ℤ)
11. ↑(ispolyform(l1) (n 1))
12. ↑(ispolyform(q2) n)
13. 0 < n
14. (((1 tree_size(left)) tree_size(p2)) (1 tree_size(l1)) tree_size(q2)) ≤ k
15. {l:ℤ List| n ≤ ||l||} 
16. tree_node(left;p2) ∈ polyform(n)
17. tree_node(l1;q2) ∈ polyform(n)
18. left ∈ polyform(n 1)
19. p2 ∈ polyform(n)
20. q2 ∈ polyform(n)
21. l1 ∈ polyform(n 1)
22. ∀[l:{l:ℤ List| (n 1) ≤ ||l||} ]. (add-polynom(left;l1)@l (left@l l1@l) ∈ ℤ)
23. ∀[l:{l:ℤ List| n ≤ ||l||} ]. (add-polynom(p2;q2)@l (p2@l q2@l) ∈ ℤ)
⊢ if poly-zero(add-polynom(p2;q2)) ∧b poly-int(add-polynom(left;l1))
then add-polynom(left;l1)
else tree_node(add-polynom(left;l1);add-polynom(p2;q2))
fi @l
(tree_node(left;p2)@l tree_node(l1;q2)@l)
∈ ℤ


Latex:


Latex:

1.  k  :  \mBbbN{}
2.  \mforall{}k:\mBbbN{}k
          \mforall{}[n:\mBbbN{}].  \mforall{}[p,q:polyform(n)].
              (((tree\_size(p)  +  tree\_size(q))  \mleq{}  k)
              {}\mRightarrow{}  (\mforall{}[l:\{l:\mBbbZ{}  List|  n  \mleq{}  ||l||\}  ].  (add-polynom(p;q)@l  =  (p@l  +  q@l))))
3.  n  :  \mBbbN{}
4.  left  :  tree(\mBbbZ{})
5.  p2  :  tree(\mBbbZ{})
6.  \muparrow{}(((ispolyform(left)  (n  -  1))  \mwedge{}\msubb{}  (ispolyform(p2)  n))  \mwedge{}\msubb{}  0  <z  n)
7.  l1  :  tree(\mBbbZ{})
8.  q2  :  tree(\mBbbZ{})
9.  \muparrow{}(((ispolyform(l1)  (n  -  1))  \mwedge{}\msubb{}  (ispolyform(q2)  n))  \mwedge{}\msubb{}  0  <z  n)
10.  (((1  +  tree\_size(left))  +  tree\_size(p2))  +  (1  +  tree\_size(l1))  +  tree\_size(q2))  \mleq{}  k
11.  l  :  \{l:\mBbbZ{}  List|  n  \mleq{}  ||l||\} 
12.  tree\_node(left;p2)  \mmember{}  polyform(n)
13.  tree\_node(l1;q2)  \mmember{}  polyform(n)
\mvdash{}  eval  a  =  add-polynom(left;l1)  in
    eval  b  =  add-polynom(p2;q2)  in
        if  poly-zero(b)  \mwedge{}\msubb{}  poly-int(a)  then  a  else  tree\_node(a;b)  fi  @l
=  (tree\_node(left;p2)@l  +  tree\_node(l1;q2)@l)


By


Latex:
(((RW  assert\_pushdownC  6  THENA  Auto)  THEN  (RW  assert\_pushdownC  9  THENA  Auto))
  THEN  ((Assert  left  \mmember{}  polyform(n  -  1)  BY
                            Auto)
              THEN  (Assert  p2  \mmember{}  polyform(n)  BY
                                      Auto)
              THEN  (Assert  q2  \mmember{}  polyform(n)  BY
                                      Auto)
              THEN  (Assert  l1  \mmember{}  polyform(n  -  1)  BY
                                      Auto))
  THEN  RepeatFor  2  ((CallByValueReduce  0  THEN  Auto))
  THEN  (InstHyp  [\mkleeneopen{}k  -  1\mkleeneclose{};\mkleeneopen{}n  -  1\mkleeneclose{};\mkleeneopen{}left\mkleeneclose{};\mkleeneopen{}l1\mkleeneclose{}]  2\mcdot{}  THENA  Auto)
  THEN  (InstHyp  [\mkleeneopen{}k  -  1\mkleeneclose{};\mkleeneopen{}n\mkleeneclose{};\mkleeneopen{}p2\mkleeneclose{};\mkleeneopen{}q2\mkleeneclose{}]  2\mcdot{}  THENA  Auto))




Home Index