Skip to content

Commit b223d9c

Browse files
Trigger CI for leanprover/lean4#8424
2 parents f16ed11 + b199347 commit b223d9c

File tree

233 files changed

+4664
-1795
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

233 files changed

+4664
-1795
lines changed

Archive/Imo/Imo1981Q3.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ theorem imp_fib {n : ℕ} : ∀ m : ℕ, NatPredicate N m n → ∃ k : ℕ, m =
114114
obtain (rfl : 1 = n) | (h4 : 1 < n) := (succ_le_iff.mpr h2.n_pos).eq_or_lt
115115
· use 1
116116
have h5 : 1 ≤ m := succ_le_iff.mpr h2.m_pos
117-
simpa [fib_one, fib_two, (by decide : 1 + 1 = 2)] using (h3.antisymm h5 : m = 1)
117+
simpa using h3.antisymm h5
118118
· obtain (rfl : m = n) | (h6 : m < n) := h3.eq_or_lt
119119
· exact absurd h2.eq_imp_1 (Nat.ne_of_gt h4)
120120
· have h7 : NatPredicate N (n - m) m := h2.reduction h4

Archive/Wiedijk100Theorems/PerfectNumbers.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ namespace Nat
3434
open ArithmeticFunction Finset
3535

3636
theorem sigma_two_pow_eq_mersenne_succ (k : ℕ) : σ 1 (2 ^ k) = mersenne (k + 1) := by
37-
simp_rw [sigma_one_apply, mersenne, show 2 = 1 + 1 from rfl, ← geom_sum_mul_add 1 (k + 1)]
37+
simp_rw [sigma_one_apply, mersenne, ← one_add_one_eq_two, ← geom_sum_mul_add 1 (k + 1)]
3838
norm_num
3939

4040
/-- Euclid's theorem that Mersenne primes induce perfect numbers -/

Counterexamples/Phillips.lean

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -548,11 +548,9 @@ theorem comp_ae_eq_const (Hcont : #ℝ = ℵ₁) (φ : (DiscreteCopy ℝ →ᵇ
548548

549549
theorem integrable_comp (Hcont : #ℝ = ℵ₁) (φ : (DiscreteCopy ℝ →ᵇ ℝ) →L[ℝ] ℝ) :
550550
IntegrableOn (fun x => φ (f Hcont x)) (Icc 0 1) := by
551-
have :
552-
IntegrableOn (fun _ => φ.toBoundedAdditiveMeasure.continuousPart univ) (Icc (0 : ℝ) 1)
553-
volume := by
554-
simp [integrableOn_const]
555-
apply Integrable.congr this (comp_ae_eq_const Hcont φ)
551+
have : IntegrableOn (fun _ => φ.toBoundedAdditiveMeasure.continuousPart univ) (Icc (0 : ℝ) 1)
552+
volume := by simp
553+
exact Integrable.congr this (comp_ae_eq_const Hcont φ)
556554

557555
theorem integral_comp (Hcont : #ℝ = ℵ₁) (φ : (DiscreteCopy ℝ →ᵇ ℝ) →L[ℝ] ℝ) :
558556
∫ x in Icc 0 1, φ (f Hcont x) = φ.toBoundedAdditiveMeasure.continuousPart univ := by

Mathlib.lean

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1137,6 +1137,7 @@ import Mathlib.AlgebraicGeometry.Gluing
11371137
import Mathlib.AlgebraicGeometry.GluingOneHypercover
11381138
import Mathlib.AlgebraicGeometry.IdealSheaf
11391139
import Mathlib.AlgebraicGeometry.IdealSheaf.Basic
1140+
import Mathlib.AlgebraicGeometry.IdealSheaf.Functorial
11401141
import Mathlib.AlgebraicGeometry.IdealSheaf.Subscheme
11411142
import Mathlib.AlgebraicGeometry.Limits
11421143
import Mathlib.AlgebraicGeometry.Modules.Presheaf
@@ -1285,6 +1286,7 @@ import Mathlib.Analysis.Asymptotics.Completion
12851286
import Mathlib.Analysis.Asymptotics.Defs
12861287
import Mathlib.Analysis.Asymptotics.ExpGrowth
12871288
import Mathlib.Analysis.Asymptotics.Lemmas
1289+
import Mathlib.Analysis.Asymptotics.LinearGrowth
12881290
import Mathlib.Analysis.Asymptotics.SpecificAsymptotics
12891291
import Mathlib.Analysis.Asymptotics.SuperpolynomialDecay
12901292
import Mathlib.Analysis.Asymptotics.TVS
@@ -2017,6 +2019,7 @@ import Mathlib.CategoryTheory.Enriched.Ordinary.Basic
20172019
import Mathlib.CategoryTheory.EpiMono
20182020
import Mathlib.CategoryTheory.EqToHom
20192021
import Mathlib.CategoryTheory.Equivalence
2022+
import Mathlib.CategoryTheory.Equivalence.Symmetry
20202023
import Mathlib.CategoryTheory.EssentialImage
20212024
import Mathlib.CategoryTheory.EssentiallySmall
20222025
import Mathlib.CategoryTheory.Extensive
@@ -3095,7 +3098,6 @@ import Mathlib.Data.List.TakeWhile
30953098
import Mathlib.Data.List.ToFinsupp
30963099
import Mathlib.Data.List.Triplewise
30973100
import Mathlib.Data.List.Zip
3098-
import Mathlib.Data.LocallyFinsupp
30993101
import Mathlib.Data.MLList.BestFirst
31003102
import Mathlib.Data.Matrix.Auto
31013103
import Mathlib.Data.Matrix.Basic
@@ -3709,6 +3711,7 @@ import Mathlib.GroupTheory.GroupAction.Primitive
37093711
import Mathlib.GroupTheory.GroupAction.Quotient
37103712
import Mathlib.GroupTheory.GroupAction.Ring
37113713
import Mathlib.GroupTheory.GroupAction.SubMulAction
3714+
import Mathlib.GroupTheory.GroupAction.SubMulAction.OfStabilizer
37123715
import Mathlib.GroupTheory.GroupAction.SubMulAction.Pointwise
37133716
import Mathlib.GroupTheory.GroupAction.Support
37143717
import Mathlib.GroupTheory.GroupAction.Transitive
@@ -5037,7 +5040,6 @@ import Mathlib.RingTheory.Congruence.Opposite
50375040
import Mathlib.RingTheory.Coprime.Basic
50385041
import Mathlib.RingTheory.Coprime.Ideal
50395042
import Mathlib.RingTheory.Coprime.Lemmas
5040-
import Mathlib.RingTheory.CotangentLocalizationAway
50415043
import Mathlib.RingTheory.DedekindDomain.AdicValuation
50425044
import Mathlib.RingTheory.DedekindDomain.Basic
50435045
import Mathlib.RingTheory.DedekindDomain.Different
@@ -5067,7 +5069,11 @@ import Mathlib.RingTheory.Etale.Field
50675069
import Mathlib.RingTheory.Etale.Kaehler
50685070
import Mathlib.RingTheory.Etale.Pi
50695071
import Mathlib.RingTheory.EuclideanDomain
5070-
import Mathlib.RingTheory.Extension
5072+
import Mathlib.RingTheory.Extension.Basic
5073+
import Mathlib.RingTheory.Extension.Cotangent.Basic
5074+
import Mathlib.RingTheory.Extension.Cotangent.LocalizationAway
5075+
import Mathlib.RingTheory.Extension.Generators
5076+
import Mathlib.RingTheory.Extension.Presentation.Basic
50715077
import Mathlib.RingTheory.FilteredAlgebra.Basic
50725078
import Mathlib.RingTheory.Filtration
50735079
import Mathlib.RingTheory.FiniteLength
@@ -5105,7 +5111,6 @@ import Mathlib.RingTheory.FractionalIdeal.Operations
51055111
import Mathlib.RingTheory.FreeCommRing
51065112
import Mathlib.RingTheory.FreeRing
51075113
import Mathlib.RingTheory.Frobenius
5108-
import Mathlib.RingTheory.Generators
51095114
import Mathlib.RingTheory.GradedAlgebra.Basic
51105115
import Mathlib.RingTheory.GradedAlgebra.FiniteType
51115116
import Mathlib.RingTheory.GradedAlgebra.Homogeneous.Ideal
@@ -5185,7 +5190,6 @@ import Mathlib.RingTheory.Jacobson.Radical
51855190
import Mathlib.RingTheory.Jacobson.Ring
51865191
import Mathlib.RingTheory.Jacobson.Semiprimary
51875192
import Mathlib.RingTheory.Kaehler.Basic
5188-
import Mathlib.RingTheory.Kaehler.CotangentComplex
51895193
import Mathlib.RingTheory.Kaehler.JacobiZariski
51905194
import Mathlib.RingTheory.Kaehler.Polynomial
51915195
import Mathlib.RingTheory.Kaehler.TensorProduct
@@ -5350,7 +5354,6 @@ import Mathlib.RingTheory.PowerSeries.Substitution
53505354
import Mathlib.RingTheory.PowerSeries.Trunc
53515355
import Mathlib.RingTheory.PowerSeries.WeierstrassPreparation
53525356
import Mathlib.RingTheory.PowerSeries.WellKnown
5353-
import Mathlib.RingTheory.Presentation
53545357
import Mathlib.RingTheory.Prime
53555358
import Mathlib.RingTheory.PrincipalIdealDomain
53565359
import Mathlib.RingTheory.PrincipalIdealDomainOfPrime
@@ -5837,6 +5840,7 @@ import Mathlib.Testing.Plausible.Sampleable
58375840
import Mathlib.Testing.Plausible.Testable
58385841
import Mathlib.Topology.AlexandrovDiscrete
58395842
import Mathlib.Topology.Algebra.Affine
5843+
import Mathlib.Topology.Algebra.AffineSubspace
58405844
import Mathlib.Topology.Algebra.Algebra
58415845
import Mathlib.Topology.Algebra.Algebra.Equiv
58425846
import Mathlib.Topology.Algebra.Algebra.Rat
@@ -6174,6 +6178,7 @@ import Mathlib.Topology.LocallyClosed
61746178
import Mathlib.Topology.LocallyConstant.Algebra
61756179
import Mathlib.Topology.LocallyConstant.Basic
61766180
import Mathlib.Topology.LocallyFinite
6181+
import Mathlib.Topology.LocallyFinsupp
61776182
import Mathlib.Topology.Maps.Basic
61786183
import Mathlib.Topology.Maps.OpenQuotient
61796184
import Mathlib.Topology.Maps.Proper.Basic

Mathlib/Algebra/Algebra/Basic.lean

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,11 @@ theorem mem_algebraMapSubmonoid_of_mem {S : Type*} [Semiring S] [Algebra R S] {M
116116
(x : M) : algebraMap R S x ∈ algebraMapSubmonoid S M :=
117117
Set.mem_image_of_mem (algebraMap R S) x.2
118118

119+
@[simp]
120+
lemma algebraMapSubmonoid_powers {S : Type*} [Semiring S] [Algebra R S] (r : R) :
121+
Algebra.algebraMapSubmonoid S (.powers r) = Submonoid.powers (algebraMap R S r) := by
122+
simp [Algebra.algebraMapSubmonoid]
123+
119124
end Semiring
120125

121126
section CommSemiring

Mathlib/Algebra/CharP/LocalRing.lean

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,11 +46,9 @@ theorem charP_zero_or_prime_power (R : Type*) [CommRing R] [IsLocalRing R] (q :
4646
rw [map_natCast] at a_cast_zero
4747
have r_dvd_a := (ringChar.spec K a).1 a_cast_zero
4848
exact absurd r_dvd_a r_ne_dvd_a
49-
-- Let `b` be the inverse of `a`.
5049
have rn_cast_zero : ↑(r ^ n) = (0 : R) := by
51-
rw [← @mul_one R _ ↑(r ^ n), mul_comm, ← Classical.choose_spec a_unit.exists_left_inv,
52-
mul_assoc, ← Nat.cast_mul, ← q_eq_a_mul_rn, CharP.cast_eq_zero R q]
53-
simp
50+
rw [← one_mul (↑(r ^ n) : R), ← a_unit.val_inv_mul, mul_assoc, ← Nat.cast_mul,
51+
← q_eq_a_mul_rn, CharP.cast_eq_zero R q, mul_zero]
5452
have q_eq_rn := Nat.dvd_antisymm ((CharP.cast_eq_zero_iff R q (r ^ n)).mp rn_cast_zero) rn_dvd_q
5553
have n_pos : n ≠ 0 := fun n_zero =>
5654
absurd (by simpa [n_zero] using q_eq_rn) (CharP.char_ne_one R q)

Mathlib/Algebra/DirectSum/Ring.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -642,7 +642,7 @@ instance CommSemiring.directSumGCommSemiring {R : Type*} [AddCommMonoid ι] [Com
642642
__ := CommMonoid.gCommMonoid ι
643643

644644
/-- A direct sum of copies of a `CommRing` inherits the commutative multiplication structure. -/
645-
instance CommmRing.directSumGCommRing {R : Type*} [AddCommMonoid ι] [CommRing R] :
645+
instance CommRing.directSumGCommRing {R : Type*} [AddCommMonoid ι] [CommRing R] :
646646
DirectSum.GCommRing fun _ : ι => R where
647647
__ := Ring.directSumGRing ι
648648
__ := CommMonoid.gCommMonoid ι

Mathlib/Algebra/Free.lean

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -173,7 +173,7 @@ protected def recOnPure {C : FreeMagma α → Sort l} (x) (ih1 : ∀ x, C (pure
173173
FreeMagma.recOnMul x ih1 ih2
174174

175175
@[to_additive (attr := simp)]
176-
theorem map_pure (f : α → β) (x) : (f <$> pure x : FreeMagma β) = pure (f x) := rfl
176+
protected theorem map_pure (f : α → β) (x) : (f <$> pure x : FreeMagma β) = pure (f x) := rfl
177177

178178
@[to_additive (attr := simp)]
179179
theorem map_mul' (f : α → β) (x y : FreeMagma α) : f <$> (x * y) = f <$> x * f <$> y := rfl
@@ -249,8 +249,7 @@ theorem traverse_mul' :
249249
@[to_additive (attr := simp)]
250250
theorem traverse_eq (x) : FreeMagma.traverse F x = traverse F x := rfl
251251

252-
-- This is not a simp lemma because the left-hand side is not in simp normal form.
253-
@[to_additive]
252+
@[to_additive (attr := deprecated "Use map_pure and seq_pure" (since := "2025-05-21"))]
254253
theorem mul_map_seq (x y : FreeMagma α) :
255254
((· * ·) <$> x <*> y : Id (FreeMagma α)) = (x * y : FreeMagma α) := rfl
256255

@@ -259,7 +258,7 @@ instance : LawfulTraversable FreeMagma.{u} :=
259258
{ instLawfulMonad with
260259
id_traverse := fun x ↦
261260
FreeMagma.recOnPure x (fun _ ↦ rfl) fun x y ih1 ih2 ↦ by
262-
rw [traverse_mul, ih1, ih2, mul_map_seq]
261+
rw [traverse_mul, ih1, ih2, seq_pure, map_pure, map_pure]
263262
comp_traverse := fun f g x ↦
264263
FreeMagma.recOnPure x
265264
(fun x ↦ by simp only [Function.comp_def, traverse_pure, traverse_pure', functor_norm])
@@ -273,7 +272,7 @@ instance : LawfulTraversable FreeMagma.{u} :=
273272
(fun x y ih1 ih2 ↦ by simp only [traverse_mul, functor_norm, ih1, ih2])
274273
traverse_eq_map_id := fun f x ↦
275274
FreeMagma.recOnPure x (fun _ ↦ rfl) fun x y ih1 ih2 ↦ by
276-
rw [traverse_mul, ih1, ih2, map_mul', mul_map_seq]; rfl }
275+
rw [traverse_mul, ih1, ih2, map_mul', map_pure, seq_pure, map_pure] }
277276

278277
end Category
279278

@@ -579,7 +578,7 @@ def recOnPure {C : FreeSemigroup α → Sort l} (x) (ih1 : ∀ x, C (pure x))
579578
FreeSemigroup.recOnMul x ih1 ih2
580579

581580
@[to_additive (attr := simp)]
582-
theorem map_pure (f : α → β) (x) : (f <$> pure x : FreeSemigroup β) = pure (f x) := rfl
581+
protected theorem map_pure (f : α → β) (x) : (f <$> pure x : FreeSemigroup β) = pure (f x) := rfl
583582

584583
@[to_additive (attr := simp)]
585584
theorem map_mul' (f : α → β) (x y : FreeSemigroup α) : f <$> (x * y) = f <$> x * f <$> y :=
@@ -650,8 +649,7 @@ end
650649
@[to_additive (attr := simp)]
651650
theorem traverse_eq (x) : FreeSemigroup.traverse F x = traverse F x := rfl
652651

653-
-- This is not a simp lemma because the left-hand side is not in simp normal form.
654-
@[to_additive]
652+
@[to_additive (attr := deprecated "Use map_pure and seq_pure" (since := "2025-05-21"))]
655653
theorem mul_map_seq (x y : FreeSemigroup α) :
656654
((· * ·) <$> x <*> y : Id (FreeSemigroup α)) = (x * y : FreeSemigroup α) := rfl
657655

@@ -660,7 +658,7 @@ instance : LawfulTraversable FreeSemigroup.{u} :=
660658
{ instLawfulMonad with
661659
id_traverse := fun x ↦
662660
FreeSemigroup.recOnMul x (fun _ ↦ rfl) fun x y ih1 ih2 ↦ by
663-
rw [traverse_mul, ih1, ih2, mul_map_seq]
661+
rw [traverse_mul, ih1, ih2, seq_pure, map_pure, map_pure]
664662
comp_traverse := fun f g x ↦
665663
recOnPure x (fun x ↦ by simp only [traverse_pure, functor_norm, Function.comp_def])
666664
fun x y ih1 ih2 ↦ by
@@ -671,7 +669,7 @@ instance : LawfulTraversable FreeSemigroup.{u} :=
671669
(fun x y ih1 ih2 ↦ by simp only [traverse_mul, functor_norm, ih1, ih2])
672670
traverse_eq_map_id := fun f x ↦
673671
FreeSemigroup.recOnMul x (fun _ ↦ rfl) fun x y ih1 ih2 ↦ by
674-
rw [traverse_mul, ih1, ih2, map_mul', mul_map_seq]; rfl }
672+
rw [traverse_mul, ih1, ih2, map_mul', map_pure, seq_pure, map_pure] }
675673

676674
end Category
677675

Mathlib/Algebra/Group/Commute/Defs.lean

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -88,24 +88,20 @@ variable [Semigroup S] {a b c : S}
8888
"If `a` commutes with both `b` and `c`, then it commutes with their sum."]
8989
theorem mul_right (hab : Commute a b) (hac : Commute a c) : Commute a (b * c) :=
9090
SemiconjBy.mul_right hab hac
91-
-- I think `ₓ` is necessary because of the `mul` vs `HMul` distinction
9291

9392
/-- If both `a` and `b` commute with `c`, then their product commutes with `c`. -/
9493
@[to_additive (attr := simp)
9594
"If both `a` and `b` commute with `c`, then their product commutes with `c`."]
9695
theorem mul_left (hac : Commute a c) (hbc : Commute b c) : Commute (a * b) c :=
9796
SemiconjBy.mul_left hac hbc
98-
-- I think `ₓ` is necessary because of the `mul` vs `HMul` distinction
9997

10098
@[to_additive]
10199
protected theorem right_comm (h : Commute b c) (a : S) : a * b * c = a * c * b := by
102100
simp only [mul_assoc, h.eq]
103-
-- I think `ₓ` is necessary because of the `mul` vs `HMul` distinction
104101

105102
@[to_additive]
106103
protected theorem left_comm (h : Commute a b) (c) : a * (b * c) = b * (a * c) := by
107104
simp only [← mul_assoc, h.eq]
108-
-- I think `ₓ` is necessary because of the `mul` vs `HMul` distinction
109105

110106
@[to_additive]
111107
protected theorem mul_mul_mul_comm (hbc : Commute b c) (a d : S) :
@@ -124,12 +120,10 @@ variable [MulOneClass M]
124120
@[to_additive (attr := simp)]
125121
theorem one_right (a : M) : Commute a 1 :=
126122
SemiconjBy.one_right a
127-
-- I think `ₓ` is necessary because `One.toOfNat1` appears in the Lean 4 version
128123

129124
@[to_additive (attr := simp)]
130125
theorem one_left (a : M) : Commute 1 a :=
131126
SemiconjBy.one_left a
132-
-- I think `ₓ` is necessary because `One.toOfNat1` appears in the Lean 4 version
133127

134128
end MulOneClass
135129

@@ -140,33 +134,27 @@ variable [Monoid M] {a b : M}
140134
@[to_additive (attr := simp)]
141135
theorem pow_right (h : Commute a b) (n : ℕ) : Commute a (b ^ n) :=
142136
SemiconjBy.pow_right h n
143-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
144137

145138
@[to_additive (attr := simp)]
146139
theorem pow_left (h : Commute a b) (n : ℕ) : Commute (a ^ n) b :=
147140
(h.symm.pow_right n).symm
148-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
149141

150142
-- todo: should nat power be called `nsmul` here?
151143
@[to_additive]
152144
theorem pow_pow (h : Commute a b) (m n : ℕ) : Commute (a ^ m) (b ^ n) := by
153145
simp [h]
154-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
155146

156147
@[to_additive]
157148
theorem self_pow (a : M) (n : ℕ) : Commute a (a ^ n) :=
158149
(Commute.refl a).pow_right n
159-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
160150

161151
@[to_additive]
162152
theorem pow_self (a : M) (n : ℕ) : Commute (a ^ n) a :=
163153
(Commute.refl a).pow_left n
164-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
165154

166155
@[to_additive]
167156
theorem pow_pow_self (a : M) (m n : ℕ) : Commute (a ^ m) (a ^ n) :=
168157
(Commute.refl a).pow_pow m n
169-
-- `MulOneClass.toHasMul` vs. `MulOneClass.toMul`
170158

171159
@[to_additive] lemma mul_pow (h : Commute a b) : ∀ n, (a * b) ^ n = a ^ n * b ^ n
172160
| 0 => by rw [pow_zero, pow_zero, pow_zero, one_mul]

Mathlib/Algebra/Group/Subgroup/Map.lean

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -253,13 +253,18 @@ theorem map_inf_eq (H K : Subgroup G) (f : G →* N) (hf : Function.Injective f)
253253
theorem map_bot (f : G →* N) : (⊥ : Subgroup G).map f = ⊥ :=
254254
(gc_map_comap f).l_bot
255255

256-
@[to_additive (attr := simp)]
256+
@[to_additive]
257257
theorem map_top_of_surjective (f : G →* N) (h : Function.Surjective f) : Subgroup.map f ⊤ = ⊤ := by
258258
rw [eq_top_iff]
259259
intro x _
260260
obtain ⟨y, hy⟩ := h x
261261
exact ⟨y, trivial, hy⟩
262262

263+
@[to_additive (attr := simp)]
264+
lemma map_equiv_top {F : Type*} [EquivLike F G N] [MulEquivClass F G N] (f : F) :
265+
map (f : G →* N) ⊤ = ⊤ :=
266+
map_top_of_surjective _ (EquivLike.surjective f)
267+
263268
@[to_additive (attr := simp)]
264269
theorem comap_top (f : G →* N) : (⊤ : Subgroup N).comap f = ⊤ :=
265270
(gc_map_comap f).u_top

Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -458,8 +458,7 @@ noncomputable def Ext.biproductAddEquiv {J : Type*} [Fintype J] {X : J → C} {c
458458
intro _ _ hij
459459
rw [c.ι_π, dif_neg hij.symm, mk₀_zero, zero_comp]
460460
map_add' _ _ := by
461-
simp only [comp_add]
462-
rfl
461+
simp only [comp_add, Pi.add_def]
463462

464463
/-- `Ext` commutes with biproducts in its second variable. -/
465464
noncomputable def Ext.addEquivBiproduct (X : C) {J : Type*} [Fintype J] {Y : J → C} {c : Bicone Y}
@@ -476,8 +475,7 @@ noncomputable def Ext.addEquivBiproduct (X : C) {J : Type*} [Fintype J] {Y : J
476475
intro _ _ hij
477476
rw [c.ι_π, dif_neg hij, mk₀_zero, comp_zero]
478477
map_add' _ _ := by
479-
simp only [add_comp]
480-
rfl
478+
simp only [add_comp, Pi.add_def]
481479

482480
end biproduct
483481

Mathlib/Algebra/Homology/ShortComplex/Homology.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ structure HomologyData where
5050
/-- a right homology data -/
5151
right : S.RightHomologyData
5252
/-- the compatibility isomorphism relating the two dual notions of
53-
`LeftHomologyData` and `RightHomologyData` -/
53+
`LeftHomologyData` and `RightHomologyData` -/
5454
iso : left.H ≅ right.H
5555
/-- the pentagon relation expressing the compatibility of the left
5656
and right homology data -/

Mathlib/Algebra/Lie/Ideal.lean

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,8 +115,7 @@ variable (K : LieSubalgebra R L)
115115
theorem exists_lieIdeal_coe_eq_iff :
116116
(∃ I : LieIdeal R L, ↑I = K) ↔ ∀ x y : L, y ∈ K → ⁅x, y⁆ ∈ K := by
117117
simp only [← toSubmodule_inj, LieIdeal.toLieSubalgebra_toSubmodule,
118-
Submodule.exists_lieSubmodule_coe_eq_iff L]
119-
exact Iff.rfl
118+
Submodule.exists_lieSubmodule_coe_eq_iff L, mem_toSubmodule]
120119

121120
theorem exists_nested_lieIdeal_coe_eq_iff {K' : LieSubalgebra R L} (h : K ≤ K') :
122121
(∃ I : LieIdeal R K', ↑I = ofLe h) ↔ ∀ x y : L, x ∈ K' → y ∈ K → ⁅x, y⁆ ∈ K := by
@@ -277,7 +276,6 @@ theorem idealRange_eq_map : f.idealRange = LieIdeal.map f ⊤ := by
277276
def IsIdealMorphism : Prop :=
278277
(f.idealRange : LieSubalgebra R L') = f.range
279278

280-
@[simp]
281279
theorem isIdealMorphism_def : f.IsIdealMorphism ↔ (f.idealRange : LieSubalgebra R L') = f.range :=
282280
Iff.rfl
283281

0 commit comments

Comments
 (0)