Step * 2 1 2 2 1 1 1 of Lemma mul-polynom-val


1. : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) tree_size(q)) ≤ k)  (∀[l:{l:ℤ List| n ≤ ||l||} ]. (mul-polynom(p;q)@l (p@l q@l) ∈ ℤ)))
3. : ℕ
4. p1 : ℤ
5. p1 ≠ 1
6. p1 ≠ 0
7. True
8. left tree(ℤ)
9. q2 tree(ℤ)
10. ((↑(ispolyform(left) (n 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
11. (0 (1 tree_size(left)) tree_size(q2)) ≤ k
12. : ℤ
13. : ℤ List
14. n ≤ (||v|| 1)
15. mul-polynom(tree_leaf(p1);left) ∈ polyform(n 1)
16. mul-polynom(tree_leaf(p1);q2) ∈ polyform(n)
17. mul-polynom(tree_leaf(p1);left)@v (tree_leaf(p1)@v left@v) ∈ ℤ
18. mul-polynom(tree_leaf(p1);q2)@[u v] (tree_leaf(p1)@[u v] q2@[u v]) ∈ ℤ
⊢ eval av tree_leaf(p1)@v left@v in
  eval bv tree_leaf(p1)@[u v] q2@[u v] in
    if bv=0 then av else eval in av (h bv)
(p1 eval av left@v in eval bv q2@[u v] in   if bv=0 then av else eval in av (h bv))
∈ ℤ
BY
(((Assert left ∈ polyform(n 1) BY Auto) THEN (CallByValueReduce THENA Auto))
   THEN (Assert q2 ∈ polyform(n) BY
               Auto)
   THEN RepeatFor ((CallByValueReduce THENA Auto))
   THEN Fold `polyconst` 0
   THEN Reduce 0) }

1
1. : ℕ
2. ∀k:ℕk
     ∀[n:ℕ]. ∀[p,q:polyform(n)].
       (((tree_size(p) tree_size(q)) ≤ k)  (∀[l:{l:ℤ List| n ≤ ||l||} ]. (mul-polynom(p;q)@l (p@l q@l) ∈ ℤ)))
3. : ℕ
4. p1 : ℤ
5. p1 ≠ 1
6. p1 ≠ 0
7. True
8. left tree(ℤ)
9. q2 tree(ℤ)
10. ((↑(ispolyform(left) (n 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
11. (0 (1 tree_size(left)) tree_size(q2)) ≤ k
12. : ℤ
13. : ℤ List
14. n ≤ (||v|| 1)
15. mul-polynom(tree_leaf(p1);left) ∈ polyform(n 1)
16. mul-polynom(tree_leaf(p1);q2) ∈ polyform(n)
17. mul-polynom(tree_leaf(p1);left)@v (tree_leaf(p1)@v left@v) ∈ ℤ
18. mul-polynom(tree_leaf(p1);q2)@[u v] (tree_leaf(p1)@[u v] q2@[u v]) ∈ ℤ
19. left ∈ polyform(n 1)
20. q2 ∈ polyform(n)
⊢ if p1 q2@[u v]=0 then p1 left@v else ((p1 left@v) (u p1 q2@[u v]))
(p1 if q2@[u v]=0 then left@v else (left@v (u q2@[u v])))
∈ ℤ


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||\}  ].  (mul-polynom(p;q)@l  =  (p@l  *  q@l))))
3.  n  :  \mBbbN{}
4.  p1  :  \mBbbZ{}
5.  p1  \mneq{}  1
6.  p1  \mneq{}  0
7.  True
8.  left  :  tree(\mBbbZ{})
9.  q2  :  tree(\mBbbZ{})
10.  ((\muparrow{}(ispolyform(left)  (n  -  1)))  \mwedge{}  (\muparrow{}(ispolyform(q2)  n)))  \mwedge{}  0  <  n
11.  (0  +  (1  +  tree\_size(left))  +  tree\_size(q2))  \mleq{}  k
12.  u  :  \mBbbZ{}
13.  v  :  \mBbbZ{}  List
14.  n  \mleq{}  (||v||  +  1)
15.  mul-polynom(tree\_leaf(p1);left)  \mmember{}  polyform(n  -  1)
16.  mul-polynom(tree\_leaf(p1);q2)  \mmember{}  polyform(n)
17.  mul-polynom(tree\_leaf(p1);left)@v  =  (tree\_leaf(p1)@v  *  left@v)
18.  mul-polynom(tree\_leaf(p1);q2)@[u  /  v]  =  (tree\_leaf(p1)@[u  /  v]  *  q2@[u  /  v])
\mvdash{}  eval  av  =  tree\_leaf(p1)@v  *  left@v  in
    eval  bv  =  tree\_leaf(p1)@[u  /  v]  *  q2@[u  /  v]  in
        if  bv=0  then  av  else  eval  h  =  u  in  av  +  (h  *  bv)
=  (p1
    *  eval  av  =  left@v  in
        eval  bv  =  q2@[u  /  v]  in
            if  bv=0  then  av  else  eval  h  =  u  in  av  +  (h  *  bv))


By


Latex:
(((Assert  left  \mmember{}  polyform(n  -  1)  BY  Auto)  THEN  (CallByValueReduce  0  THENA  Auto))
  THEN  (Assert  q2  \mmember{}  polyform(n)  BY
                          Auto)
  THEN  RepeatFor  2  ((CallByValueReduce  0  THENA  Auto))
  THEN  Fold  `polyconst`  0
  THEN  Reduce  0)




Home Index