Step * of Lemma ring_term_polynomial

r:CRng. ∀t:int_term().  ipolynomial-term(int_term_to_ipoly(t)) ≡ t
BY
xxx(Intro
      THEN BLemma `int_term-induction`
      THEN Auto
      THEN Unfold `int_term_to_ipoly` 0
      THEN Reduce 0
      THEN Try (Fold `int_term_to_ipoly` 0))xxx }

1
1. CRng
2. const : ℤ
⊢ ipolynomial-term(if const=0 then [] else [<const, []>]) ≡ "const"

2
1. CRng
2. var : ℤ
⊢ ipolynomial-term([<1, [var]>]) ≡ vvar

3
1. CRng
2. left int_term()
3. right int_term()
4. ipolynomial-term(int_term_to_ipoly(left)) ≡ left
5. ipolynomial-term(int_term_to_ipoly(right)) ≡ right
⊢ ipolynomial-term(add_ipoly(int_term_to_ipoly(left);int_term_to_ipoly(right))) ≡ left (+) right

4
1. CRng
2. left int_term()
3. right int_term()
4. ipolynomial-term(int_term_to_ipoly(left)) ≡ left
5. ipolynomial-term(int_term_to_ipoly(right)) ≡ right
⊢ ipolynomial-term(add_ipoly(int_term_to_ipoly(left);minus-poly(int_term_to_ipoly(right)))) ≡ left (-) right

5
1. CRng
2. left int_term()
3. right int_term()
4. ipolynomial-term(int_term_to_ipoly(left)) ≡ left
5. ipolynomial-term(int_term_to_ipoly(right)) ≡ right
⊢ ipolynomial-term(mul_ipoly(int_term_to_ipoly(left);int_term_to_ipoly(right))) ≡ left (*) right

6
1. CRng
2. num int_term()
3. ipolynomial-term(int_term_to_ipoly(num)) ≡ num
⊢ ipolynomial-term(minus-poly(int_term_to_ipoly(num))) ≡ "-"num


Latex:


Latex:
\mforall{}r:CRng.  \mforall{}t:int\_term().    ipolynomial-term(int\_term\_to\_ipoly(t))  \mequiv{}  t


By


Latex:
xxx(Intro
        THEN  BLemma  `int\_term-induction`
        THEN  Auto
        THEN  Unfold  `int\_term\_to\_ipoly`  0
        THEN  Reduce  0
        THEN  Try  (Fold  `int\_term\_to\_ipoly`  0))xxx




Home Index