Step
*
1
2
1
2
1
1
1
2
2
of Lemma
linearization-value
1. u : ℤ List
2. v : ℤ List List
3. ∀[p:iPolynomial()]
     ∀f:ℤ ⟶ ℤ
       (int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;p)))
       = linearization(p;v) ⋅ map(λvs.accumulate (with value x and list item v):
                                       x * (f v)
                                      over list:
                                        vs
                                      with starting value:
                                       1);v)
       ∈ ℤ) 
     supposing no_repeats(ℤ List;v)
4. no_repeats(ℤ List;v)
5. ¬(u ∈ v)
6. f : ℤ ⟶ ℤ
7. u1 : iMonomial()
8. ¬(snd(u1) ∈ v)
9. v1 : iMonomial() List
10. int_term_value(f;ipolynomial-term(filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)))
= (int_term_value(f;ipolynomial-term(filter(λm.(list-deq(IntDeq) u (snd(m)));v1)))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
⊢ int_term_value(f;ipolynomial-term(if (list-deq(IntDeq) u (snd(u1))) ∨bff
then [u1 / filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)]
else filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)
fi ))
= (int_term_value(f;ipolynomial-term(if list-deq(IntDeq) u (snd(u1))
  then [u1 / filter(λm.(list-deq(IntDeq) u (snd(m)));v1)]
  else filter(λm.(list-deq(IntDeq) u (snd(m)));v1)
  fi ))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
BY
{ TACTIC:(BoolCase ⌜list-deq(IntDeq) u (snd(u1))⌝⋅ THENA Auto) }
1
1. u : ℤ List
2. v : ℤ List List
3. ∀[p:iPolynomial()]
     ∀f:ℤ ⟶ ℤ
       (int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;p)))
       = linearization(p;v) ⋅ map(λvs.accumulate (with value x and list item v):
                                       x * (f v)
                                      over list:
                                        vs
                                      with starting value:
                                       1);v)
       ∈ ℤ) 
     supposing no_repeats(ℤ List;v)
4. no_repeats(ℤ List;v)
5. ¬(u ∈ v)
6. f : ℤ ⟶ ℤ
7. u1 : iMonomial()
8. ¬(snd(u1) ∈ v)
9. v1 : iMonomial() List
10. int_term_value(f;ipolynomial-term(filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)))
= (int_term_value(f;ipolynomial-term(filter(λm.(list-deq(IntDeq) u (snd(m)));v1)))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
11. ↑(list-deq(IntDeq) u (snd(u1)))
⊢ int_term_value(f;ipolynomial-term([u1 / filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)]))
= (int_term_value(f;ipolynomial-term([u1 / filter(λm.(list-deq(IntDeq) u (snd(m)));v1)]))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
2
1. u : ℤ List
2. v : ℤ List List
3. ∀[p:iPolynomial()]
     ∀f:ℤ ⟶ ℤ
       (int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;p)))
       = linearization(p;v) ⋅ map(λvs.accumulate (with value x and list item v):
                                       x * (f v)
                                      over list:
                                        vs
                                      with starting value:
                                       1);v)
       ∈ ℤ) 
     supposing no_repeats(ℤ List;v)
4. no_repeats(ℤ List;v)
5. ¬(u ∈ v)
6. f : ℤ ⟶ ℤ
7. u1 : iMonomial()
8. ¬↑(list-deq(IntDeq) u (snd(u1)))
9. ¬(snd(u1) ∈ v)
10. v1 : iMonomial() List
11. int_term_value(f;ipolynomial-term(filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)))
= (int_term_value(f;ipolynomial-term(filter(λm.(list-deq(IntDeq) u (snd(m)));v1)))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
⊢ int_term_value(f;ipolynomial-term(filter(λm.((list-deq(IntDeq) u (snd(m))) ∨bsnd(m) ∈b v);v1)))
= (int_term_value(f;ipolynomial-term(filter(λm.(list-deq(IntDeq) u (snd(m)));v1)))
  + int_term_value(f;ipolynomial-term(filter(λm.snd(m) ∈b v;v1))))
∈ ℤ
Latex:
Latex:
1.  u  :  \mBbbZ{}  List
2.  v  :  \mBbbZ{}  List  List
3.  \mforall{}[p:iPolynomial()]
          \mforall{}f:\mBbbZ{}  {}\mrightarrow{}  \mBbbZ{}
              (int\_term\_value(f;ipolynomial-term(filter(\mlambda{}m.snd(m)  \mmember{}\msubb{}  v;p)))
              =  linearization(p;v)  \mcdot{}  map(\mlambda{}vs.accumulate  (with  value  x  and  list  item  v):
                                                                              x  *  (f  v)
                                                                            over  list:
                                                                                vs
                                                                            with  starting  value:
                                                                              1);v)) 
          supposing  no\_repeats(\mBbbZ{}  List;v)
4.  no\_repeats(\mBbbZ{}  List;v)
5.  \mneg{}(u  \mmember{}  v)
6.  f  :  \mBbbZ{}  {}\mrightarrow{}  \mBbbZ{}
7.  u1  :  iMonomial()
8.  \mneg{}(snd(u1)  \mmember{}  v)
9.  v1  :  iMonomial()  List
10.  int\_term\_value(f;ipolynomial-term(filter(\mlambda{}m.((list-deq(IntDeq)  u  (snd(m)))  \mvee{}\msubb{}snd(m)  \mmember{}\msubb{}  v);v1)))
=  (int\_term\_value(f;ipolynomial-term(filter(\mlambda{}m.(list-deq(IntDeq)  u  (snd(m)));v1)))
    +  int\_term\_value(f;ipolynomial-term(filter(\mlambda{}m.snd(m)  \mmember{}\msubb{}  v;v1))))
\mvdash{}  int\_term\_value(f;ipolynomial-term(if  (list-deq(IntDeq)  u  (snd(u1)))  \mvee{}\msubb{}ff
then  [u1  /  filter(\mlambda{}m.((list-deq(IntDeq)  u  (snd(m)))  \mvee{}\msubb{}snd(m)  \mmember{}\msubb{}  v);v1)]
else  filter(\mlambda{}m.((list-deq(IntDeq)  u  (snd(m)))  \mvee{}\msubb{}snd(m)  \mmember{}\msubb{}  v);v1)
fi  ))
=  (int\_term\_value(f;ipolynomial-term(if  list-deq(IntDeq)  u  (snd(u1))
    then  [u1  /  filter(\mlambda{}m.(list-deq(IntDeq)  u  (snd(m)));v1)]
    else  filter(\mlambda{}m.(list-deq(IntDeq)  u  (snd(m)));v1)
    fi  ))
    +  int\_term\_value(f;ipolynomial-term(filter(\mlambda{}m.snd(m)  \mmember{}\msubb{}  v;v1))))
By
Latex:
TACTIC:(BoolCase  \mkleeneopen{}list-deq(IntDeq)  u  (snd(u1))\mkleeneclose{}\mcdot{}  THENA  Auto)
Home
Index