Step * 1 2 2 1 2 2 2 1 2 of Lemma polynom-equal-iff


1. : ℤ
2. 0 < n
3. ∀p,q:polynom(n 1).
     ((↑poly-zero(n 1;add-polynom(n 1;tt;p;minus-polynom(n 1;q))))  (p q ∈ polynom(n 1)))
4. ∀q:polynom(n). (||minus-polynom(n;q)|| ||q|| ∈ ℤ)
5. ∀p,q:polynom(n 1) List. ∀rmz:𝔹.  (poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q))) ∈ 𝔹)
6. : ℤ
7. 0 < k
8. ∀p,q:polynom(n 1) List. ∀rmz:𝔹.
     ((||p|| ≤ (k 1))
      (||p|| ||q|| ∈ ℤ)
      (↑poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q))))
      (p q ∈ (polynom(n 1) List)))
9. polynom(n 1) List
10. polynom(n 1) List
11. rmz : 𝔹
12. ||p|| ≤ k
13. ||p|| ||q|| ∈ ℤ
14. ↑poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q)))
⊢ q ∈ (polynom(n 1) List)
BY
(RecUnfold `add-polynom` (-1)
   THEN (SplitOnHypITE -1  THENA Auto)
   THEN Try ((Assert ⌜False⌝⋅ THEN Complete (Auto)))
   THEN PromoteHyp (-1) 2
   THEN Reduce -1
   THEN (CallByValueReduce (-1)⋅ THENA Auto)) }

1
1. : ℤ
2. ¬(n 0 ∈ ℤ)
3. 0 < n
4. ∀p,q:polynom(n 1).
     ((↑poly-zero(n 1;add-polynom(n 1;tt;p;minus-polynom(n 1;q))))  (p q ∈ polynom(n 1)))
5. ∀q:polynom(n). (||minus-polynom(n;q)|| ||q|| ∈ ℤ)
6. ∀p,q:polynom(n 1) List. ∀rmz:𝔹.  (poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q))) ∈ 𝔹)
7. : ℤ
8. 0 < k
9. ∀p,q:polynom(n 1) List. ∀rmz:𝔹.
     ((||p|| ≤ (k 1))
      (||p|| ||q|| ∈ ℤ)
      (↑poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q))))
      (p q ∈ (polynom(n 1) List)))
10. polynom(n 1) List
11. polynom(n 1) List
12. rmz : 𝔹
13. ||p|| ≤ k
14. ||p|| ||q|| ∈ ℤ
15. ↑poly-zero(n;let qq ⟵ minus-polynom(n;q)
                 in if null(p) then qq
                 if null(qq) then p
                 else eval ||p|| in
                      eval ||qq|| in
                        if (m) < (k)
                           then let b,bs qq 
                                in let cs ⟵ add-polynom(n;ff;p;bs)
                                   in [b cs]
                           else if (k) < (m)
                                   then let a,as 
                                        in let cs ⟵ add-polynom(n;ff;as;qq)
                                           in [a cs]
                                   else let a,as 
                                        in let b,bs minus-polynom(n;q) 
                                           in let c ⟵ add-polynom(n 1;tt;a;b)
                                              in let cs ⟵ add-polynom(n;ff;as;bs)
                                                 in if rmz then rm-zeros(n 1;[c cs]) else [c cs] fi 
                 fi )
⊢ q ∈ (polynom(n 1) List)


Latex:


Latex:

1.  n  :  \mBbbZ{}
2.  0  <  n
3.  \mforall{}p,q:polynom(n  -  1).
          ((\muparrow{}poly-zero(n  -  1;add-polynom(n  -  1;tt;p;minus-polynom(n  -  1;q))))  {}\mRightarrow{}  (p  =  q))
4.  \mforall{}q:polynom(n).  (||minus-polynom(n;q)||  =  ||q||)
5.  \mforall{}p,q:polynom(n  -  1)  List.  \mforall{}rmz:\mBbbB{}.    (poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q)))  \mmember{}  \mBbbB{})
6.  k  :  \mBbbZ{}
7.  0  <  k
8.  \mforall{}p,q:polynom(n  -  1)  List.  \mforall{}rmz:\mBbbB{}.
          ((||p||  \mleq{}  (k  -  1))
          {}\mRightarrow{}  (||p||  =  ||q||)
          {}\mRightarrow{}  (\muparrow{}poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q))))
          {}\mRightarrow{}  (p  =  q))
9.  p  :  polynom(n  -  1)  List
10.  q  :  polynom(n  -  1)  List
11.  rmz  :  \mBbbB{}
12.  ||p||  \mleq{}  k
13.  ||p||  =  ||q||
14.  \muparrow{}poly-zero(n;add-polynom(n;rmz;p;minus-polynom(n;q)))
\mvdash{}  p  =  q


By


Latex:
(RecUnfold  `add-polynom`  (-1)
  THEN  (SplitOnHypITE  -1    THENA  Auto)
  THEN  Try  ((Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Complete  (Auto)))
  THEN  PromoteHyp  (-1)  2
  THEN  Reduce  -1
  THEN  (CallByValueReduce  (-1)\mcdot{}  THENA  Auto))




Home Index