Step * 1 2 2 2 1 of Lemma add-ipoly_wf


1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| < 1
      (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. iMonomial()
5. iMonomial() List
6. u1 iMonomial()
7. v1 iMonomial() List
8. ||[u v]|| ||[u1 v1]|| < n
9. ∀i:ℕ||[u v]||. ∀j:ℕi.  imonomial-less([u v][j];[u v][i])
10. ∀i:ℕ||[u1 v1]||. ∀j:ℕi.  imonomial-less([u1 v1][j];[u1 v1][i])
11. ↑imonomial-le(u;u1)
⊢ ↓∀i:ℕ||if imonomial-le(u1;u)
      then let x ⟵ add-ipoly(v;v1)
           in let cp,vs 
              in eval cp (fst(u1)) in
                 if c=0 then else [<c, vs> x]
      else let x ⟵ add-ipoly(v;[u1 v1])
           in [u x]
      fi ||. ∀j:ℕi.
     imonomial-less(if imonomial-le(u1;u)
     then let x ⟵ add-ipoly(v;v1)
          in let cp,vs 
             in eval cp (fst(u1)) in
                if c=0 then else [<c, vs> x]
     else let x ⟵ add-ipoly(v;[u1 v1])
          in [u x]
     fi [j];if imonomial-le(u1;u)
     then let x ⟵ add-ipoly(v;v1)
          in let cp,vs 
             in eval cp (fst(u1)) in
                if c=0 then else [<c, vs> x]
     else let x ⟵ add-ipoly(v;[u1 v1])
          in [u x]
     fi [i])
BY
((BoolCase ⌜imonomial-le(u1;u)⌝⋅ THENA Auto) THEN (CallByValueReduce THENA Auto)) }

1
1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| < 1
      (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. iMonomial()
5. iMonomial() List
6. u1 iMonomial()
7. v1 iMonomial() List
8. ||[u v]|| ||[u1 v1]|| < n
9. ∀i:ℕ||[u v]||. ∀j:ℕi.  imonomial-less([u v][j];[u v][i])
10. ∀i:ℕ||[u1 v1]||. ∀j:ℕi.  imonomial-less([u1 v1][j];[u1 v1][i])
11. ↑imonomial-le(u;u1)
12. ↑imonomial-le(u1;u)
⊢ ↓∀i:ℕ||let cp,vs 
         in eval cp (fst(u1)) in
            if c=0 then add-ipoly(v;v1) else [<c, vs> add-ipoly(v;v1)]||. ∀j:ℕi.
     imonomial-less(let cp,vs 
                    in eval cp (fst(u1)) in
                       if c=0 then add-ipoly(v;v1) else [<c, vs> add-ipoly(v;v1)][j];let cp,vs 
                                                                                       in eval cp (fst(u1)) in
                                                                                          if c=0
                                                                                          then add-ipoly(v;v1)
                                                                                          else [<c, vs> 
                                                                                                add-ipoly(v;v1)][i])

2
1. : ℤ
2. 0 < n
3. ∀p,q:iMonomial() List.
     (||p|| ||q|| < 1
      (∀i:ℕ||p||. ∀j:ℕi.  imonomial-less(p[j];p[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (↓∀i:ℕ||add-ipoly(p;q)||. ∀j:ℕi.  imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4. iMonomial()
5. iMonomial() List
6. u1 iMonomial()
7. ¬↑imonomial-le(u1;u)
8. v1 iMonomial() List
9. ||[u v]|| ||[u1 v1]|| < n
10. ∀i:ℕ||[u v]||. ∀j:ℕi.  imonomial-less([u v][j];[u v][i])
11. ∀i:ℕ||[u1 v1]||. ∀j:ℕi.  imonomial-less([u1 v1][j];[u1 v1][i])
12. ↑imonomial-le(u;u1)
⊢ ↓∀i:ℕ||[u add-ipoly(v;[u1 v1])]||. ∀j:ℕi.
     imonomial-less([u add-ipoly(v;[u1 v1])][j];[u add-ipoly(v;[u1 v1])][i])


Latex:


Latex:

1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}p,q:iMonomial()  List.
          (||p||  +  ||q||  <  n  -  1
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||p||.  \mforall{}j:\mBbbN{}i.    imonomial-less(p[j];p[i]))
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||q||.  \mforall{}j:\mBbbN{}i.    imonomial-less(q[j];q[i]))
          {}\mRightarrow{}  (\mdownarrow{}\mforall{}i:\mBbbN{}||add-ipoly(p;q)||.  \mforall{}j:\mBbbN{}i.    imonomial-less(add-ipoly(p;q)[j];add-ipoly(p;q)[i])))
4.  u  :  iMonomial()
5.  v  :  iMonomial()  List
6.  u1  :  iMonomial()
7.  v1  :  iMonomial()  List
8.  ||[u  /  v]||  +  ||[u1  /  v1]||  <  n
9.  \mforall{}i:\mBbbN{}||[u  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u  /  v][j];[u  /  v][i])
10.  \mforall{}i:\mBbbN{}||[u1  /  v1]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u1  /  v1][j];[u1  /  v1][i])
11.  \muparrow{}imonomial-le(u;u1)
\mvdash{}  \mdownarrow{}\mforall{}i:\mBbbN{}||if  imonomial-le(u1;u)
            then  let  x  \mleftarrow{}{}  add-ipoly(v;v1)
                      in  let  cp,vs  =  u 
                            in  eval  c  =  cp  +  (fst(u1))  in
                                  if  c=0  then  x  else  [<c,  vs>  /  x]
            else  let  x  \mleftarrow{}{}  add-ipoly(v;[u1  /  v1])
                      in  [u  /  x]
            fi  ||.  \mforall{}j:\mBbbN{}i.
          imonomial-less(if  imonomial-le(u1;u)
          then  let  x  \mleftarrow{}{}  add-ipoly(v;v1)
                    in  let  cp,vs  =  u 
                          in  eval  c  =  cp  +  (fst(u1))  in
                                if  c=0  then  x  else  [<c,  vs>  /  x]
          else  let  x  \mleftarrow{}{}  add-ipoly(v;[u1  /  v1])
                    in  [u  /  x]
          fi  [j];if  imonomial-le(u1;u)
          then  let  x  \mleftarrow{}{}  add-ipoly(v;v1)
                    in  let  cp,vs  =  u 
                          in  eval  c  =  cp  +  (fst(u1))  in
                                if  c=0  then  x  else  [<c,  vs>  /  x]
          else  let  x  \mleftarrow{}{}  add-ipoly(v;[u1  /  v1])
                    in  [u  /  x]
          fi  [i])


By


Latex:
((BoolCase  \mkleeneopen{}imonomial-le(u1;u)\mkleeneclose{}\mcdot{}  THENA  Auto)  THEN  (CallByValueReduce  0  THENA  Auto))




Home Index