@@ -48,8 +48,23 @@ public lemma sum_neg_one_pow_finrank_eq_zero_of_exact {n : ℕ} (V : Fin (n + 2)
4848 simp_rw [← smul_eq_mul]
4949 refine Fin.sum_neg_one_pow_eq_zero _ (fun i ↦ finrank k (f i).range) ?_ (fun i ↦ ?_) ?_
5050 · aesop
51- · grind [(h_exact i).linearMap_ker_eq, (f i.succ).finrank_range_add_finrank_ker]
52- · grind [finrank_top]
51+ · #adaptation_note /-- Prior to v4.31.0-rc1, this proof was
52+ ```
53+ grind [(h_exact i).linearMap_ker_eq, (f i.succ).finrank_range_add_finrank_ker]
54+ ```
55+ -/
56+ have hrn := (f i.succ).finrank_range_add_finrank_ker
57+ have hker : finrank k ↥(LinearMap.ker (f i.succ)) =
58+ finrank k ↥(LinearMap.range (f i.castSucc)) :=
59+ congrArg (fun S : Submodule k (V i.succ.castSucc) => finrank k ↥S)
60+ (h_exact i).linearMap_ker_eq
61+ omega
62+ · #adaptation_note /-- Prior to v4.31.0-rc1, this proof was
63+ ```
64+ grind [finrank_top]
65+ ```
66+ -/
67+ rw [surj, finrank_top, Fin.succ_last]
5368
5469/- An unrolled version of `Module.sum_neg_one_pow_finrank_eq_zero_of_exact`. This is an auxiliary
5570lemma en route to `Module.sum_neg_one_pow_finrank_eq_zero_of_exact_six`. -/
@@ -78,7 +93,7 @@ private lemma sum_neg_one_pow_finrank_eq_zero_of_exact_six_aux {V₀ V₁ V₂ V
7893 | 0 => ‹_› | 1 => ‹_› | 2 => ‹_› | 3 => ‹_› | 4 => ‹_› | 5 => ‹_›
7994 letI fs (i : Fin 5 ) : Vs i.castSucc →ₗ[k] Vs i.succ := match i with
8095 | 0 => f₀ | 1 => f₁ | 2 => f₂ | 3 => f₃ | 4 => f₄
81- simpa [Fin.sum_univ_six] using Module.sum_neg_one_pow_finrank_eq_zero_of_exact Vs fs inj
96+ simpa [Fin.sum_univ_six] using ! Module.sum_neg_one_pow_finrank_eq_zero_of_exact Vs fs inj
8297 (fun i ↦ by fin_cases i; exacts [exact₁, exact₂, exact₃, exact₄]) surj
8398
8499/-- This is an unrolled, universe-polymorphic version of
0 commit comments