Step * 2 1 of Lemma mul-polynom_wf


1. : ℕ
2. ∀k:ℕk. ∀[n:ℕ]. ∀[p,q:polyform(n)].  (((tree_size(p) tree_size(q)) ≤ k)  (mul-polynom(p;q) ∈ polyform(n)))
3. : ℕ
4. p1 : ℤ
5. True
6. left tree(ℤ)
7. q2 tree(ℤ)
8. ((↑(ispolyform(left) (n 1))) ∧ (↑(ispolyform(q2) n))) ∧ 0 < n
9. (0 (1 tree_size(left)) tree_size(q2)) ≤ k
10. mul-polynom(tree_leaf(p1);left) ∈ polyform(n 1)
11. mul-polynom(tree_leaf(p1);q2) ∈ polyform(n)
⊢ if p1=0
     then polyconst(0)
     else if p1=1
             then tree_node(left;q2)
             else eval mul-polynom(tree_leaf(p1);left) in
                  eval mul-polynom(tree_leaf(p1);q2) in
                    tree_node(a;b) ∈ polyform(n)
BY
((MemTypeHD (-2) THENA Auto) THEN (MemTypeHD (-1) THENA Auto) THEN All (Fold `member`) THEN Auto) }


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{}  (mul-polynom(p;q)  \mmember{}  polyform(n)))
3.  n  :  \mBbbN{}
4.  p1  :  \mBbbZ{}
5.  True
6.  left  :  tree(\mBbbZ{})
7.  q2  :  tree(\mBbbZ{})
8.  ((\muparrow{}(ispolyform(left)  (n  -  1)))  \mwedge{}  (\muparrow{}(ispolyform(q2)  n)))  \mwedge{}  0  <  n
9.  (0  +  (1  +  tree\_size(left))  +  tree\_size(q2))  \mleq{}  k
10.  mul-polynom(tree\_leaf(p1);left)  \mmember{}  polyform(n  -  1)
11.  mul-polynom(tree\_leaf(p1);q2)  \mmember{}  polyform(n)
\mvdash{}  if  p1=0
          then  polyconst(0)
          else  if  p1=1
                          then  tree\_node(left;q2)
                          else  eval  a  =  mul-polynom(tree\_leaf(p1);left)  in
                                    eval  b  =  mul-polynom(tree\_leaf(p1);q2)  in
                                        tree\_node(a;b)  \mmember{}  polyform(n)


By


Latex:
((MemTypeHD  (-2)  THENA  Auto)  THEN  (MemTypeHD  (-1)  THENA  Auto)  THEN  All  (Fold  `member`)  THEN  Auto)




Home Index