Step * 2 2 1 1 1 of Lemma add-poly-lemma1


1. iMonomial()
2. iMonomial() List
3. ∀q:iMonomial() List. ∀m:iMonomial().
     ((∀i:ℕ||v||. ∀j:ℕi.  imonomial-less(v[j];v[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (0 < ||v||  imonomial-less(m;v[0]))
      (0 < ||q||  imonomial-less(m;q[0]))
      0 < ||add-ipoly(v;q)||
      imonomial-less(m;add-ipoly(v;q)[0]))
4. u1 iMonomial()
5. v1 iMonomial() List
6. ∀m:iMonomial()
     ((∀i:ℕ||[u v]||. ∀j:ℕi.  imonomial-less([u v][j];[u v][i]))
      (∀i:ℕ||v1||. ∀j:ℕi.  imonomial-less(v1[j];v1[i]))
      (0 < ||[u v]||  imonomial-less(m;[u v][0]))
      (0 < ||v1||  imonomial-less(m;v1[0]))
      0 < ||add-ipoly([u v];v1)||
      imonomial-less(m;add-ipoly([u v];v1)[0]))
7. iMonomial()
8. ∀i:ℕ||[u v]||. ∀j:ℕi.  imonomial-less([u v][j];[u v][i])
9. ∀i:ℕ||[u1 v1]||. ∀j:ℕi.  imonomial-less([u1 v1][j];[u1 v1][i])
10. 0 < ||[u v]||  imonomial-less(m;[u v][0])
11. 0 < ||[u1 v1]||  imonomial-less(m;[u1 v1][0])
12. ↑imonomial-le(u;u1)
13. ↑imonomial-le(u1;u)
⊢ 0 < ||eval add-ipoly(v;v1) in
        let cp,vs 
        in eval cp (fst(u1)) in
           if c=0  then x  else [<c, vs> x]||
 imonomial-less(m;eval add-ipoly(v;v1) in
                    let cp,vs 
                    in eval cp (fst(u1)) in
                       if c=0  then x  else [<c, vs> x][0])
BY
((CallByValueReduce THENA Auto)
   THEN DVar `u'
   THEN DVar `u1'
   THEN Reduce 0
   THEN (CallByValueReduce THENA Auto)
   THEN AutoSplit
   THEN All Reduce) }

1
1. u2 : ℤ-o
2. u3 {vs:ℤ List| sorted(vs)} 
3. iMonomial() List
4. ∀q:iMonomial() List. ∀m:iMonomial().
     ((∀i:ℕ||v||. ∀j:ℕi.  imonomial-less(v[j];v[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (0 < ||v||  imonomial-less(m;v[0]))
      (0 < ||q||  imonomial-less(m;q[0]))
      0 < ||add-ipoly(v;q)||
      imonomial-less(m;add-ipoly(v;q)[0]))
5. u4 : ℤ-o
6. u5 {vs:ℤ List| sorted(vs)} 
7. v1 iMonomial() List
8. ∀m:iMonomial()
     ((∀i:ℕ||v|| 1. ∀j:ℕi.  imonomial-less([<u2, u3> v][j];[<u2, u3> v][i]))
      (∀i:ℕ||v1||. ∀j:ℕi.  imonomial-less(v1[j];v1[i]))
      (0 < ||v||  imonomial-less(m;<u2, u3>))
      (0 < ||v1||  imonomial-less(m;v1[0]))
      0 < ||add-ipoly([<u2, u3> v];v1)||
      imonomial-less(m;add-ipoly([<u2, u3> v];v1)[0]))
9. iMonomial()
10. ∀i:ℕ||v|| 1. ∀j:ℕi.  imonomial-less([<u2, u3> v][j];[<u2, u3> v][i])
11. ∀i:ℕ||v1|| 1. ∀j:ℕi.  imonomial-less([<u4, u5> v1][j];[<u4, u5> v1][i])
12. 0 < ||v||  imonomial-less(m;<u2, u3>)
13. 0 < ||v1||  imonomial-less(m;<u4, u5>)
14. ↑imonomial-le(<u2, u3>;<u4, u5>)
15. ↑imonomial-le(<u4, u5>;<u2, u3>)
16. (u2 u4) 0 ∈ ℤ
⊢ 0 < ||add-ipoly(v;v1)||  imonomial-less(m;add-ipoly(v;v1)[0])

2
1. u2 : ℤ-o
2. u3 {vs:ℤ List| sorted(vs)} 
3. iMonomial() List
4. ∀q:iMonomial() List. ∀m:iMonomial().
     ((∀i:ℕ||v||. ∀j:ℕi.  imonomial-less(v[j];v[i]))
      (∀i:ℕ||q||. ∀j:ℕi.  imonomial-less(q[j];q[i]))
      (0 < ||v||  imonomial-less(m;v[0]))
      (0 < ||q||  imonomial-less(m;q[0]))
      0 < ||add-ipoly(v;q)||
      imonomial-less(m;add-ipoly(v;q)[0]))
5. u4 : ℤ-o
6. u2 u4 ≠ 0
7. u5 {vs:ℤ List| sorted(vs)} 
8. v1 iMonomial() List
9. ∀m:iMonomial()
     ((∀i:ℕ||v|| 1. ∀j:ℕi.  imonomial-less([<u2, u3> v][j];[<u2, u3> v][i]))
      (∀i:ℕ||v1||. ∀j:ℕi.  imonomial-less(v1[j];v1[i]))
      (0 < ||v||  imonomial-less(m;<u2, u3>))
      (0 < ||v1||  imonomial-less(m;v1[0]))
      0 < ||add-ipoly([<u2, u3> v];v1)||
      imonomial-less(m;add-ipoly([<u2, u3> v];v1)[0]))
10. iMonomial()
11. ∀i:ℕ||v|| 1. ∀j:ℕi.  imonomial-less([<u2, u3> v][j];[<u2, u3> v][i])
12. ∀i:ℕ||v1|| 1. ∀j:ℕi.  imonomial-less([<u4, u5> v1][j];[<u4, u5> v1][i])
13. 0 < ||v||  imonomial-less(m;<u2, u3>)
14. 0 < ||v1||  imonomial-less(m;<u4, u5>)
15. ↑imonomial-le(<u2, u3>;<u4, u5>)
16. ↑imonomial-le(<u4, u5>;<u2, u3>)
⊢ 0 < ||add-ipoly(v;v1)||  imonomial-less(m;<u2 u4, u3>)


Latex:


Latex:

1.  u  :  iMonomial()
2.  v  :  iMonomial()  List
3.  \mforall{}q:iMonomial()  List.  \mforall{}m:iMonomial().
          ((\mforall{}i:\mBbbN{}||v||.  \mforall{}j:\mBbbN{}i.    imonomial-less(v[j];v[i]))
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||q||.  \mforall{}j:\mBbbN{}i.    imonomial-less(q[j];q[i]))
          {}\mRightarrow{}  (0  <  ||v||  {}\mRightarrow{}  imonomial-less(m;v[0]))
          {}\mRightarrow{}  (0  <  ||q||  {}\mRightarrow{}  imonomial-less(m;q[0]))
          {}\mRightarrow{}  0  <  ||add-ipoly(v;q)||
          {}\mRightarrow{}  imonomial-less(m;add-ipoly(v;q)[0]))
4.  u1  :  iMonomial()
5.  v1  :  iMonomial()  List
6.  \mforall{}m:iMonomial()
          ((\mforall{}i:\mBbbN{}||[u  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u  /  v][j];[u  /  v][i]))
          {}\mRightarrow{}  (\mforall{}i:\mBbbN{}||v1||.  \mforall{}j:\mBbbN{}i.    imonomial-less(v1[j];v1[i]))
          {}\mRightarrow{}  (0  <  ||[u  /  v]||  {}\mRightarrow{}  imonomial-less(m;[u  /  v][0]))
          {}\mRightarrow{}  (0  <  ||v1||  {}\mRightarrow{}  imonomial-less(m;v1[0]))
          {}\mRightarrow{}  0  <  ||add-ipoly([u  /  v];v1)||
          {}\mRightarrow{}  imonomial-less(m;add-ipoly([u  /  v];v1)[0]))
7.  m  :  iMonomial()
8.  \mforall{}i:\mBbbN{}||[u  /  v]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u  /  v][j];[u  /  v][i])
9.  \mforall{}i:\mBbbN{}||[u1  /  v1]||.  \mforall{}j:\mBbbN{}i.    imonomial-less([u1  /  v1][j];[u1  /  v1][i])
10.  0  <  ||[u  /  v]||  {}\mRightarrow{}  imonomial-less(m;[u  /  v][0])
11.  0  <  ||[u1  /  v1]||  {}\mRightarrow{}  imonomial-less(m;[u1  /  v1][0])
12.  \muparrow{}imonomial-le(u;u1)
13.  \muparrow{}imonomial-le(u1;u)
\mvdash{}  0  <  ||eval  x  =  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]||
{}\mRightarrow{}  imonomial-less(m;eval  x  =  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][0])


By


Latex:
((CallByValueReduce  0  THENA  Auto)
  THEN  DVar  `u'
  THEN  DVar  `u1'
  THEN  Reduce  0
  THEN  (CallByValueReduce  0  THENA  Auto)
  THEN  AutoSplit
  THEN  All  Reduce)




Home Index