add foo and foofoo

This commit is contained in:
chelseaandmadrid 2023-06-15 20:27:29 -07:00
parent d5b2e4d431
commit 31210a9bf5

View file

@ -229,55 +229,49 @@ lemma PolyType_0 (f : ) : (PolyType f 0) ↔ (∃ (c : ), ∃ (N :
-- Δ of 0 times preserve the function -- Δ of 0 times preserves the function
lemma Δ_0 (f : ) : (Δ f 0) = f := by lemma Δ_0 (f : ) : (Δ f 0) = f := by tauto
tauto
-- Δ of 1 times decreaes the polynomial type by one
lemma Δ_1 (f : ) (d : ): d > 0 → PolyType f d → PolyType (Δ f 1) (d - 1) := by
sorry
lemma foo (f : ) (s : ) : Δ (Δ f 1) s = (Δ f (s + 1)) := by
sorry
-- Δ of d times maps polynomial of degree d to polynomial of degree 0 -- Δ of d times maps polynomial of degree d to polynomial of degree 0
lemma foofoo (d : ) : (f : ) → (PolyType f d) → (PolyType (Δ f d) 0):= by
induction' d with d hd
· intro f h
rw [Δ_0]
tauto
· intro f hf
have this1 : PolyType f (d + 1) := by tauto
have this2 : PolyType (Δ f (d + 1)) 0 := by
have this3 : PolyType (Δ f 1) d := by
sorry
clear hf
specialize hd (Δ f 1)
have this4 : PolyType (Δ (Δ f 1) d) 0 := by tauto
rw [foo] at this4
tauto
tauto
lemma Δ_d_PolyType_d_to_PolyType_0 (f : ) (d : ): PolyType f d → PolyType (Δ f d) 0 := by lemma Δ_d_PolyType_d_to_PolyType_0 (f : ) (d : ): PolyType f d → PolyType (Δ f d) 0 := by
intro h intro h
rcases h with ⟨Poly, hN⟩ have this : ∀ (d : ), ∀ (f :), (PolyType f d) → (PolyType (Δ f d) 0) := by
rcases hN with ⟨N, hh⟩ exact foofoo
rcases hh with ⟨H1, H2⟩ specialize this d f
have HH2 : d = Polynomial.degree Poly := by
tauto tauto
have HH3 : Polynomial.degree Poly = d := by
tauto
induction' d with d hd
-- Base case
· rw [PolyType_0]
have this : Poly = Polynomial.C (Polynomial.coeff Poly 0) := by
exact Polynomial.eq_C_of_degree_eq_zero HH3
let d := Polynomial.coeff Poly 0
have this11 : ∃ (c : ), c = d := by
sorry
rcases this11 with ⟨c, this1⟩
have this1 : c = Polynomial.coeff Poly 0 := by
tauto
use c; use N; intro n
constructor
· specialize H1 n
rw [Δ_0]
intro h
have this2 : f n = Polynomial.eval (n : ) Poly := by
tauto
have this3 : f n = (c : ) := by
rw [this2, this1]
let HHH := (Poly_constant Poly c).mp
sorry
exact Iff.mp (Rat.coe_int_inj (f n) c) this3
· intro c0
have this2 : (c : ) = 0 := by
exact congrArg Int.cast c0
have this3 : Polynomial.coeff Poly 0 = 0 := by
rw [←this1, this2]
sorry
-- Induction step
· sorry
@ -293,10 +287,13 @@ lemma a_to_b (f : ) (d : ) : (∃ (c : ), ∃ (N : ), ∀ (n
have H2 : c ≠ 0 := by have H2 : c ≠ 0 := by
tauto tauto
induction' d with d hd induction' d with d hd
-- Base case
· rw [PolyType_0] · rw [PolyType_0]
use c use c
use N use N
tauto tauto
-- Induction step
· sorry · sorry