Step
*
1
2
1
1
of Lemma
assert-nonneg-monomial
1. m1 : ℤ-o
2. m2 : {vs:ℤ List| sorted(vs)} 
3. 0 ≤ m1
4. ↑even-int-list(m2)
5. u : {vs:ℤ List| sorted(vs)} 
6. m2 = merge-int-accum(u;u) ∈ (ℤ List)
7. d : ℤ-o
8. (m1 * m1) = d ∈ ℤ-o
⊢ eval c = d in
  eval u = merge-int-accum(u;u) in
    <c, u>
= eval c = d in
  eval u = merge-int-accum(m2;[]) in
    <c, u>
∈ iMonomial()
BY
{ (Subst' merge-int-accum(m2;[]) ~ m2 0 THENA Computation) }
1
1. m1 : ℤ-o
2. m2 : {vs:ℤ List| sorted(vs)} 
3. 0 ≤ m1
4. ↑even-int-list(m2)
5. u : {vs:ℤ List| sorted(vs)} 
6. m2 = merge-int-accum(u;u) ∈ (ℤ List)
7. d : ℤ-o
8. (m1 * m1) = d ∈ ℤ-o
⊢ eval c = d in eval u = merge-int-accum(u;u) in   <c, u> = eval c = d in eval u = m2 in   <c, u> ∈ iMonomial()
Latex:
Latex:
1.  m1  :  \mBbbZ{}\msupminus{}\msupzero{}
2.  m2  :  \{vs:\mBbbZ{}  List|  sorted(vs)\} 
3.  0  \mleq{}  m1
4.  \muparrow{}even-int-list(m2)
5.  u  :  \{vs:\mBbbZ{}  List|  sorted(vs)\} 
6.  m2  =  merge-int-accum(u;u)
7.  d  :  \mBbbZ{}\msupminus{}\msupzero{}
8.  (m1  *  m1)  =  d
\mvdash{}  eval  c  =  d  in
    eval  u  =  merge-int-accum(u;u)  in
        <c,  u>
=  eval  c  =  d  in
    eval  u  =  merge-int-accum(m2;[])  in
        <c,  u>
By
Latex:
(Subst'  merge-int-accum(m2;[])  \msim{}  m2  0  THENA  Computation)
Home
Index