File tree Expand file tree Collapse file tree
Mathlib/RingTheory/Polynomial Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -497,23 +497,21 @@ theorem U_eq_two_mul_T_add_U (n : ℤ) : U R (n + 2) = 2 * T R (n + 2) + U R n :
497497 linear_combination (norm := ring_nf) - (two_mul_T_eq_U_sub_U R n)
498498
499499theorem U_mem_span_T (n : ℕ) : U R n ∈ Submodule.span ℕ ((fun m : ℕ => T R m) '' Set.Icc 0 n) := by
500- induction n using Nat.twoStepInduction
501- case zero => simp
502- case one =>
500+ induction n using Nat.twoStepInduction with
501+ | zero => simp
502+ | one =>
503503 rw [show U R (1 : ℕ) = 2 * T R 1 by simp, ← smul_eq_mul]; norm_cast
504504 exact Submodule.smul_of_tower_mem _ 2 (Submodule.mem_span_of_mem ⟨1 , by simp⟩)
505- case more n h₀ _ =>
505+ | more n h₀ _ =>
506506 push_cast; rw [U_eq_two_mul_T_add_U, ← smul_eq_mul]; norm_cast
507507 refine Submodule.add_mem _ ?_ ((Submodule.span_mono (by grind)) h₀)
508508 · exact Submodule.smul_of_tower_mem _ 2
509509 (Submodule.mem_span_of_mem ⟨n + 2 , by simp⟩)
510510
511511/-- `T` defines an injection from `ℕ` to `R[X]` given by `T R n` -/
512- noncomputable def Tnat [IsDomain R] [NeZero (2 : R)] : ℕ ↪ R[X] :=
513- {
512+ noncomputable def Tnat [IsDomain R] [NeZero (2 : R)] : ℕ ↪ R[X] where
514513 toFun m := T R m
515514 inj' m₁ m₂ hm := by convert congrArg Polynomial.degree hm; simp [degree_T]
516- }
517515
518516theorem setOf_T_eq_map [IsDomain R] [NeZero (2 : R)] (n : ℕ) :
519517 {T R m | m ∈ Finset.Icc 0 n} = (Finset.Icc 0 n).map (Tnat (R := R)) := by grind
You can’t perform that action at this time.
0 commit comments