Skip to content

Commit a6a1efc

Browse files
chore: tidy various files (#24331)
1 parent 62878e8 commit a6a1efc

File tree

20 files changed

+80
-119
lines changed

20 files changed

+80
-119
lines changed

Mathlib/Algebra/Algebra/Operations.lean

Lines changed: 10 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -523,12 +523,11 @@ theorem mem_span_mul_finite_of_mem_mul {P Q : Submodule R A} {x : A} (hx : x ∈
523523
variable {M N P}
524524

525525
theorem mem_span_singleton_mul {x y : A} : x ∈ span R {y} * P ↔ ∃ z ∈ P, y * z = x := by
526-
simp_rw [mul_eq_map₂, (· * ·), map₂_span_singleton_eq_map]
527-
rfl
526+
simp_rw [mul_eq_map₂, map₂_span_singleton_eq_map, mem_map, LinearMap.mul_apply_apply]
528527

529528
theorem mem_mul_span_singleton {x y : A} : x ∈ P * span R {y} ↔ ∃ z ∈ P, z * y = x := by
530-
simp_rw [mul_eq_map₂, (· * ·), map₂_span_singleton_eq_map_flip]
531-
rfl
529+
simp_rw [mul_eq_map₂, map₂_span_singleton_eq_map_flip, mem_map, LinearMap.flip_apply,
530+
LinearMap.mul_apply_apply]
532531

533532
lemma span_singleton_mul {x : A} {p : Submodule R A} :
534533
Submodule.span R {x} * p = x • p := ext fun _ ↦ mem_span_singleton_mul
@@ -541,8 +540,8 @@ lemma mem_smul_iff_inv_mul_mem {S} [DivisionSemiring S] [Algebra R S] {x : S} {p
541540

542541
lemma mul_mem_smul_iff {S} [CommRing S] [Algebra R S] {x : S} {p : Submodule R S} {y : S}
543542
(hx : x ∈ nonZeroDivisors S) :
544-
x * y ∈ x • p ↔ y ∈ p :=
545-
show Exists _ ↔ _ by simp [mul_cancel_left_mem_nonZeroDivisors hx]
543+
x * y ∈ x • p ↔ y ∈ p := by
544+
simp [mem_smul_pointwise_iff_exists, mul_cancel_left_mem_nonZeroDivisors hx]
546545

547546
variable (M N) in
548547
theorem mul_smul_mul_eq_smul_mul_smul (x y : R) : (x * y) • (M * N) = (x • M) * (y • N) := by
@@ -801,10 +800,8 @@ theorem mem_div_iff_forall_mul_mem {x : A} {I J : Submodule R A} : x ∈ I / J
801800
Iff.refl _
802801

803802
theorem mem_div_iff_smul_subset {x : A} {I J : Submodule R A} : x ∈ I / J ↔ x • (J : Set A) ⊆ I :=
804-
fun h y ⟨y', hy', xy'_eq_y⟩ => by
805-
rw [← xy'_eq_y]
806-
apply h
807-
assumption, fun h _ hy => h (Set.smul_mem_smul_set hy)⟩
803+
fun h y ⟨y', hy', xy'_eq_y⟩ => by rw [← xy'_eq_y]; exact h _ hy',
804+
fun h _ hy => h (Set.smul_mem_smul_set hy)⟩
808805

809806
theorem le_div_iff {I J K : Submodule R A} : I ≤ J / K ↔ ∀ x ∈ I, ∀ z ∈ K, x * z ∈ J :=
810807
Iff.refl _
@@ -813,9 +810,7 @@ theorem le_div_iff_mul_le {I J K : Submodule R A} : I ≤ J / K ↔ I * K ≤ J
813810
rw [le_div_iff, mul_le]
814811

815812
theorem one_le_one_div {I : Submodule R A} : 11 / I ↔ I ≤ 1 := by
816-
constructor; all_goals intro hI
817-
· rwa [le_div_iff_mul_le, one_mul] at hI
818-
· rwa [le_div_iff_mul_le, one_mul]
813+
rw [le_div_iff_mul_le, one_mul]
819814

820815
@[simp]
821816
theorem one_mem_div {I J : Submodule R A} : 1 ∈ I / J ↔ J ≤ I := by
@@ -836,7 +831,7 @@ theorem mul_one_div_le_one {I : Submodule R A} : I * (1 / I) ≤ 1 := by
836831
protected theorem map_div {B : Type*} [CommSemiring B] [Algebra R B] (I J : Submodule R A)
837832
(h : A ≃ₐ[R] B) : (I / J).map h.toLinearMap = I.map h.toLinearMap / J.map h.toLinearMap := by
838833
ext x
839-
simp only [mem_map, mem_div_iff_forall_mul_mem]
834+
simp only [mem_map, mem_div_iff_forall_mul_mem, AlgEquiv.toLinearMap_apply]
840835
constructor
841836
· rintro ⟨x, hx, rfl⟩ _ ⟨y, hy, rfl⟩
842837
exact ⟨x * y, hx _ hy, map_mul h x y⟩
@@ -845,9 +840,7 @@ protected theorem map_div {B : Type*} [CommSemiring B] [Algebra R B] (I J : Subm
845840
obtain ⟨xz, xz_mem, hxz⟩ := hx (h z) ⟨z, hz, rfl⟩
846841
convert xz_mem
847842
apply h.injective
848-
rw [map_mul, h.apply_symm_apply]
849-
simp only [AlgEquiv.toLinearMap_apply] at hxz
850-
rw [hxz]
843+
rw [map_mul, h.apply_symm_apply, hxz]
851844

852845
end Quotient
853846

Mathlib/Algebra/Polynomial/Laurent.lean

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -513,39 +513,38 @@ instance isLocalization : IsLocalization.Away (X : R[X]) R[T;T⁻¹] :=
513513
exact ⟨1, rfl⟩ }
514514

515515
theorem mk'_mul_T (p : R[X]) (n : ℕ) :
516-
IsLocalization.mk' R[T;T⁻¹] p (⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) * T n =
517-
toLaurent p := by
516+
IsLocalization.mk' R[T;T⁻¹] p (⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) * T n =
517+
toLaurent p := by
518518
rw [←toLaurent_X_pow, ←algebraMap_eq_toLaurent, IsLocalization.mk'_spec, algebraMap_eq_toLaurent]
519519

520520
@[simp]
521-
theorem mk'_eq (p : R[X]) (n : ℕ) : IsLocalization.mk' R[T;T⁻¹] p
522-
(⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) = toLaurent p * T (-n) := by
521+
theorem mk'_eq (p : R[X]) (n : ℕ) :
522+
IsLocalization.mk' R[T;T⁻¹] p (⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) =
523+
toLaurent p * T (-n) := by
523524
rw [←IsUnit.mul_left_inj (isUnit_T n), mul_T_assoc, neg_add_cancel, T_zero, mul_one]
524525
exact mk'_mul_T p n
525526

526-
theorem mk'_one_X_pow (n : ℕ) : IsLocalization.mk' R[T;T⁻¹] 1
527-
(⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) = T (-n) := by
527+
theorem mk'_one_X_pow (n : ℕ) :
528+
IsLocalization.mk' R[T;T⁻¹] 1 (⟨X^n, n, rfl⟩ : Submonoid.powers (X : R[X])) = T (-n) := by
528529
rw [mk'_eq 1 n, toLaurent_one, one_mul]
529530

530531
@[simp]
531-
theorem mk'_one_X : IsLocalization.mk' R[T;T⁻¹] 1
532-
(⟨X, 1, pow_one X⟩ : Submonoid.powers (X : R[X])) = T (-1) := by
532+
theorem mk'_one_X :
533+
IsLocalization.mk' R[T;T⁻¹] 1 (⟨X, 1, pow_one X⟩ : Submonoid.powers (X : R[X])) = T (-1) := by
533534
convert mk'_one_X_pow 1
534535
exact (pow_one X).symm
535536

536537
/-- Given a ring homomorphism `f : R →+* S` and a unit `x` in `S`, the induced homomorphism
537538
`R[T;T⁻¹] →+* S` sending `T` to `x` and `T⁻¹` to `x⁻¹`. -/
538539
def eval₂ : R[T;T⁻¹] →+* S :=
539-
IsLocalization.lift (M := Submonoid.powers (X : R[X])) (g := Polynomial.eval₂RingHom f x) (by
540+
IsLocalization.lift (M := Submonoid.powers (X : R[X])) (g := Polynomial.eval₂RingHom f x) <| by
540541
rintro ⟨y, n, rfl⟩
541-
simpa only [coe_eval₂RingHom, eval₂_X_pow] using IsUnit.pow n x.isUnit
542-
)
542+
simpa only [coe_eval₂RingHom, eval₂_X_pow] using x.isUnit.pow n
543543

544544
@[simp]
545545
theorem eval₂_toLaurent (p : R[X]) : eval₂ f x (toLaurent p) = Polynomial.eval₂ f x p := by
546546
unfold eval₂
547-
rw [←algebraMap_eq_toLaurent, IsLocalization.lift_eq]
548-
rfl
547+
rw [←algebraMap_eq_toLaurent, IsLocalization.lift_eq, coe_eval₂RingHom]
549548

550549
theorem eval₂_T_n (n : ℕ) : eval₂ f x (T n) = x ^ n := by
551550
rw [←Polynomial.toLaurent_X_pow, eval₂_toLaurent, eval₂_X_pow]
@@ -562,8 +561,7 @@ theorem eval₂_T (n : ℤ) : eval₂ f x (T n) = (x ^ n).val := by
562561
· lift n to ℕ using hn
563562
apply eval₂_T_n
564563
· obtain ⟨m, rfl⟩ := Int.exists_eq_neg_ofNat (Int.le_of_not_le hn)
565-
rw [eval₂_T_neg_n, zpow_neg]
566-
rfl
564+
rw [eval₂_T_neg_n, zpow_neg, zpow_natCast, ← inv_pow, Units.val_pow_eq_pow_val]
567565

568566
@[simp]
569567
theorem eval₂_C (r : R) : eval₂ f x (C r) = f r := by
@@ -579,11 +577,10 @@ theorem eval₂_C_mul_T_neg_n (r : R) (n : ℕ) : eval₂ f x (C r * T (-n)) =
579577
theorem eval₂_C_mul_T (r : R) (n : ℤ) : eval₂ f x (C r * T n) = f r * (x ^ n).val := by
580578
by_cases hn : 0 ≤ n
581579
· lift n to ℕ using hn
582-
rw [map_mul, eval₂_C, eval₂_T_n]
583-
rfl
580+
rw [map_mul, eval₂_C, eval₂_T_n, zpow_natCast, Units.val_pow_eq_pow_val]
584581
· obtain ⟨m, rfl⟩ := Int.exists_eq_neg_ofNat (Int.le_of_not_le hn)
585-
rw [map_mul, eval₂_C, eval₂_T_neg_n, zpow_neg]
586-
rfl
582+
rw [map_mul, eval₂_C, eval₂_T_neg_n, zpow_neg, zpow_natCast, ← inv_pow,
583+
Units.val_pow_eq_pow_val]
587584

588585
end CommSemiring
589586

Mathlib/AlgebraicGeometry/Cover/MorphismProperty.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ lemma Cover.exists_eq (𝒰 : X.Cover P) (x : X) : ∃ i y, (𝒰.map i).base y
7777
⟨_, 𝒰.covers x⟩
7878

7979
/-- Given a family of schemes with morphisms to `X` satisfying `P` that jointly
80-
cover `X`, this an associated `P`-cover of `X`. -/
80+
cover `X`, `Cover.mkOfCovers` is an associated `P`-cover of `X`. -/
8181
@[simps]
8282
def Cover.mkOfCovers (J : Type*) (obj : J → Scheme.{u}) (map : (j : J) → obj j ⟶ X)
8383
(covers : ∀ x, ∃ j y, (map j).base y = x)

Mathlib/AlgebraicTopology/SimplexCategory/GeneratorsRelations/NormalForms.lean

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ lemma cons (L : List ℕ) (hL : IsAdmissible (m + 1) L) (a : ℕ) (ha : a ≤ m)
9292

9393
/-- The tail of an `m`-admissible list is (m+1)-admissible. -/
9494
lemma tail (a : ℕ) (l : List ℕ) (h : IsAdmissible m (a::l)) :
95-
IsAdmissible (m + 1) l := by
95+
IsAdmissible (m + 1) l := by
9696
refine ⟨(List.sorted_cons.mp h.sorted).right, ?_⟩
9797
intro k _
9898
simpa [Nat.add_assoc, Nat.add_comm 1] using h.le (k + 1) (by simpa)
@@ -122,7 +122,7 @@ def simplicialInsert (a : ℕ) : List ℕ → List ℕ
122122
| [] => [a]
123123
| b :: l => if a < b then a :: b :: l else b :: simplicialInsert (a + 1) l
124124

125-
/-- `simplicialInsert ` just adds one to the length. -/
125+
/-- `simplicialInsert` just adds one to the length. -/
126126
lemma simplicialInsert_length (a : ℕ) (L : List ℕ) :
127127
(simplicialInsert a L).length = L.length + 1 := by
128128
induction L generalizing a with

Mathlib/Analysis/CStarAlgebra/ContinuousFunctionalCalculus/Pi.lean

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,15 +39,15 @@ lemma cfcₙ_map_pi (f : R → R) (a : ∀ i, A i)
3939
(hf : ContinuousOn f (⋃ i, quasispectrum R (a i)) := by cfc_cont_tac)
4040
(ha : p a := by cfc_tac) (ha' : ∀ i, q i (a i) := by cfc_tac) :
4141
cfcₙ f a = fun i => cfcₙ f (a i) := by
42-
by_cases hempty : Nonempty ι
43-
· by_cases hf₀ : f 0 = 0
42+
cases isEmpty_or_nonempty ι with
43+
| inr h =>
44+
by_cases hf₀ : f 0 = 0
4445
· ext i
4546
let φ := Pi.evalNonUnitalStarAlgHom S A i
4647
exact φ.map_cfcₙ f a (by rwa [Pi.quasispectrum_eq]) hf₀ (continuous_apply i) ha (ha' i)
47-
· simp only [cfcₙ_apply_of_not_map_zero _ hf₀]; rfl
48-
· simp only [not_nonempty_iff] at hempty
49-
ext i
50-
exact hempty.elim i
48+
· simp only [cfcₙ_apply_of_not_map_zero _ hf₀, Pi.zero_def]
49+
| inl h =>
50+
exact Subsingleton.elim _ _
5151

5252
end nonunital_pi
5353

Mathlib/Analysis/Complex/Periodic.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -167,7 +167,7 @@ variable {h : ℝ} {f : ℂ → ℂ}
167167

168168
theorem boundedAtFilter_cuspFunction (hh : 0 < h) (h_bd : BoundedAtFilter I∞ f) :
169169
BoundedAtFilter (𝓝[≠] 0) (cuspFunction h f) := by
170-
refine (h_bd.comp_tendsto <| invQParam_tendsto hh).congr' ?_ (by rfl)
170+
refine (h_bd.comp_tendsto <| invQParam_tendsto hh).congr' ?_ (by simp)
171171
refine eventually_nhdsWithin_of_forall fun q hq ↦ ?_
172172
rw [cuspFunction_eq_of_nonzero _ _ hq, comp_def]
173173

Mathlib/Analysis/Fourier/BoundedContinuousFunctionChar.lean

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -138,32 +138,20 @@ lemma star_mem_range_charAlgHom (he : Continuous e) (hL : Continuous fun p : V
138138
simp only [charAlgHom_apply, Finsupp.support_embDomain, Finset.sum_map,
139139
Finsupp.embDomain_apply, star_apply, star_sum, star_mul', Circle.star_addChar]
140140
rw [Finsupp.support_mapRange_of_injective (star_zero _) y star_injective]
141-
simp_rw [← map_neg (L u)]
142-
rfl
141+
simp [z, f]
143142

144143
/-- The star-subalgebra of polynomials. -/
145144
noncomputable
146145
def charPoly (he : Continuous e) (hL : Continuous fun p : V × W ↦ L p.1 p.2) :
147146
StarSubalgebra ℂ (V →ᵇ ℂ) where
148147
toSubalgebra := (charAlgHom he hL).range
149-
star_mem' := by
150-
intro x hx
151-
exact star_mem_range_charAlgHom he hL hx
148+
star_mem' hx := star_mem_range_charAlgHom he hL hx
152149

153150
lemma mem_charPoly (f : V →ᵇ ℂ) :
154151
f ∈ charPoly he hL
155152
↔ ∃ w : AddMonoidAlgebra ℂ W, f = fun x ↦ ∑ a ∈ w.support, w a * (e (L x a) : ℂ) := by
156153
change f ∈ (charAlgHom he hL).range ↔ _
157-
rw [AlgHom.mem_range]
158-
constructor
159-
· rintro ⟨y, rfl⟩
160-
refine ⟨y, ?_⟩
161-
ext
162-
simp
163-
· rintro ⟨y, h⟩
164-
refine ⟨y, ?_⟩
165-
ext
166-
simp [h]
154+
simp [BoundedContinuousFunction.ext_iff, funext_iff, eq_comm]
167155

168156
lemma char_mem_charPoly (w : W) : char he hL w ∈ charPoly he hL := by
169157
rw [mem_charPoly]

Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/Basic.lean

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -515,11 +515,10 @@ lemma sqrt_rpow_nnreal {a : A} {x : ℝ≥0} : sqrt (a ^ (x : ℝ)) = a ^ (x / 2
515515
by_cases htriv : 0 ≤ a
516516
case neg => simp [sqrt_eq_cfc, rpow_def, cfc_apply_of_not_predicate a htriv]
517517
case pos =>
518-
by_cases hx : x = 0
519-
case pos => simp [hx, rpow_zero _ htriv]
520-
case neg =>
521-
have h₁ : 0 < x := lt_of_le_of_ne (by simp) (Ne.symm hx)
522-
have h₂ : (x : ℝ) / 2 = NNReal.toReal (x / 2) := rfl
518+
cases eq_zero_or_pos x with
519+
| inl hx => simp [hx, rpow_zero _ htriv]
520+
| inr h₁ =>
521+
have h₂ : (x : ℝ) / 2 = NNReal.toReal (x / 2) := by simp
523522
have h₃ : 0 < x / 2 := by positivity
524523
rw [← nnrpow_eq_rpow h₁, h₂, ← nnrpow_eq_rpow h₃, sqrt_nnrpow (A := A)]
525524

Mathlib/Combinatorics/Enumerative/IncidenceAlgebra.lean

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,6 @@ import Mathlib.Algebra.BigOperators.Ring.Finset
99
import Mathlib.Algebra.Module.BigOperators
1010
import Mathlib.Algebra.Module.Pi
1111

12-
/-! -/
13-
-- fake module docstring just so that I can disable the long line linter without getting linted for
14-
-- a missing module docstring!
15-
16-
set_option linter.style.longLine false in
1712
/-!
1813
# Incidence algebras
1914
@@ -66,7 +61,8 @@ Here are some additions to this file that could be made in the future:
6661
6762
* [Aigner, *Combinatorial Theory, Chapter IV*][aigner1997]
6863
* [Jacobson, *Basic Algebra I, 8.6*][jacobson1974]
69-
* [Doubilet, Rota, Stanley, *On the foundations of Combinatorial Theory VI*][doubilet_rota_stanley_vi]
64+
* [Doubilet, Rota, Stanley, *On the foundations of Combinatorial Theory
65+
VI*][doubilet_rota_stanley_vi]
7066
* [Spiegel, O'Donnell, *Incidence Algebras*][spiegel_odonnel1997]
7167
* [Kung, Rota, Yan, *Combinatorics: The Rota Way, Chapter 3*][kung_rota_yan2009]
7268
-/
@@ -385,7 +381,7 @@ private lemma muFun_apply (a b : α) :
385381
def mu : IncidenceAlgebra 𝕜 α :=
386382
⟨muFun 𝕜, fun a b ↦ not_imp_comm.1 fun h ↦ by
387383
rw [muFun_apply] at h
388-
split_ifs at h with hab
384+
split_ifs at h with hab
389385
· exact hab.le
390386
· rw [neg_eq_zero] at h
391387
obtain ⟨⟨x, hx⟩, -⟩ := exists_ne_zero_of_sum_ne_zero h
@@ -446,7 +442,7 @@ private def mu' : IncidenceAlgebra 𝕜 α :=
446442
not_imp_comm.1 fun h ↦ by
447443
dsimp only at h
448444
rw [muFun'_apply] at h
449-
split_ifs at h with hab
445+
split_ifs at h with hab
450446
· exact hab.le
451447
· rw [neg_eq_zero] at h
452448
obtain ⟨⟨x, hx⟩, -⟩ := exists_ne_zero_of_sum_ne_zero h
@@ -522,7 +518,7 @@ lemma mu_toDual (a b : α) : mu 𝕜 (toDual a) (toDual b) = mu 𝕜 b a := by
522518
let mud : IncidenceAlgebra 𝕜 αᵒᵈ :=
523519
{ toFun := fun a b ↦ mu 𝕜 (ofDual b) (ofDual a)
524520
eq_zero_of_not_le' := fun a b hab ↦ apply_eq_zero_of_not_le (by exact hab) _ }
525-
suffices mu 𝕜 = mud by rw [this]; rfl
521+
suffices mu 𝕜 = mud by simp_rw [this, mud, coe_mk, ofDual_toDual]
526522
suffices mud * zeta 𝕜 = 1 by
527523
rw [← mu_mul_zeta] at this
528524
apply_fun (· * mu 𝕜) at this
@@ -571,10 +567,12 @@ lemma moebius_inversion_top (f g : α → 𝕜) (h : ∀ x, g x = ∑ y ∈ Ici
571567
_ = ∑ z ∈ Ici x, (mu 𝕜 * zeta 𝕜 : IncidenceAlgebra 𝕜 α) x z * f z := by
572568
simp_rw [mul_apply, sum_mul]
573569
_ = ∑ y ∈ Ici x, ∑ z ∈ Ici y, (1 : IncidenceAlgebra 𝕜 α) x z * f z := by
574-
simp [mu_mul_zeta 𝕜, ← add_sum_Ioi_eq_sum_Ici]
570+
simp only [mu_mul_zeta 𝕜, one_apply, ite_mul, one_mul, zero_mul, sum_ite_eq, mem_Ici, le_refl,
571+
↓reduceIte, ← add_sum_Ioi_eq_sum_Ici, left_eq_add]
575572
exact sum_eq_zero fun y hy ↦ if_neg (mem_Ioi.mp hy).not_le
576573
_ = f x := by
577-
simp [one_apply, ← add_sum_Ioi_eq_sum_Ici]
574+
simp only [one_apply, ite_mul, one_mul, zero_mul, sum_ite_eq, mem_Ici,
575+
← add_sum_Ioi_eq_sum_Ici, le_refl, ↓reduceIte, add_eq_left]
578576
exact sum_eq_zero fun y hy ↦ if_neg (mem_Ioi.mp hy).not_le
579577

580578
end InversionTop

Mathlib/Combinatorics/SimpleGraph/Diam.lean

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -415,28 +415,23 @@ lemma center_eq_univ_iff_radius_eq_ediam [Nonempty α] :
415415
exact le_antisymm (le_iInf fun u ↦ (h u).ge) ((h Classical.ofNonempty) ▸ radius_le_eccent)
416416

417417
lemma center_eq_univ_of_subsingleton [Subsingleton α] : G.center = Set.univ := by
418-
rw [← Set.univ_subset_iff]
419-
intro u h
420-
rw [mem_center_iff, eccent_eq_zero_of_subsingleton u]
421-
cases isEmpty_or_nonempty α
422-
· rw [Set.univ_eq_empty_iff.mpr ‹_›] at h
423-
exact h.elim
424-
· symm
425-
rw [radius_eq_zero_iff]
426-
tauto
418+
rw [Set.eq_univ_iff_forall]
419+
intro u
420+
rw [mem_center_iff, eccent_eq_zero_of_subsingleton u, eq_comm, radius_eq_zero_iff]
421+
tauto
427422

428423
lemma center_bot : (⊥ : SimpleGraph α).center = Set.univ := by
429424
cases subsingleton_or_nontrivial α
430425
· exact center_eq_univ_of_subsingleton
431-
· rw [Set.univ_subset_iff]
432-
intro u h
426+
· rw [Set.eq_univ_iff_forall]
427+
intro u
433428
rw [mem_center_iff, eccent_bot, radius_bot]
434429

435430
lemma center_top : (⊤ : SimpleGraph α).center = Set.univ := by
436431
cases subsingleton_or_nontrivial α
437432
· exact center_eq_univ_of_subsingleton
438-
· rw [Set.univ_subset_iff]
439-
intro u h
433+
· rw [Set.eq_univ_iff_forall]
434+
intro u
440435
rw [mem_center_iff, eccent_top, radius_top]
441436

442437
end center

0 commit comments

Comments
 (0)