diff --git a/Archive/Imo/Imo2010Q5.lean b/Archive/Imo/Imo2010Q5.lean index 2185ec9c5c483f..0a6ce621877fca 100644 --- a/Archive/Imo/Imo2010Q5.lean +++ b/Archive/Imo/Imo2010Q5.lean @@ -86,7 +86,7 @@ lemma push {B : Fin 6 → ℕ} {i : Fin 6} (rB : Reachable B) (hi : i < 5) : · simp_rw [single_eq_of_ne hk, tsub_zero] rcases eq_or_ne k (i + 1) with rfl | hk' · simp_rw [single_eq_same, single_succ]; grind - · simp_rw [single_eq_of_ne hk'] + · simp_rw [single_eq_of_ne hk', add_zero] termination_by B i /-- `(0, 0, 5, 11, 0, 0)` is reachable. -/ @@ -118,13 +118,14 @@ lemma double {B : Fin 6 → ℕ} {i : Fin 6} ext k; simp only [comp_apply, add_apply, sub_apply] have (j : Fin 6) : j + 1 + 1 = j + 2 := by grind rcases eq_or_ne k i with rfl | hk - · rw [swap_apply_of_ne_of_ne (by simp) (by simp), single_succ, this, single_add_two] + · rw [swap_apply_of_ne_of_ne (by simp) (by simp), single_succ, this, single_add_two, Nat.sub_zero] · rcases eq_or_ne k (i + 1) with rfl | hk' · grind [swap_apply_left, single_eq_same] · rw [single_eq_of_ne hk'] rcases eq_or_ne k (i + 2) with rfl | hk'' · grind [swap_apply_right, single_eq_same, single_succ] - · rw [swap_apply_of_ne_of_ne hk' hk'', single_eq_of_ne hk', this, single_eq_of_ne hk''] + · rw [swap_apply_of_ne_of_ne hk' hk'', single_eq_of_ne hk', this, single_eq_of_ne hk'', + tsub_zero] set_option backward.isDefEq.respectTransparency false in /-- `double` as many times as possible, emptying $B_i$ and doubling $B_{i+1}$ that many times. -/ @@ -142,7 +143,7 @@ lemma doubles {B : Fin 6 → ℕ} {i : Fin 6} (rB : Reachable B) (hi : i < 4) (z · simp_rw [update_of_ne hk', sub_apply, add_apply, single_eq_of_ne hk', add_zero] rcases eq_or_ne k i with rfl | hk · simp_rw [single_eq_same, tsub_self] - · simp_rw [single_eq_of_ne hk] + · simp_rw [single_eq_of_ne hk, tsub_zero] termination_by B i set_option backward.isDefEq.respectTransparency false in @@ -161,7 +162,7 @@ lemma exp {B : Fin 6 → ℕ} {i : Fin 6} · simp only [update_of_ne hk', sub_apply, add_apply, single_eq_of_ne hk', add_zero] rcases eq_or_ne k i with rfl | hk · simp_rw [single_eq_same, tsub_self] - · simp_rw [single_eq_of_ne hk] + · simp_rw [single_eq_of_ne hk, tsub_zero] /-- From `(0, 0, k+1, n, 0, 0)` with `n > 0` we can reach `(0, 0, k, 2^n, 0, 0)`. -/ lemma exp_mid {k n : ℕ} (h : Reachable (single 2 (k + 1) + single 3 n)) (hn : 0 < n) : diff --git a/Archive/MiuLanguage/DecisionNec.lean b/Archive/MiuLanguage/DecisionNec.lean index 3e1679ce80f5f4..8c75fa17d211ce 100644 --- a/Archive/MiuLanguage/DecisionNec.lean +++ b/Archive/MiuLanguage/DecisionNec.lean @@ -78,7 +78,7 @@ theorem count_equiv_one_or_two_mod3_of_derivable (en : Miustr) : apply mod3_eq_1_or_mod3_eq_2 h_ih; left rw [count_append, count_append, count_append] simp_rw [count_cons_self, count_nil, count_cons, beq_iff_eq, reduceCtorEq, ite_false, - add_right_comm, add_mod_right] + add_right_comm, add_mod_right, add_zero] | r4 _ h_ih => apply mod3_eq_1_or_mod3_eq_2 h_ih; left rw [count_append, count_append, count_append] diff --git a/Archive/Wiedijk100Theorems/AreaOfACircle.lean b/Archive/Wiedijk100Theorems/AreaOfACircle.lean index cfa297b9977ba5..7cfe9b6af3d7a0 100644 --- a/Archive/Wiedijk100Theorems/AreaOfACircle.lean +++ b/Archive/Wiedijk100Theorems/AreaOfACircle.lean @@ -78,7 +78,6 @@ theorem disc_eq_regionBetween : theorem measurableSet_disc : MeasurableSet (disc r) := by apply measurableSet_lt <;> fun_prop -set_option backward.isDefEq.respectTransparency false in /-- **Area of a Circle**: The area of a disc with radius `r` is `π * r ^ 2`. -/ theorem area_disc : volume (disc r) = NNReal.pi * r ^ 2 := by let f x := sqrt (r ^ 2 - x ^ 2) diff --git a/Archive/Wiedijk100Theorems/BuffonsNeedle.lean b/Archive/Wiedijk100Theorems/BuffonsNeedle.lean index 3cd3839e3473ba..2962e7b25f8026 100644 --- a/Archive/Wiedijk100Theorems/BuffonsNeedle.lean +++ b/Archive/Wiedijk100Theorems/BuffonsNeedle.lean @@ -181,7 +181,6 @@ lemma integrable_needleCrossesIndicator : neg_div, sub_neg_eq_add, add_halves, sub_zero, ← ENNReal.ofReal_mul hd.le, ENNReal.ofReal_lt_top] -set_option backward.isDefEq.respectTransparency false in include hd hB hBₘ in /-- This is a common step in both the short and the long case to simplify the expectation of the @@ -328,7 +327,6 @@ lemma integral_arcsin_to_pi_div_two_min (h : d ≤ l) : simp_rw [min_eq_left ((div_le_iff₀ hl).mp ((Real.arcsin_le_iff_le_sin' hθ_mem).mp hθ₁))] rw [intervalIntegral.integral_congr this, intervalIntegral.integral_const, smul_eq_mul] -set_option backward.isDefEq.respectTransparency false in set_option linter.style.whitespace false in include hd hBₘ hB hl in /-- Buffon's Needle, the long case (`d ≤ l`) -/ diff --git a/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean index 0072498b0658da..4d0745abc60f53 100644 --- a/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Algebra/NonUnitalSubalgebra.lean @@ -986,7 +986,6 @@ theorem coe_iSup_of_directed [Nonempty ι] {S : ι → NonUnitalSubalgebra R A} (iSup_le fun i ↦ le_iSup (fun i ↦ (S i : Set A)) i) (Set.iUnion_subset fun _ ↦ le_iSup S _) this.symm ▸ rfl -set_option backward.isDefEq.respectTransparency false in /-- Define an algebra homomorphism on a directed supremum of non-unital subalgebras by defining it on each non-unital subalgebra, and proving that it agrees on the intersection of non-unital subalgebras. -/ diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean b/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean index 1812d6cefb2554..81121b54914e8e 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Basic.lean @@ -858,7 +858,6 @@ lemma algebraMap_apply {R A : Type*} [CommSemiring R] [CommSemiring A] [Algebra (S : Subalgebra R A) (x : S) : algebraMap S A x = x := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] theorem rangeS_algebraMap {R A : Type*} [CommSemiring R] [CommSemiring A] [Algebra R A] (S : Subalgebra R A) : (algebraMap S A).rangeS = S.toSubsemiring := by diff --git a/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean b/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean index af94b088c30925..04864c8ae94193 100644 --- a/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean +++ b/Mathlib/Algebra/Algebra/Subalgebra/Directed.lean @@ -40,7 +40,6 @@ theorem coe_iSup_of_directed (dir : Directed (· ≤ ·) K) : ↑(iSup K) = ⋃ variable (K) -set_option backward.isDefEq.respectTransparency false in /-- Define an algebra homomorphism on a directed supremum of subalgebras by defining it on each subalgebra, and proving that it agrees on the intersection of subalgebras. -/ noncomputable def iSupLift (dir : Directed (· ≤ ·) K) (f : ∀ i, K i →ₐ[R] B) @@ -101,7 +100,6 @@ theorem iSupLift_mk {dir : Directed (· ≤ ·) K} {f : ∀ i, K i →ₐ[R] B} dsimp [iSupLift, inclusion] rw [Set.iUnionLift_mk] -set_option backward.isDefEq.respectTransparency false in theorem iSupLift_of_mem {dir : Directed (· ≤ ·) K} {f : ∀ i, K i →ₐ[R] B} {hf : ∀ (i j : ι) (h : K i ≤ K j), f i = (f j).comp (inclusion h)} {T : Subalgebra R A} {hT : T ≤ iSup K} {i : ι} (x : T) (hx : (x : A) ∈ K i) : diff --git a/Mathlib/Algebra/BigOperators/Intervals.lean b/Mathlib/Algebra/BigOperators/Intervals.lean index 7bd7091282ef2b..4794f3f684504d 100644 --- a/Mathlib/Algebra/BigOperators/Intervals.lean +++ b/Mathlib/Algebra/BigOperators/Intervals.lean @@ -152,11 +152,12 @@ theorem sum_Ico_reflect {δ : Type*} [AddCommMonoid δ] (f : ℕ → δ) (k : (h : m ≤ n + 1) : (∑ j ∈ Ico k m, f (n - j)) = ∑ j ∈ Ico (n + 1 - m) (n + 1 - k), f j := @prod_Ico_reflect (Multiplicative δ) _ f k m n h +set_option backward.isDefEq.respectTransparency false in theorem prod_range_reflect (f : ℕ → M) (n : ℕ) : (∏ j ∈ range n, f (n - 1 - j)) = ∏ j ∈ range n, f j := by cases n · simp - · simp only [← Nat.Ico_zero_eq_range, Nat.succ_sub_succ_eq_sub] + · simp only [← Nat.Ico_zero_eq_range, Nat.succ_sub_succ_eq_sub, tsub_zero] rw [prod_Ico_reflect _ _ le_rfl] simp diff --git a/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean b/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean index 525f82f39e9fc2..3a1586e333a224 100644 --- a/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean +++ b/Mathlib/Algebra/BigOperators/NatAntidiagonal.lean @@ -31,7 +31,6 @@ theorem sum_antidiagonal_succ {n : ℕ} {f : ℕ × ℕ → N} : (∑ p ∈ antidiagonal (n + 1), f p) = f (0, n + 1) + ∑ p ∈ antidiagonal n, f (p.1 + 1, p.2) := @prod_antidiagonal_succ (Multiplicative N) _ _ _ -set_option backward.isDefEq.respectTransparency false in @[to_additive] theorem prod_antidiagonal_swap {n : ℕ} {f : ℕ × ℕ → M} : ∏ p ∈ antidiagonal n, f p.swap = ∏ p ∈ antidiagonal n, f p := by diff --git a/Mathlib/Algebra/Category/CommBialgCat.lean b/Mathlib/Algebra/Category/CommBialgCat.lean index fd60c66357a3b8..745f13e612f47c 100644 --- a/Mathlib/Algebra/Category/CommBialgCat.lean +++ b/Mathlib/Algebra/Category/CommBialgCat.lean @@ -200,7 +200,6 @@ instance {A : Type u} [CommRing A] [Bialgebra R A] [IsCocomm R A] : IsCommMonObj (Opposite.op <| CommAlgCat.of R A) where mul_comm := by ext; exact comm_comul R _ -set_option backward.isDefEq.respectTransparency false in instance {A B : Type u} [CommRing A] [Bialgebra R A] [CommRing B] [Bialgebra R B] (f : A →ₐc[R] B) : IsMonHom (CommAlgCat.ofHom (f : A →ₐ[R] B)).op where diff --git a/Mathlib/Algebra/Category/Grp/FiniteGrp.lean b/Mathlib/Algebra/Category/Grp/FiniteGrp.lean index 4f440ff3da08e9..e50a28d2d4022b 100644 --- a/Mathlib/Algebra/Category/Grp/FiniteGrp.lean +++ b/Mathlib/Algebra/Category/Grp/FiniteGrp.lean @@ -26,14 +26,14 @@ open CategoryTheory @[pp_with_univ] structure FiniteGrp where /-- A group that is finite -/ - toGrp : GrpCat + toGrp : GrpCat.{u} [isFinite : Finite toGrp] /-- The category of finite additive groups. -/ @[pp_with_univ] structure FiniteAddGrp where /-- An additive group that is finite -/ - toAddGrp : AddGrpCat + toAddGrp : AddGrpCat.{u} [isFinite : Finite toAddGrp] attribute [to_additive] FiniteGrp diff --git a/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean b/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean index cf262b14409453..06742fe9004df4 100644 --- a/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean +++ b/Mathlib/Algebra/Category/Grp/ZModuleEquivalence.lean @@ -27,7 +27,6 @@ universe u namespace ModuleCat -set_option backward.isDefEq.respectTransparency false in /-- The forgetful functor from `ℤ` modules to `AddCommGrpCat` is full. -/ instance forget₂_addCommGroup_full : (forget₂ (ModuleCat ℤ) AddCommGrpCat.{u}).Full where map_surjective {A B} diff --git a/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean b/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean index 6d067b8e231e9d..9e0360a27a0de6 100644 --- a/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean +++ b/Mathlib/Algebra/Category/ModuleCat/Adjunctions.lean @@ -110,7 +110,6 @@ variable [CommRing R] namespace FreeMonoidal -set_option backward.isDefEq.respectTransparency false in /-- The canonical isomorphism `𝟙_ (ModuleCat R) ≅ (free R).obj (𝟙_ (Type u))`. (This should not be used directly: it is part of the implementation of the monoidal structure on the functor `free R`.) -/ @@ -129,7 +128,6 @@ def εIso : 𝟙_ (ModuleCat R) ≅ (free R).obj (𝟙_ (Type u)) where @[simp] lemma εIso_hom_one : (εIso R).hom 1 = freeMk PUnit.unit := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] lemma εIso_inv_freeMk (x : PUnit) : (εIso R).inv (freeMk x) = 1 := by dsimp [εIso, freeMk] diff --git a/Mathlib/Algebra/Category/Ring/Adjunctions.lean b/Mathlib/Algebra/Category/Ring/Adjunctions.lean index c1fd4dbdb36f46..291730e9aa7b62 100644 --- a/Mathlib/Algebra/Category/Ring/Adjunctions.lean +++ b/Mathlib/Algebra/Category/Ring/Adjunctions.lean @@ -85,7 +85,6 @@ set_option backward.isDefEq.respectTransparency false in def coyonedaUnique {n : Type v} [Unique n] : coyoneda.obj (op n) ≅ 𝟭 CommRingCat.{max u v} := NatIso.ofComponents (fun X ↦ (RingEquiv.piUnique _).toCommRingCatIso) (fun f ↦ by ext; simp) -set_option backward.isDefEq.respectTransparency false in /-- The monoid algebra functor `CommGrpCat ⥤ R-Alg` given by `G ↦ R[G]`. -/ @[simps] def monoidAlgebra (R : CommRingCat.{max u v}) : CommMonCat.{v} ⥤ Under R where diff --git a/Mathlib/Algebra/CharP/Invertible.lean b/Mathlib/Algebra/CharP/Invertible.lean index aa6f23f3eba73c..e0bfd66445fbd1 100644 --- a/Mathlib/Algebra/CharP/Invertible.lean +++ b/Mathlib/Algebra/CharP/Invertible.lean @@ -62,7 +62,6 @@ def invertibleOfCoprime {n : ℕ} (h : n.Coprime p) : invOf_mul_self := by rw [CharP.natCast_gcdA_mul_intCast_eq_gcd, h, Nat.cast_one] mul_invOf_self := by rw [CharP.intCast_mul_natCast_gcdA_eq_gcd, h, Nat.cast_one] -set_option backward.isDefEq.respectTransparency false in theorem invOf_eq_of_coprime {n : ℕ} [Invertible (n : R)] (h : n.Coprime p) : ⅟(n : R) = n.gcdA p := by letI : Invertible (n : R) := invertibleOfCoprime h diff --git a/Mathlib/Algebra/Group/Defs.lean b/Mathlib/Algebra/Group/Defs.lean index 67f7aefbd3b622..664bcd8ada32e7 100644 --- a/Mathlib/Algebra/Group/Defs.lean +++ b/Mathlib/Algebra/Group/Defs.lean @@ -523,7 +523,7 @@ theorem npowRec'_two_mul {M : Type*} [Semigroup M] [One M] (k : ℕ) (m : M) : match k' with | 0 => rfl | 1 => simp [npowRec'] - | k + 2 => simp [npowRec', ← mul_assoc, Nat.mul_add, ← ih] + | k + 2 => simp [npowRec', ← mul_assoc, ← ih] @[to_additive] theorem npowRec'_mul_comm {M : Type*} [Semigroup M] [One M] {k : ℕ} (k0 : k ≠ 0) (m : M) : diff --git a/Mathlib/Algebra/Group/NatPowAssoc.lean b/Mathlib/Algebra/Group/NatPowAssoc.lean index 39d37a0870508c..8f7f7786e915e1 100644 --- a/Mathlib/Algebra/Group/NatPowAssoc.lean +++ b/Mathlib/Algebra/Group/NatPowAssoc.lean @@ -76,7 +76,7 @@ theorem npow_mul_comm (m n : ℕ) (x : M) : theorem npow_mul (x : M) (m n : ℕ) : x ^ (m * n) = (x ^ m) ^ n := by induction n with - | zero => rw [npow_zero, npow_zero] + | zero => rw [npow_zero, mul_zero, npow_zero] | succ n ih => rw [mul_add, npow_add, ih, mul_one, npow_add, npow_one] theorem npow_mul' (x : M) (m n : ℕ) : x ^ (m * n) = (x ^ n) ^ m := by diff --git a/Mathlib/Algebra/Group/Subgroup/Ker.lean b/Mathlib/Algebra/Group/Subgroup/Ker.lean index fdf2185e4467bd..15293ff17eadcc 100644 --- a/Mathlib/Algebra/Group/Subgroup/Ker.lean +++ b/Mathlib/Algebra/Group/Subgroup/Ker.lean @@ -111,7 +111,6 @@ theorem subtype_comp_rangeRestrict (f : G →* N) : f.range.subtype.comp f.range theorem rangeRestrict_surjective (f : G →* N) : Function.Surjective f.rangeRestrict := fun ⟨_, g, rfl⟩ => ⟨g, rfl⟩ -set_option backward.isDefEq.respectTransparency false in @[to_additive (attr := simp)] lemma rangeRestrict_injective_iff {f : G →* N} : Injective f.rangeRestrict ↔ Injective f := by convert Set.injective_codRestrict _ diff --git a/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean b/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean index d80aee8faec0dc..b8eb7bfc3685a5 100644 --- a/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean +++ b/Mathlib/Algebra/Homology/DerivedCategory/Ext/Basic.lean @@ -306,7 +306,6 @@ lemma comp_mk₀_id (α : Ext X Y n) : α.comp (mk₀ (𝟙 Y)) (add_zero n) = α := by letI := HasDerivedCategory.standard C; ext; simp -set_option backward.isDefEq.respectTransparency false in variable (X Y) in @[simp] lemma mk₀_zero : mk₀ (0 : X ⟶ Y) = 0 := by diff --git a/Mathlib/Algebra/Homology/Functor.lean b/Mathlib/Algebra/Homology/Functor.lean index e650e299802fc4..3a0b078a78bba6 100644 --- a/Mathlib/Algebra/Homology/Functor.lean +++ b/Mathlib/Algebra/Homology/Functor.lean @@ -37,7 +37,6 @@ namespace HomologicalComplex variable [HasZeroMorphisms V] {ι : Type*} {c : ComplexShape ι} -set_option backward.isDefEq.respectTransparency false in /-- A complex of functors gives a functor to complexes. -/ @[simps] def asFunctor (C : HomologicalComplex (T ⥤ V) c) : diff --git a/Mathlib/Algebra/Homology/Homotopy.lean b/Mathlib/Algebra/Homology/Homotopy.lean index bb4a53b26295e9..d06b6bba511fa7 100644 --- a/Mathlib/Algebra/Homology/Homotopy.lean +++ b/Mathlib/Algebra/Homology/Homotopy.lean @@ -472,7 +472,6 @@ def mkInductiveAux₁ : section -set_option backward.isDefEq.respectTransparency false in /-- An auxiliary construction for `mkInductive`. -/ def mkInductiveAux₂ : @@ -488,7 +487,6 @@ def mkInductiveAux₂ : ⟨0, zero ≫ (Q.xPrevIso rfl).inv, by simpa using comm_zero⟩ := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] theorem mkInductiveAux₂_add_one (n) : mkInductiveAux₂ e zero comm_zero one comm_one succ (n + 1) = letI I := mkInductiveAux₁ e zero one comm_one succ n diff --git a/Mathlib/Algebra/Lie/Engel.lean b/Mathlib/Algebra/Lie/Engel.lean index 241f725fbf943a..490370cc65e28d 100644 --- a/Mathlib/Algebra/Lie/Engel.lean +++ b/Mathlib/Algebra/Lie/Engel.lean @@ -182,7 +182,6 @@ theorem LieEquiv.isEngelian_iff (e : L ≃ₗ⁅R⁆ L₂) : LieAlgebra.IsEngelian.{u₁, u₂, u₄} R L ↔ LieAlgebra.IsEngelian.{u₁, u₃, u₄} R L₂ := ⟨e.surjective.isEngelian, e.symm.surjective.isEngelian⟩ -set_option backward.isDefEq.respectTransparency false in theorem LieAlgebra.exists_engelian_lieSubalgebra_of_lt_normalizer {K : LieSubalgebra R L} (hK₁ : LieAlgebra.IsEngelian.{u₁, u₂, u₄} R K) (hK₂ : K < K.normalizer) : ∃ (K' : LieSubalgebra R L), LieAlgebra.IsEngelian.{u₁, u₂, u₄} R K' ∧ K < K' := by diff --git a/Mathlib/Algebra/Lie/EngelSubalgebra.lean b/Mathlib/Algebra/Lie/EngelSubalgebra.lean index a41c8267664133..4a671f43696b7c 100644 --- a/Mathlib/Algebra/Lie/EngelSubalgebra.lean +++ b/Mathlib/Algebra/Lie/EngelSubalgebra.lean @@ -99,7 +99,6 @@ lemma normalizer_engel (x : L) : normalizer (engel R x) = engel R x := by variable {R} -set_option backward.isDefEq.respectTransparency false in open Filter in /-- A Lie-subalgebra of an Artinian Lie algebra is self-normalizing if it contains an Engel subalgebra. diff --git a/Mathlib/Algebra/Lie/Quotient.lean b/Mathlib/Algebra/Lie/Quotient.lean index 6112fd36e896b7..d63988d4fdb2ea 100644 --- a/Mathlib/Algebra/Lie/Quotient.lean +++ b/Mathlib/Algebra/Lie/Quotient.lean @@ -127,7 +127,6 @@ instance lieQuotientHasBracket : Bracket (L ⧸ I) (L ⧸ I) := theorem mk_bracket (x y : L) : mk ⁅x, y⁆ = ⁅(mk x : L ⧸ I), (mk y : L ⧸ I)⁆ := rfl -set_option backward.isDefEq.respectTransparency false in instance lieQuotientLieRing : LieRing (L ⧸ I) where add_lie := by intro x' y' z'; refine Quotient.inductionOn₃' x' y' z' ?_; intro x y z @@ -158,7 +157,6 @@ instance lieQuotientLieRing : LieRing (L ⧸ I) where | rw [← Submodule.Quotient.mk_add (R := R) (M := L)] apply congr_arg; apply leibniz_lie -set_option backward.isDefEq.respectTransparency false in instance lieQuotientLieAlgebra : LieAlgebra R (L ⧸ I) where lie_smul := by intro t x' y'; refine Quotient.inductionOn₂' x' y' ?_; intro x y diff --git a/Mathlib/Algebra/Lie/Subalgebra.lean b/Mathlib/Algebra/Lie/Subalgebra.lean index ff1491515e8041..f2a98210f63596 100644 --- a/Mathlib/Algebra/Lie/Subalgebra.lean +++ b/Mathlib/Algebra/Lie/Subalgebra.lean @@ -235,7 +235,6 @@ instance lieRingModule : LieRingModule L' M where variable [Module R M] -set_option backward.isDefEq.respectTransparency false in /-- Given a Lie algebra `L` containing a Lie subalgebra `L' ⊆ L`, together with a Lie module `M` of `L`, we may regard `M` as a Lie module of `L'` by restriction. -/ instance lieModule [LieModule R L M] : LieModule R L' M where diff --git a/Mathlib/Algebra/Lie/Submodule.lean b/Mathlib/Algebra/Lie/Submodule.lean index dee08f75694fbd..79ecda0eb9c597 100644 --- a/Mathlib/Algebra/Lie/Submodule.lean +++ b/Mathlib/Algebra/Lie/Submodule.lean @@ -778,12 +778,10 @@ theorem mem_map_of_mem {m : M} (h : m ∈ N) : f m ∈ N.map f := theorem mem_comap {m : M} : m ∈ comap f N' ↔ f m ∈ N' := Iff.rfl -set_option backward.isDefEq.respectTransparency false in theorem comap_incl_eq_top : N₂.comap N.incl = ⊤ ↔ N ≤ N₂ := by rw [← LieSubmodule.toSubmodule_inj, LieSubmodule.toSubmodule_comap, LieSubmodule.incl_coe, LieSubmodule.top_toSubmodule, Submodule.comap_subtype_eq_top, toSubmodule_le_toSubmodule] -set_option backward.isDefEq.respectTransparency false in theorem comap_incl_eq_bot : N₂.comap N.incl = ⊥ ↔ N ⊓ N₂ = ⊥ := by simp only [← toSubmodule_inj, toSubmodule_comap, incl_coe, bot_toSubmodule, inf_toSubmodule] @@ -932,13 +930,11 @@ variable (N : LieSubmodule R L M) @[simp] theorem ker_incl : N.incl.ker = ⊥ := (LieModuleHom.ker_eq_bot N.incl).mpr <| injective_incl N -set_option backward.isDefEq.respectTransparency false in @[simp] theorem range_incl : N.incl.range = N := by simp only [← toSubmodule_inj, LieModuleHom.toSubmodule_range, incl_coe] rw [Submodule.range_subtype] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem comap_incl_self : comap N.incl N = ⊤ := by simp only [← toSubmodule_inj, toSubmodule_comap, incl_coe, top_toSubmodule] diff --git a/Mathlib/Algebra/Lie/TraceForm.lean b/Mathlib/Algebra/Lie/TraceForm.lean index 6ccd9181eeee43..ed87d4941099a0 100644 --- a/Mathlib/Algebra/Lie/TraceForm.lean +++ b/Mathlib/Algebra/Lie/TraceForm.lean @@ -323,7 +323,6 @@ lemma traceForm_eq_of_le_idealizer : rw [N.trace_eq_trace_restrict_of_le_idealizer I h x hy] rfl -set_option backward.isDefEq.respectTransparency false in include h hy in /-- Note that this result is slightly stronger than it might look at first glance: we only assume that `N` is trivial over `I` rather than all of `L`. This means that it applies in the important diff --git a/Mathlib/Algebra/Lie/Weights/Basic.lean b/Mathlib/Algebra/Lie/Weights/Basic.lean index ab381082f4a745..b6cc9ebc6489e9 100644 --- a/Mathlib/Algebra/Lie/Weights/Basic.lean +++ b/Mathlib/Algebra/Lie/Weights/Basic.lean @@ -328,7 +328,6 @@ theorem exists_genWeightSpace_zero_le_ker_of_isNoetherian ∃ k : ℕ, genWeightSpace M (0 : L → R) ≤ LinearMap.ker (toEnd R L M x ^ k) := by simpa using exists_genWeightSpace_le_ker_of_isNoetherian M (0 : L → R) x -set_option backward.isDefEq.respectTransparency false in lemma isNilpotent_toEnd_sub_algebraMap [IsNoetherian R M] (χ : L → R) (x : L) : _root_.IsNilpotent <| toEnd R L (genWeightSpace M χ) x - algebraMap R _ (χ x) := by have : toEnd R L (genWeightSpace M χ) x - algebraMap R _ (χ x) = diff --git a/Mathlib/Algebra/Lie/Weights/Cartan.lean b/Mathlib/Algebra/Lie/Weights/Cartan.lean index ce4bed10bf5323..8568980eb71b41 100644 --- a/Mathlib/Algebra/Lie/Weights/Cartan.lean +++ b/Mathlib/Algebra/Lie/Weights/Cartan.lean @@ -189,7 +189,6 @@ theorem le_zeroRootSubalgebra : H ≤ zeroRootSubalgebra R L H := by coe_zeroRootSubalgebra, LieSubmodule.toSubmodule_le_toSubmodule] exact toLieSubmodule_le_rootSpace_zero R L H -set_option backward.isDefEq.respectTransparency false in @[simp] theorem zeroRootSubalgebra_normalizer_eq_self : (zeroRootSubalgebra R L H).normalizer = zeroRootSubalgebra R L H := by @@ -270,7 +269,6 @@ lemma mem_corootSpace {x : H} : {x | ∃ (a : rootSpace H α) (b : rootSpace H (-α)), ⁅(a : L), (b : L)⁆ = x} ↔ _ simp -set_option backward.isDefEq.respectTransparency false in lemma mem_corootSpace' {x : H} : x ∈ corootSpace α ↔ x ∈ Submodule.span R ({⁅y, z⁆ | (y ∈ rootSpace H α) (z ∈ rootSpace H (-α))} : Set H) := by diff --git a/Mathlib/Algebra/Lie/Weights/IsSimple.lean b/Mathlib/Algebra/Lie/Weights/IsSimple.lean index d52fc6b942c075..5976354f95ed29 100644 --- a/Mathlib/Algebra/Lie/Weights/IsSimple.lean +++ b/Mathlib/Algebra/Lie/Weights/IsSimple.lean @@ -177,7 +177,6 @@ private theorem chi_not_in_q_aux (h_chi_not_in_q : ↑χ ∉ q) : end -set_option backward.isDefEq.respectTransparency false in include hq hx_χ hαq in private theorem invtSubmoduleToLieIdeal_aux (hm_α : m_α ∈ sl2SubmoduleOfRoot hα₀) : ⁅x_χ, m_α⁆ ∈ ⨆ α : {α : Weight K H L // ↑α ∈ q ∧ α.IsNonZero}, sl2SubmoduleOfRoot α.2.2 := by diff --git a/Mathlib/Algebra/Lie/Weights/Killing.lean b/Mathlib/Algebra/Lie/Weights/Killing.lean index 74c3ae65fab602..dcc9c2e796ac0b 100644 --- a/Mathlib/Algebra/Lie/Weights/Killing.lean +++ b/Mathlib/Algebra/Lie/Weights/Killing.lean @@ -570,7 +570,6 @@ lemma exists_isSl2Triple_of_weight_isNonZero {α : Weight K H L} (hα : α.IsNon rw [lie_smul, lie_smul, smul_lie, this] simp [← smul_assoc, f, hh, mul_comm _ (2 * (α h)⁻¹)] -set_option backward.isDefEq.respectTransparency false in lemma _root_.IsSl2Triple.h_eq_coroot {α : Weight K H L} (hα : α.IsNonZero) {h e f : L} (ht : IsSl2Triple h e f) (heα : e ∈ rootSpace H α) (hfα : f ∈ rootSpace H (-α)) : h = coroot α := by @@ -626,7 +625,6 @@ noncomputable def sl2SubalgebraOfRoot {α : Weight K H L} (hα : α.IsNonZero) : choose h e f t ht using exists_isSl2Triple_of_weight_isNonZero hα exact t.toLieSubalgebra K -set_option backward.isDefEq.respectTransparency false in lemma mem_sl2SubalgebraOfRoot_iff {α : Weight K H L} (hα : α.IsNonZero) {h e f : L} (t : IsSl2Triple h e f) (hte : e ∈ rootSpace H α) (htf : f ∈ rootSpace H (-α)) {x : L} : x ∈ sl2SubalgebraOfRoot hα ↔ ∃ c₁ c₂ c₃ : K, x = c₁ • e + c₂ • f + c₃ • ⁅e, f⁆ := by @@ -679,7 +677,6 @@ This represents the image of the coroot space under the inclusion `H ↪ L`. -/ noncomputable abbrev corootSubmodule (α : Weight K H L) : LieSubmodule K H L := LieSubmodule.map H.toLieSubmodule.incl (corootSpace α) -set_option backward.isDefEq.respectTransparency false in open Submodule in lemma sl2SubmoduleOfRoot_eq_sup (α : Weight K H L) (hα : α.IsNonZero) : sl2SubmoduleOfRoot hα = genWeightSpace L α ⊔ genWeightSpace L (-α) ⊔ corootSubmodule α := by diff --git a/Mathlib/Algebra/Module/FinitePresentation.lean b/Mathlib/Algebra/Module/FinitePresentation.lean index a50e2ed5535bb8..0d6540dc2272d2 100644 --- a/Mathlib/Algebra/Module/FinitePresentation.lean +++ b/Mathlib/Algebra/Module/FinitePresentation.lean @@ -163,7 +163,6 @@ instance : Module.FinitePresentation R R := Module.finitePresentation_of_project instance : Module.FinitePresentation R (ι →₀ R) := Module.finitePresentation_of_projective _ _ instance : Module.FinitePresentation R (ι → R) := Module.finitePresentation_of_projective _ _ -set_option backward.isDefEq.respectTransparency false in lemma Module.finitePresentation_of_surjective [h : Module.FinitePresentation R M] (l : M →ₗ[R] N) (hl : Function.Surjective l) (hl' : (LinearMap.ker l).FG) : Module.FinitePresentation R N := by diff --git a/Mathlib/Algebra/Module/Injective.lean b/Mathlib/Algebra/Module/Injective.lean index c82abaf3d57f23..24a4d13d9a85b6 100644 --- a/Mathlib/Algebra/Module/Injective.lean +++ b/Mathlib/Algebra/Module/Injective.lean @@ -169,7 +169,6 @@ theorem ExtensionOf.le_max {c : Set (ExtensionOf i f)} (hchain : IsChain (· ≤ variable (i f) [Fact <| Function.Injective i] -set_option backward.isDefEq.respectTransparency false in instance ExtensionOf.inhabited : Inhabited (ExtensionOf i f) where default := { domain := LinearMap.range i diff --git a/Mathlib/Algebra/Module/Submodule/Pointwise.lean b/Mathlib/Algebra/Module/Submodule/Pointwise.lean index c9cb4288a4b268..7507c5148e0e36 100644 --- a/Mathlib/Algebra/Module/Submodule/Pointwise.lean +++ b/Mathlib/Algebra/Module/Submodule/Pointwise.lean @@ -419,7 +419,6 @@ lemma set_smul_inductionOn {motive : (x : M) → (_ : x ∈ s • N) → Prop} (fun _ _ mem mem' ↦ ⟨mem_set_smul_of_mem_mem mem mem', smul₀ mem mem'⟩) hx h -set_option backward.isDefEq.respectTransparency false in -- Implementation note: if `N` is both an `R`-submodule and `S`-submodule and `SMulCommClass R S M`, -- this lemma is also true for any `s : Set S`. lemma set_smul_eq_map [SMulCommClass R R N] : @@ -448,7 +447,6 @@ lemma set_smul_eq_map [SMulCommClass R R N] : exact fun p hp ↦ hp hr hn · simp_all -set_option backward.isDefEq.respectTransparency false in lemma mem_set_smul (x : M) [SMulCommClass R R N] : x ∈ sR • N ↔ ∃ (c : R →₀ N), (c.support : Set R) ⊆ sR ∧ x = c.sum fun r m ↦ r • m := by fconstructor @@ -511,7 +509,6 @@ lemma smul_inductionOn_pointwise [SMulCommClass S R M] {a : S} {p : (x : M) → subst hr exact smul₀ n hn -set_option backward.isDefEq.respectTransparency false in -- Note that this can't be generalized to `Set S`, because even though `SMulCommClass R R M` implies -- `SMulComm R R N` for all `R`-submodules `N`, `SMulCommClass R S N` for all `R`-submodules `N` -- does not make sense. If we just focus on `R`-submodules that are also `S`-submodule, then this diff --git a/Mathlib/Algebra/Module/ZLattice/Covolume.lean b/Mathlib/Algebra/Module/ZLattice/Covolume.lean index 1909e2b5a0ce24..69430f7054a61a 100644 --- a/Mathlib/Algebra/Module/ZLattice/Covolume.lean +++ b/Mathlib/Algebra/Module/ZLattice/Covolume.lean @@ -186,7 +186,6 @@ theorem covolume_div_covolume_eq_relIndex' {E : Type*} [NormedAddCommGroup E] AddSubgroup.comap_equiv_eq_map_symm', AddSubgroup.comap_equiv_eq_map_symm', AddSubgroup.relIndex_map_map_of_injective _ _ f.symm.injective] -set_option backward.isDefEq.respectTransparency false in theorem volume_image_eq_volume_div_covolume {ι : Type*} [Fintype ι] (L : Submodule ℤ (ι → ℝ)) [DiscreteTopology L] [IsZLattice ℝ L] (b : Basis ι ℤ L) {s : Set (ι → ℝ)} : volume ((b.ofZLatticeBasis ℝ L).equivFun '' s) = volume s / ENNReal.ofReal (covolume L) := by diff --git a/Mathlib/Algebra/MvPolynomial/Degrees.lean b/Mathlib/Algebra/MvPolynomial/Degrees.lean index 60a205fc1e5ea3..7a522b5dbf71a3 100644 --- a/Mathlib/Algebra/MvPolynomial/Degrees.lean +++ b/Mathlib/Algebra/MvPolynomial/Degrees.lean @@ -298,7 +298,7 @@ theorem degreeOf_mul_X_of_ne {i j : σ} (f : MvPolynomial σ R) (h : i ≠ j) : congr ext simp only [Finsupp.single, addRightEmbedding_apply, coe_mk, - Pi.add_apply, comp_apply, Finsupp.coe_add, Pi.single_eq_of_ne h] + Pi.add_apply, comp_apply, Finsupp.coe_add, Pi.single_eq_of_ne h, add_zero] set_option backward.isDefEq.respectTransparency false in theorem degreeOf_mul_X_self (j : σ) (f : MvPolynomial σ R) : diff --git a/Mathlib/Algebra/Order/Group/Finset.lean b/Mathlib/Algebra/Order/Group/Finset.lean index 05b6bc9bc47426..ec7e458bd1cd7c 100644 --- a/Mathlib/Algebra/Order/Group/Finset.lean +++ b/Mathlib/Algebra/Order/Group/Finset.lean @@ -44,7 +44,7 @@ lemma toFinset_eq_singleton_iff (s : Multiset α) (a : α) : rw [← mem_toFinset, H, Finset.mem_singleton] at hy exact hy.symm have hx' : x ∉ s := fun h' ↦ hx <| by rwa [← mem_toFinset, H, Finset.mem_singleton] at h' - simp_rw [count_eq_zero_of_notMem hx', hx, ite_false] + simp_rw [count_eq_zero_of_notMem hx', hx, ite_false, Nat.mul_zero] simpa only [toFinset_nsmul _ _ H.1, toFinset_singleton] using congr($(H.2).toFinset) lemma toFinset_card_eq_one_iff (s : Multiset α) : diff --git a/Mathlib/Algebra/Polynomial/HasseDeriv.lean b/Mathlib/Algebra/Polynomial/HasseDeriv.lean index a9c0762fc35b4a..8234e9df6b0819 100644 --- a/Mathlib/Algebra/Polynomial/HasseDeriv.lean +++ b/Mathlib/Algebra/Polynomial/HasseDeriv.lean @@ -80,8 +80,7 @@ theorem hasseDeriv_coeff (n : ℕ) : simp only [notMem_support_iff.mp h, monomial_zero_right, mul_zero, coeff_zero] theorem hasseDeriv_zero' : hasseDeriv 0 f = f := by - simp only [hasseDeriv_apply, Nat.choose_zero_right, Nat.cast_one, one_mul, - sum_monomial_eq] + simp only [hasseDeriv_apply, Nat.sub_zero, choose_zero_right, cast_one, one_mul, sum_monomial_eq] @[simp] theorem hasseDeriv_zero : @hasseDeriv R _ 0 = LinearMap.id := diff --git a/Mathlib/Algebra/Quandle.lean b/Mathlib/Algebra/Quandle.lean index 2f12daa17478a6..b2722f65625715 100644 --- a/Mathlib/Algebra/Quandle.lean +++ b/Mathlib/Algebra/Quandle.lean @@ -649,7 +649,6 @@ theorem well_def {R : Type*} [Rack R] {G : Type*} [Group G] (f : R →◃ Quandl end toEnvelGroup.mapAux -set_option backward.isDefEq.respectTransparency false in /-- Given a map from a rack to a group, lift it to being a map from the enveloping group. More precisely, the `EnvelGroup` functor is left adjoint to `Quandle.Conj`. -/ diff --git a/Mathlib/Algebra/Ring/Invertible.lean b/Mathlib/Algebra/Ring/Invertible.lean index 95c51eb47f279f..dccc6cc68610fd 100644 --- a/Mathlib/Algebra/Ring/Invertible.lean +++ b/Mathlib/Algebra/Ring/Invertible.lean @@ -92,7 +92,6 @@ theorem invOf_sub_invOf [Ring R] (a b : R) [Invertible a] [Invertible b] : ⅟a - ⅟b = ⅟a * (b - a) * ⅟b := by rw [mul_sub, invOf_mul_self, sub_mul, one_mul, mul_assoc, mul_invOf_self, mul_one] -set_option backward.isDefEq.respectTransparency false in lemma neg_add_eq_mul_invOf_mul_same_iff [Ring R] {a b : R} [Invertible a] [Invertible b] : -(b + a) = a * ⅟b * a ↔ -1 = ⅟a * b + ⅟b * a := calc -(b + a) = a * ⅟b * a @@ -123,7 +122,6 @@ theorem eq_of_invOf_add_eq_invOf_add_invOf [Ring R] {a b : R} [Invertible a] [In exact neg_add_eq_mul_invOf_mul_same_iff.mpr h' rw [← h_a_binv_a, ← h_b_ainv_b, add_comm] -set_option backward.isDefEq.respectTransparency false in /-- A version of `inv_add_inv'` for `Ring.inverse`. -/ theorem Ring.inverse_add_inverse [Semiring R] {a b : R} (h : IsUnit a ↔ IsUnit b) : Ring.inverse a + Ring.inverse b = Ring.inverse a * (a + b) * Ring.inverse b := by @@ -135,7 +133,6 @@ theorem Ring.inverse_add_inverse [Semiring R] {a b : R} (h : IsUnit a ↔ IsUnit · have hb := h.not.mp ha simp [inverse_non_unit, ha, hb] -set_option backward.isDefEq.respectTransparency false in /-- A version of `inv_sub_inv'` for `Ring.inverse`. -/ theorem Ring.inverse_sub_inverse [Ring R] {a b : R} (h : IsUnit a ↔ IsUnit b) : Ring.inverse a - Ring.inverse b = Ring.inverse a * (b - a) * Ring.inverse b := by diff --git a/Mathlib/Algebra/Star/LinearMap.lean b/Mathlib/Algebra/Star/LinearMap.lean index 86390bd6d90fd5..78372bcdf6cc05 100644 --- a/Mathlib/Algebra/Star/LinearMap.lean +++ b/Mathlib/Algebra/Star/LinearMap.lean @@ -218,7 +218,6 @@ theorem _root_.Pi.intrinsicStar_comul [Π i, CoalgebraStruct R (B i)] toConv (TensorProduct.comm R (n → R) (n → R) ∘ₗ comul) := Pi.intrinsicStar_comul fun _ ↦ by ext; simp -set_option backward.isDefEq.respectTransparency false in /-- The intrinsic star convolutive ring on linear maps from `n → R` to `m → R`. -/ instance _root_.Pi.convIntrinsicStarRingCommSemiring {m : Type*} : StarRing (WithConv ((n → R) →ₗ[R] m → R)) := convIntrinsicStarRing (by simp) diff --git a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean index 3c1df9e97a3426..5e11a6ee8f2b44 100644 --- a/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean +++ b/Mathlib/Algebra/Star/NonUnitalSubalgebra.lean @@ -1038,7 +1038,6 @@ theorem coe_iSup_of_directed [Nonempty ι] {S : ι → NonUnitalStarSubalgebra R (Set.iUnion_subset fun _ ↦ le_iSup S _) this.symm ▸ rfl -set_option backward.isDefEq.respectTransparency false in /-- Define a non-unital star algebra homomorphism on a directed supremum of non-unital star subalgebras by defining it on each non-unital star subalgebra, and proving that it agrees on the intersection of non-unital star subalgebras. -/ diff --git a/Mathlib/Algebra/Symmetrized.lean b/Mathlib/Algebra/Symmetrized.lean index 3f1607997766f2..9a6ac8283f9827 100644 --- a/Mathlib/Algebra/Symmetrized.lean +++ b/Mathlib/Algebra/Symmetrized.lean @@ -249,7 +249,6 @@ theorem invOf_sym [Mul α] [AddMonoidWithOne α] [Invertible (2 : α)] (a : α) ⅟(sym a) = sym (⅟a) := rfl -set_option backward.isDefEq.respectTransparency false in instance nonAssocSemiring [Semiring α] [Invertible (2 : α)] : NonAssocSemiring αˢʸᵐ := { SymAlg.addCommMonoid with zero_mul := fun _ => by @@ -280,12 +279,10 @@ instance [Ring α] [Invertible (2 : α)] : NonAssocRing αˢʸᵐ := /-! The squaring operation coincides for both multiplications -/ -set_option backward.isDefEq.respectTransparency false in theorem unsym_mul_self [Semiring α] [Invertible (2 : α)] (a : αˢʸᵐ) : unsym (a * a) = unsym a * unsym a := by rw [mul_def, unsym_sym, ← two_mul, invOf_mul_cancel_left] -set_option backward.isDefEq.respectTransparency false in theorem sym_mul_self [Semiring α] [Invertible (2 : α)] (a : α) : sym (a * a) = sym a * sym a := by rw [sym_mul_sym, ← two_mul, invOf_mul_cancel_left] @@ -296,7 +293,6 @@ theorem mul_comm [Mul α] [AddCommSemigroup α] [One α] [OfNat α 2] [Invertibl instance [Ring α] [Invertible (2 : α)] : CommMagma αˢʸᵐ where mul_comm := SymAlg.mul_comm -set_option backward.isDefEq.respectTransparency false in instance [Ring α] [Invertible (2 : α)] : IsCommJordan αˢʸᵐ where lmul_comm_rmul_rmul a b := by have commute_half_left := fun a : α => by diff --git a/Mathlib/Algebra/TrivSqZeroExt.lean b/Mathlib/Algebra/TrivSqZeroExt.lean index bd1498edddf1ad..45046827357322 100644 --- a/Mathlib/Algebra/TrivSqZeroExt.lean +++ b/Mathlib/Algebra/TrivSqZeroExt.lean @@ -715,7 +715,6 @@ abbrev invertibleFstOfInvertible (x : tsze R M) [Invertible x] : Invertible x.fs invOf_mul_self := by rw [← fst_mul, invOf_mul_self, fst_one] mul_invOf_self := by rw [← fst_mul, mul_invOf_self, fst_one] -set_option backward.isDefEq.respectTransparency false in theorem fst_invOf (x : tsze R M) [Invertible x] [Invertible x.fst] : (⅟x).fst = ⅟(x.fst) := by letI := invertibleFstOfInvertible x convert (rfl : _ = ⅟x.fst) @@ -745,7 +744,6 @@ abbrev invertibleOfInvertibleFst (x : tsze R M) [Invertible x.fst] : Invertible convert mul_right_eq_one _ _ (mul_invOf_self x.fst) ext <;> simp [smul_comm] -set_option backward.isDefEq.respectTransparency false in theorem snd_invOf (x : tsze R M) [Invertible x] [Invertible x.fst] : (⅟x).snd = -(⅟x.fst •> x.snd <• ⅟x.fst) := by letI := invertibleOfInvertibleFst x @@ -805,7 +803,6 @@ protected theorem inv_mul_cancel {x : tsze R M} (hx : fst x ≠ 0) : x⁻¹ * x variable [SMulCommClass R Rᵐᵒᵖ M] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem invOf_eq_inv (x : tsze R M) [Invertible x] : ⅟x = x⁻¹ := by letI := invertibleFstOfInvertible x ext <;> simp [fst_invOf, snd_invOf] diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean index 9772a0cef678d0..307dc374f736e4 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/Affine/Point.lean @@ -658,7 +658,6 @@ variable [Algebra R S] [Algebra R F] [Algebra S F] [IsScalarTower R S F] [Algebr [IsScalarTower R S K] [Algebra R L] [Algebra S L] [IsScalarTower R S L] (f : F →ₐ[S] K) (g : K →ₐ[S] L) -set_option backward.isDefEq.respectTransparency false in /-- The group homomorphism from `W⟮F⟯` to `W⟮K⟯` induced by an algebra homomorphism `f : F →ₐ[S] K`, where `W` is defined over a subring of a ring `S`, and `F` and `K` are field extensions of `S`. -/ noncomputable def map : W'⟮F⟯ →+ W'⟮K⟯ where diff --git a/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean b/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean index 116d8a2d720fdf..294a9ebfcb05d9 100644 --- a/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean +++ b/Mathlib/AlgebraicGeometry/EllipticCurve/NormalForms.lean @@ -166,7 +166,6 @@ a normal form of characteristic ≠ 2, provided that 2 is invertible in the ring @[simps] def toCharNeTwoNF : VariableChange R := ⟨1, 0, ⅟2 * -W.a₁, ⅟2 * -W.a₃⟩ -set_option backward.isDefEq.respectTransparency false in instance toCharNeTwoNF_spec : (W.toCharNeTwoNF • W).IsCharNeTwoNF := by constructor <;> simp [variableChange_a₁, variableChange_a₃] @@ -268,7 +267,6 @@ It is the composition of an explicit change of variables with `WeierstrassCurve. def toShortNF : VariableChange R := ⟨1, ⅟3 * -(W.toCharNeTwoNF • W).a₂, 0, 0⟩ * W.toCharNeTwoNF -set_option backward.isDefEq.respectTransparency false in instance toShortNF_spec : (W.toShortNF • W).IsShortNF := by rw [toShortNF, mul_smul] constructor <;> simp [variableChange_a₁, variableChange_a₂, variableChange_a₃] diff --git a/Mathlib/AlgebraicGeometry/PointsPi.lean b/Mathlib/AlgebraicGeometry/PointsPi.lean index f8369f4aea5101..030398d235b888 100644 --- a/Mathlib/AlgebraicGeometry/PointsPi.lean +++ b/Mathlib/AlgebraicGeometry/PointsPi.lean @@ -116,7 +116,6 @@ lemma pointsPi_surjective_of_isAffine [IsAffine X] : Function.Surjective (points simp only [pointsPi, ← Spec.map_comp_assoc, Iso.comp_inv_eq] exact Spec.map_preimage _ -set_option backward.isDefEq.respectTransparency false in lemma pointsPi_surjective [CompactSpace X] [∀ i, IsLocalRing (R i)] : Function.Surjective (pointsPi R X) := by intro f diff --git a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean index 52d09b14e22552..1ef5a4655af315 100644 --- a/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean +++ b/Mathlib/AlgebraicGeometry/ProjectiveSpectrum/StructureSheaf.lean @@ -119,7 +119,6 @@ theorem add_mem' (U : (Opens (ProjectiveSpectrum.top 𝒜))ᵒᵖ) (a b : ∀ x simp only [Subtype.forall, Opens.apply_mk] at wa wb simp [wa y hy.1, wb y hy.2, ext_iff_val, add_mk, add_comm (sa * rb)] -set_option backward.isDefEq.respectTransparency false in theorem neg_mem' (U : (Opens (ProjectiveSpectrum.top 𝒜))ᵒᵖ) (a : ∀ x : U.unop, at x.1) (ha : (isLocallyFraction 𝒜).pred a) : (isLocallyFraction 𝒜).pred (-a) := fun x => by rcases ha x with ⟨V, m, i, j, ⟨r, r_mem⟩, ⟨s, s_mem⟩, nin, hy⟩ @@ -286,7 +285,6 @@ def sectionInBasicOpen (x : ProjectiveSpectrum.top 𝒜) : ⟨ProjectiveSpectrum.basicOpen 𝒜 f.den, y.2, ⟨𝟙 _, ⟨f.deg, ⟨f.num, f.den, _, fun _ => rfl⟩⟩⟩⟩⟩ -set_option backward.isDefEq.respectTransparency false in open HomogeneousLocalization in /-- Given any point `x` and `f` in the homogeneous localization at `x`, there is an element in the stalk at `x` obtained by `sectionInBasicOpen`. This is the inverse of `stalkToFiberRingHom`. diff --git a/Mathlib/AlgebraicGeometry/Pullbacks.lean b/Mathlib/AlgebraicGeometry/Pullbacks.lean index ef9b214fe94fee..f794a50e8e7660 100644 --- a/Mathlib/AlgebraicGeometry/Pullbacks.lean +++ b/Mathlib/AlgebraicGeometry/Pullbacks.lean @@ -782,7 +782,6 @@ lemma pullbackSpecIso_hom_snd : (pullbackSpecIso R S T).hom ≫ Spec.map (ofHom (toRingHom includeRight)) = pullback.snd _ _ := by rw [← pullbackSpecIso_inv_snd, Iso.hom_inv_id_assoc] -set_option backward.isDefEq.respectTransparency false in @[reassoc (attr := simp)] lemma pullbackSpecIso_hom_base : (pullbackSpecIso R S T).hom ≫ Spec.map (ofHom (algebraMap R _)) = diff --git a/Mathlib/AlgebraicGeometry/Scheme.lean b/Mathlib/AlgebraicGeometry/Scheme.lean index f291b48744d8f8..19fdc27c82fc0a 100644 --- a/Mathlib/AlgebraicGeometry/Scheme.lean +++ b/Mathlib/AlgebraicGeometry/Scheme.lean @@ -446,7 +446,6 @@ set_option backward.isDefEq.respectTransparency false in theorem inv_appTop {X Y : Scheme} (f : X ⟶ Y) [IsIso f] : (inv f).appTop = inv f.appTop := by simp -set_option backward.isDefEq.respectTransparency false in /-- Copies a morphism with a different underlying map -/ def copyBase {X Y : Scheme} (f : X.Hom Y) (g : X → Y) (h : f.base = g) : X ⟶ Y where base := TopCat.ofHom ⟨g, h ▸ f.base.1.2⟩ @@ -456,7 +455,6 @@ def copyBase {X Y : Scheme} (f : X.Hom Y) (g : X → Y) (h : f.base = g) : X ⟶ convert f.prop x using 4 cat_disch -set_option backward.isDefEq.respectTransparency false in lemma copyBase_eq {X Y : Scheme} (f : X.Hom Y) (g : X → Y) (h : f.base = g) : f.copyBase g h = f := by subst h diff --git a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean index 637f5399e6438d..90aac7a4eea31d 100644 --- a/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean +++ b/Mathlib/AlgebraicTopology/SimplexCategory/Augmented/Monoidal.lean @@ -191,7 +191,6 @@ lemma inr'_eval (x y : SimplexCategory) (i : Fin (y.len + 1)) : ext simp [OrderEmbedding.toOrderHom] -set_option backward.isDefEq.respectTransparency false in /-- We can characterize morphisms out of a tensor product via their precomposition with `inl` and `inr`. -/ @[ext] diff --git a/Mathlib/Analysis/BoundedVariation.lean b/Mathlib/Analysis/BoundedVariation.lean index 50d25dfd3affee..3d951632bab2c2 100644 --- a/Mathlib/Analysis/BoundedVariation.lean +++ b/Mathlib/Analysis/BoundedVariation.lean @@ -89,7 +89,6 @@ theorem _root_.BoundedVariationOn.ae_differentiableAt_of_mem_uIcc {f : ℝ → V exact (hx₁ hx₄).differentiableAt (Icc_mem_nhds (lt_of_le_of_ne hx₄.left hx₂.symm) (lt_of_le_of_ne hx₄.right hx₃)) -set_option backward.isDefEq.respectTransparency false in /-- A real function into a finite-dimensional real vector space with bounded variation on a set is differentiable almost everywhere in this set. -/ theorem ae_differentiableWithinAt {f : ℝ → V} {s : Set ℝ} (h : LocallyBoundedVariationOn f s) diff --git a/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean b/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean index bb6ffd5fd9e5b8..7113d5bb716013 100644 --- a/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean +++ b/Mathlib/Analysis/BoxIntegral/DivergenceTheorem.lean @@ -62,7 +62,6 @@ variable [CompleteSpace E] (I : Box (Fin (n + 1))) {i : Fin (n + 1)} open MeasureTheory -set_option backward.isDefEq.respectTransparency false in /-- Auxiliary lemma for the divergence theorem. -/ theorem norm_volume_sub_integral_face_upper_sub_lower_smul_le {f : (Fin (n + 1) → ℝ) → E} {f' : (Fin (n + 1) → ℝ) →L[ℝ] E} (hfc : ContinuousOn f (Box.Icc I)) {x : Fin (n + 1) → ℝ} diff --git a/Mathlib/Analysis/BoxIntegral/UnitPartition.lean b/Mathlib/Analysis/BoxIntegral/UnitPartition.lean index bed24c0d58de84..da8483ce6b6542 100644 --- a/Mathlib/Analysis/BoxIntegral/UnitPartition.lean +++ b/Mathlib/Analysis/BoxIntegral/UnitPartition.lean @@ -420,7 +420,6 @@ theorem integralSum_eq_tsum_div {B : Box ι} (hB : hasIntegralVertices B) (hs₀ open Filter -set_option backward.isDefEq.respectTransparency false in /-- Let `s` be a bounded, measurable set of `ι → ℝ` whose frontier has zero volume and let `F` be a continuous function. Then the limit as `n → ∞` of `∑ F x / n ^ card ι`, where the sum is over the points in `s ∩ n⁻¹ • (ι → ℤ)`, tends to the integral of `F` over `s`. -/ diff --git a/Mathlib/Analysis/CStarAlgebra/Projection.lean b/Mathlib/Analysis/CStarAlgebra/Projection.lean index fb5e78c5f68be4..20bc06855b19d1 100644 --- a/Mathlib/Analysis/CStarAlgebra/Projection.lean +++ b/Mathlib/Analysis/CStarAlgebra/Projection.lean @@ -57,6 +57,7 @@ namespace IsStarProjection variable {A : Type*} [NonUnitalCStarAlgebra A] [PartialOrder A] [StarOrderedRing A] {p q : A} +set_option backward.isDefEq.respectTransparency false in open CFC in lemma le_tfae (hp : IsStarProjection p) (hq : IsStarProjection q) : List.TFAE diff --git a/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean b/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean index da436d6fa92a49..a4911736cc71e0 100644 --- a/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean +++ b/Mathlib/Analysis/CStarAlgebra/Unitary/Connected.lean @@ -239,7 +239,6 @@ lemma Unitary.norm_expUnitary_smul_argSelfAdjoint_sub_one_le (u : unitary A) unitary.norm_expUnitary_smul_argSelfAdjoint_sub_one_le := Unitary.norm_expUnitary_smul_argSelfAdjoint_sub_one_le -set_option backward.isDefEq.respectTransparency false in @[fun_prop] lemma Unitary.continuousOn_argSelfAdjoint : ContinuousOn (argSelfAdjoint : unitary A → selfAdjoint A) (ball (1 : unitary A) 2) := by diff --git a/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean b/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean index b7b89888f51c6a..409463c44b59f9 100644 --- a/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean +++ b/Mathlib/Analysis/Calculus/FDeriv/Bilinear.lean @@ -40,7 +40,6 @@ variable {b : E × F → G} {u : Set (E × F)} open NormedField -set_option backward.isDefEq.respectTransparency false in -- TODO: rewrite/golf using analytic functions? @[fun_prop] theorem IsBoundedBilinearMap.hasStrictFDerivAt (h : IsBoundedBilinearMap 𝕜 b) (p : E × F) : diff --git a/Mathlib/Analysis/Calculus/Monotone.lean b/Mathlib/Analysis/Calculus/Monotone.lean index 50241d165de423..aac9f476cc4f0b 100644 --- a/Mathlib/Analysis/Calculus/Monotone.lean +++ b/Mathlib/Analysis/Calculus/Monotone.lean @@ -235,7 +235,6 @@ theorem MonotoneOn.ae_differentiableWithinAt_of_mem {f : ℝ → ℝ} {s : Set filter_upwards [self_mem_nhdsWithin, this] with y hy h'y exact gf ⟨hy, h'y.1.le, h'y.2.le⟩ -set_option backward.isDefEq.respectTransparency false in /-- A real function which is monotone on a set is differentiable Lebesgue-almost everywhere on this set. This version assumes that `s` is measurable and uses `volume.restrict s`. For a formulation without measurability assumption, diff --git a/Mathlib/Analysis/Complex/MeanValue.lean b/Mathlib/Analysis/Complex/MeanValue.lean index 86d73338b4e1a7..0c6ab293b02c6b 100644 --- a/Mathlib/Analysis/Complex/MeanValue.lean +++ b/Mathlib/Analysis/Complex/MeanValue.lean @@ -32,7 +32,6 @@ For a complex differentiable function `f`, the theorems in this section compute interior of a disk as circle averages of a weighted function. -/ -set_option backward.isDefEq.respectTransparency false in /-- The **Generalized Mean Value Property** of complex differentiable functions: If `f : ℂ → E` is continuous on a closed disc of radius `R` and center `c`, and is complex differentiable at all but diff --git a/Mathlib/Analysis/Convex/Intrinsic.lean b/Mathlib/Analysis/Convex/Intrinsic.lean index 96875aee7041a3..09b04d1d8795d6 100644 --- a/Mathlib/Analysis/Convex/Intrinsic.lean +++ b/Mathlib/Analysis/Convex/Intrinsic.lean @@ -203,7 +203,6 @@ theorem intrinsicClosure_idem (s : Set P) : rw [intrinsicClosure, preimage_image_eq _ Subtype.coe_injective] exact isClosed_closure -set_option backward.isDefEq.respectTransparency false in theorem intrinsicClosure_eq_closure_inter_affineSpan (s : Set P) : intrinsicClosure 𝕜 s = closure s ∩ affineSpan 𝕜 s := by have h : Topology.IsInducing ((↑) : affineSpan 𝕜 s → P) := .subtypeVal diff --git a/Mathlib/Analysis/Convex/StrictConvexBetween.lean b/Mathlib/Analysis/Convex/StrictConvexBetween.lean index d5772df7fbfd81..139a6b8534b7ef 100644 --- a/Mathlib/Analysis/Convex/StrictConvexBetween.lean +++ b/Mathlib/Analysis/Convex/StrictConvexBetween.lean @@ -128,7 +128,6 @@ lemma eq_lineMap_of_dist_eq_mul_of_dist_eq_mul (hxy : dist x y = r * dist x z) mul_left_inj' hne] at H' rw [AffineMap.lineMap_apply, ← H', H, vsub_vadd] -set_option backward.isDefEq.respectTransparency false in lemma eq_midpoint_of_dist_eq_half (hx : dist x y = dist x z / 2) (hy : dist y z = dist x z / 2) : y = midpoint ℝ x z := by apply eq_lineMap_of_dist_eq_mul_of_dist_eq_mul diff --git a/Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean b/Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean index 195856ec2859e4..f68f6cfd1be732 100644 --- a/Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean +++ b/Mathlib/Analysis/Distribution/SchwartzSpace/Fourier.lean @@ -319,7 +319,6 @@ theorem integral_norm_sq_fourier (f : 𝓢(V, H)) : simpa [← LinearIsometry.integral_comp_comm, inner_self_eq_norm_sq_to_K] using integral_inner_fourier_fourier f f -set_option backward.isDefEq.respectTransparency false in theorem inner_fourier_toL2_eq (f g : 𝓢(V, H)) : ⟪(𝓕 f).toLp 2, (𝓕 g).toLp 2⟫ = ⟪f.toLp 2, g.toLp 2⟫ := by simp diff --git a/Mathlib/Analysis/Fourier/AddCircle.lean b/Mathlib/Analysis/Fourier/AddCircle.lean index 37a20f91258da8..8187a23bf85c23 100644 --- a/Mathlib/Analysis/Fourier/AddCircle.lean +++ b/Mathlib/Analysis/Fourier/AddCircle.lean @@ -93,7 +93,6 @@ theorem volume_eq_smul_haarAddCircle : (volume : Measure (AddCircle T)) = ENNReal.ofReal T • (@haarAddCircle T _) := rfl -set_option backward.isDefEq.respectTransparency false in lemma integral_haarAddCircle {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {f : AddCircle T → E} : ∫ t, f t ∂haarAddCircle = T⁻¹ • ∫ t, f t := by rw [volume_eq_smul_haarAddCircle, integral_smul_measure, ENNReal.toReal_ofReal hT.out.le, @@ -302,7 +301,6 @@ variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℂ E] def fourierCoeff (f : AddCircle T → E) (n : ℤ) : E := ∫ t : AddCircle T, fourier (-n) t • f t ∂haarAddCircle -set_option backward.isDefEq.respectTransparency false in /-- The Fourier coefficients of a function on `AddCircle T` can be computed as an integral over `[a, a + T]`, for any real `a`. -/ theorem fourierCoeff_eq_intervalIntegral (f : AddCircle T → E) (n : ℤ) (a : ℝ) : diff --git a/Mathlib/Analysis/Fourier/FourierTransform.lean b/Mathlib/Analysis/Fourier/FourierTransform.lean index 3ffa9a211bbb39..2a4c78031c88a3 100644 --- a/Mathlib/Analysis/Fourier/FourierTransform.lean +++ b/Mathlib/Analysis/Fourier/FourierTransform.lean @@ -463,7 +463,6 @@ lemma fourierInv_eq' (f : V → E) (w : V) : @[deprecated (since := "2025-11-16")] alias fourierIntegralInv_eq' := fourierInv_eq' -set_option backward.isDefEq.respectTransparency false in lemma fourier_comp_linearIsometry (A : W ≃ₗᵢ[ℝ] V) (f : V → E) (w : W) : 𝓕 (f ∘ A) w = (𝓕 f) (A w) := by simp only [fourier_eq, ← A.inner_map_map, Function.comp_apply, diff --git a/Mathlib/Analysis/Fourier/LpSpace.lean b/Mathlib/Analysis/Fourier/LpSpace.lean index acb5e81a40f837..7efc4420fe5ef5 100644 --- a/Mathlib/Analysis/Fourier/LpSpace.lean +++ b/Mathlib/Analysis/Fourier/LpSpace.lean @@ -106,7 +106,6 @@ theorem SchwartzMap.toLp_fourier_eq (f : 𝓢(E, F)) : 𝓕 (f.toLp 2) = (𝓕 f @[deprecated (since := "2025-12-31")] alias SchwartzMap.toLp_fourierTransform_eq := SchwartzMap.toLp_fourier_eq -set_option backward.isDefEq.respectTransparency false in @[simp] theorem SchwartzMap.toLp_fourierInv_eq (f : 𝓢(E, F)) : 𝓕⁻ (f.toLp 2) = (𝓕⁻ f).toLp 2 := by apply LinearMap.extendOfNorm_eq diff --git a/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean b/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean index e2249a6911619d..d5a2e66ac37539 100644 --- a/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean +++ b/Mathlib/Analysis/Fourier/RiemannLebesgueLemma.lean @@ -60,7 +60,6 @@ variable [NormedAddCommGroup V] [MeasurableSpace V] [BorelSpace V] [InnerProduct local notation3 "i" => fun (w : V) => (1 / (2 * ‖w‖ ^ 2) : ℝ) • w -set_option backward.isDefEq.respectTransparency false in /-- Shifting `f` by `(1 / (2 * ‖w‖ ^ 2)) • w` negates the integral in the Riemann-Lebesgue lemma. -/ theorem fourierIntegral_half_period_translate {w : V} (hw : w ≠ 0) : (∫ v : V, 𝐞 (-⟪v, w⟫) • f (v + i w)) = -∫ v : V, 𝐞 (-⟪v, w⟫) • f v := by @@ -177,7 +176,6 @@ theorem tendsto_integral_exp_inner_smul_cocompact_of_continuous_compact_support variable (f) -set_option backward.isDefEq.respectTransparency false in /-- Riemann-Lebesgue lemma for functions on a real inner-product space: the integral `∫ v, exp (-2 * π * ⟪w, v⟫ * I) • f v` tends to 0 as `w → ∞`. -/ theorem tendsto_integral_exp_inner_smul_cocompact : @@ -221,7 +219,6 @@ theorem Real.zero_at_infty_fourier (f : ℝ → E) : Tendsto (𝓕 f) (cocompact @[deprecated (since := "2025-11-16")] alias Real.zero_at_infty_fourierIntegral := Real.zero_at_infty_fourier -set_option backward.isDefEq.respectTransparency false in /-- Riemann-Lebesgue lemma for functions on a finite-dimensional inner-product space, formulated via dual space. **Do not use** -- it is only a stepping stone to `tendsto_integral_exp_smul_cocompact` where the inner-product-space structure isn't required. -/ diff --git a/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean b/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean index 9239f3c7356ced..87a158ab53a1a3 100644 --- a/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean +++ b/Mathlib/Analysis/FunctionalSpaces/SobolevInequality.lean @@ -367,7 +367,6 @@ irreducible_def lintegralPowLePowLIntegralFDerivConst (p : ℝ) : ℝ≥0 := by let c := addHaarScalarFactor μ ((volume : Measure (ι → ℝ)).map e.symm) exact (c * ‖(e.symm : (ι → ℝ) →L[ℝ] E)‖₊ ^ p) * (c ^ p)⁻¹ -set_option backward.isDefEq.respectTransparency false in /-- The **Gagliardo-Nirenberg-Sobolev inequality**. Let `u` be a continuously differentiable compactly-supported function `u` on a normed space `E` of finite dimension `n ≥ 2`, equipped with Haar measure. Then the Lebesgue integral of the pointwise expression @@ -591,7 +590,6 @@ irreducible_def SNormLESNormFDerivOfEqConst [FiniteDimensional ℝ F] (p : ℝ) let e : F ≃L[ℝ] F' := toEuclidean ‖(e.symm : F' →L[ℝ] F)‖₊ * eLpNormLESNormFDerivOfEqInnerConst μ p * ‖(e : F →L[ℝ] F')‖₊ -set_option backward.isDefEq.respectTransparency false in /-- The **Gagliardo-Nirenberg-Sobolev inequality**. Let `u` be a continuously differentiable compactly-supported function `u` on a normed space `E` of finite dimension `n`, equipped with Haar measure, let `1 < p < n` and let `p'⁻¹ := p⁻¹ - n⁻¹`. diff --git a/Mathlib/Analysis/InnerProductSpace/Coalgebra.lean b/Mathlib/Analysis/InnerProductSpace/Coalgebra.lean index 1500c518131b23..794558e072f9d7 100644 --- a/Mathlib/Analysis/InnerProductSpace/Coalgebra.lean +++ b/Mathlib/Analysis/InnerProductSpace/Coalgebra.lean @@ -48,7 +48,6 @@ theorem Pi.comul_eq_adjoint {n : Type*} [Fintype n] [DecidableEq n] : simp only [comp_apply, ← toLinearMap_congr, LinearEquiv.coe_coe, ← LinearEquiv.symm_apply_eq] simp [TensorProduct.ext_iff_inner_left, adjoint_inner_right, inner_eq_star_dotProduct] -set_option backward.isDefEq.respectTransparency false in open EuclideanSpace in /-- The counit on `n → 𝕜` corresponds to the Euclidean space adjoint of the algebra linear map. -/ theorem Pi.counit_eq_adjoint {n : Type*} [Fintype n] [DecidableEq n] : diff --git a/Mathlib/Analysis/InnerProductSpace/Orientation.lean b/Mathlib/Analysis/InnerProductSpace/Orientation.lean index 41af1412d0257e..48a770f98db49f 100644 --- a/Mathlib/Analysis/InnerProductSpace/Orientation.lean +++ b/Mathlib/Analysis/InnerProductSpace/Orientation.lean @@ -175,7 +175,6 @@ irreducible_def volumeForm : E [⋀^Fin n]→ₗ[ℝ] ℝ := by exact o.eq_or_eq_neg_of_isEmpty.by_cases (fun _ => opos) fun _ => -opos | succ n => exact (o.finOrthonormalBasis n.succ_pos _i.out).toBasis.det -set_option backward.isDefEq.respectTransparency false in @[simp] theorem volumeForm_zero_pos [_i : Fact (finrank ℝ E = 0)] : Orientation.volumeForm (positiveOrientation : Orientation ℝ E (Fin 0)) = @@ -193,7 +192,6 @@ theorem volumeForm_zero_neg [_i : Fact (finrank ℝ E = 0)] : simpa using congr_arg AlternatingMap.constLinearEquivOfIsEmpty.symm (eq_zero_of_sameRay_self_neg h) -set_option backward.isDefEq.respectTransparency false in /-- The volume form on an oriented real inner product space can be evaluated as the determinant with respect to any orthonormal basis of the space compatible with the orientation. -/ theorem volumeForm_robust (b : OrthonormalBasis (Fin n) ℝ E) (hb : b.toBasis.orientation = o) : @@ -206,7 +204,6 @@ theorem volumeForm_robust (b : OrthonormalBasis (Fin n) ℝ E) (hb : b.toBasis.o rw [same_orientation_iff_det_eq_det, hb] exact o.finOrthonormalBasis_orientation _ _ -set_option backward.isDefEq.respectTransparency false in /-- The volume form on an oriented real inner product space can be evaluated as the determinant with respect to any orthonormal basis of the space compatible with the orientation. -/ theorem volumeForm_robust_neg (b : OrthonormalBasis (Fin n) ℝ E) (hb : b.toBasis.orientation ≠ o) : @@ -221,7 +218,6 @@ theorem volumeForm_robust_neg (b : OrthonormalBasis (Fin n) ℝ E) (hb : b.toBas convert hb.symm exact o.finOrthonormalBasis_orientation _ _ -set_option backward.isDefEq.respectTransparency false in @[simp] theorem volumeForm_neg_orientation : (-o).volumeForm = -o.volumeForm := by rcases n with - | n @@ -235,7 +231,6 @@ theorem volumeForm_neg_orientation : (-o).volumeForm = -o.volumeForm := by rw [e.toBasis.orientation_ne_iff_eq_neg, h₁] rw [o.volumeForm_robust e h₁, (-o).volumeForm_robust_neg e h₂] -set_option backward.isDefEq.respectTransparency false in theorem volumeForm_robust' (b : OrthonormalBasis (Fin n) ℝ E) (v : Fin n → E) : |o.volumeForm v| = |b.toBasis.det v| := by cases n @@ -243,7 +238,6 @@ theorem volumeForm_robust' (b : OrthonormalBasis (Fin n) ℝ E) (v : Fin n → E · rw [o.volumeForm_robust (b.adjustToOrientation o) (b.orientation_adjustToOrientation o), b.abs_det_adjustToOrientation] -set_option backward.isDefEq.respectTransparency false in /-- Let `v` be an indexed family of `n` vectors in an oriented `n`-dimensional real inner product space `E`. The output of the volume form of `E` when evaluated on `v` is bounded in absolute value by the product of the norms of the vectors `v i`. -/ @@ -265,7 +259,6 @@ theorem abs_volumeForm_apply_le (v : Fin n → E) : |o.volumeForm v| ≤ ∏ i : theorem volumeForm_apply_le (v : Fin n → E) : o.volumeForm v ≤ ∏ i : Fin n, ‖v i‖ := (le_abs_self _).trans (o.abs_volumeForm_apply_le v) -set_option backward.isDefEq.respectTransparency false in /-- Let `v` be an indexed family of `n` orthogonal vectors in an oriented `n`-dimensional real inner product space `E`. The output of the volume form of `E` when evaluated on `v` is, up to sign, the product of the norms of the vectors `v i`. -/ @@ -296,7 +289,6 @@ theorem abs_volumeForm_apply_of_orthonormal (v : OrthonormalBasis (Fin n) ℝ E) |o.volumeForm v| = 1 := by simpa [o.volumeForm_robust' v v] using congr_arg abs v.toBasis.det_self -set_option backward.isDefEq.respectTransparency false in theorem volumeForm_map {F : Type*} [NormedAddCommGroup F] [InnerProductSpace ℝ F] [Fact (finrank ℝ F = n)] (φ : E ≃ₗᵢ[ℝ] F) (x : Fin n → F) : (Orientation.map (Fin n) φ.toLinearEquiv o).volumeForm x = o.volumeForm (φ.symm ∘ x) := by @@ -312,7 +304,6 @@ theorem volumeForm_map {F : Type*} [NormedAddCommGroup F] [InnerProductSpace ℝ rw [o.volumeForm_robust e he] simp -set_option backward.isDefEq.respectTransparency false in /-- The volume form is invariant under pullback by a positively-oriented isometric automorphism. -/ theorem volumeForm_comp_linearIsometryEquiv (φ : E ≃ₗᵢ[ℝ] E) (hφ : 0 < LinearMap.det (φ.toLinearEquiv : E →ₗ[ℝ] E)) (x : Fin n → E) : diff --git a/Mathlib/Analysis/InnerProductSpace/PiL2.lean b/Mathlib/Analysis/InnerProductSpace/PiL2.lean index 87d6f2536bca37..98b561c7287cd7 100644 --- a/Mathlib/Analysis/InnerProductSpace/PiL2.lean +++ b/Mathlib/Analysis/InnerProductSpace/PiL2.lean @@ -1276,7 +1276,6 @@ theorem LinearMap.toMatrix_innerₛₗ_apply [Fintype n] [DecidableEq n] [Fintyp end Matrix -set_option backward.isDefEq.respectTransparency false in open ContinuousLinearMap LinearMap in theorem InnerProductSpace.toMatrix_rankOne {𝕜 E F ι ι' : Type*} [RCLike 𝕜] [SeminormedAddCommGroup E] [NormedSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] diff --git a/Mathlib/Analysis/MellinTransform.lean b/Mathlib/Analysis/MellinTransform.lean index 29c7eaf017d078..cb4da5d1f5790b 100644 --- a/Mathlib/Analysis/MellinTransform.lean +++ b/Mathlib/Analysis/MellinTransform.lean @@ -59,7 +59,6 @@ nonrec theorem MellinConvergent.div_const {f : ℝ → ℂ} {s : ℂ} (hf : Mell MellinConvergent (fun t => f t / a) s := by simpa only [MellinConvergent, smul_eq_mul, ← mul_div_assoc] using hf.div_const a -set_option backward.isDefEq.respectTransparency false in theorem MellinConvergent.comp_mul_left {f : ℝ → E} {s : ℂ} {a : ℝ} (ha : 0 < a) : MellinConvergent (fun t => f (a * t)) s ↔ MellinConvergent f s := by have := integrableOn_Ioi_comp_mul_left_iff (fun t : ℝ => (t : ℂ) ^ (s - 1) • f t) 0 ha @@ -135,7 +134,6 @@ theorem mellin_comp_rpow (f : ℝ → E) (s : ℂ) (a : ℝ) : cpow_add _ _ (ofReal_ne_zero.mpr <| ne_of_gt ht), ofReal_sub, ofReal_one, mul_sub, mul_div_cancel₀ _ (ofReal_ne_zero.mpr ha), add_comm, ← add_sub_assoc, mul_one, sub_add_cancel] -set_option backward.isDefEq.respectTransparency false in theorem mellin_comp_mul_left (f : ℝ → E) (s : ℂ) {a : ℝ} (ha : 0 < a) : mellin (fun t => f (a * t)) s = (a : ℂ) ^ (-s) • mellin f s := by simp_rw [mellin] @@ -189,7 +187,6 @@ section MellinConvergent /-! ## Convergence of Mellin transform integrals -/ -set_option backward.isDefEq.respectTransparency false in /-- Auxiliary lemma to reduce convergence statements from vector-valued functions to real scalar-valued functions. -/ theorem mellin_convergent_iff_norm [NormedSpace ℂ E] {f : ℝ → E} {T : Set ℝ} (hT : T ⊆ Ioi 0) diff --git a/Mathlib/Analysis/Normed/Affine/AddTorsor.lean b/Mathlib/Analysis/Normed/Affine/AddTorsor.lean index 4e92d68e95aa46..0beb28f923ee47 100644 --- a/Mathlib/Analysis/Normed/Affine/AddTorsor.lean +++ b/Mathlib/Analysis/Normed/Affine/AddTorsor.lean @@ -132,7 +132,6 @@ section invertibleTwo variable [Invertible (2 : 𝕜)] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem dist_left_midpoint (p₁ p₂ : P) : dist p₁ (midpoint 𝕜 p₁ p₂) = ‖(2 : 𝕜)‖⁻¹ * dist p₁ p₂ := by rw [midpoint, dist_comm, dist_lineMap_left, invOf_eq_inv, ← norm_inv] @@ -176,7 +175,6 @@ theorem dist_left_midpoint_eq_dist_right_midpoint (p₁ p₂ : P) : dist p₁ (midpoint 𝕜 p₁ p₂) = dist p₂ (midpoint 𝕜 p₁ p₂) := by rw [dist_left_midpoint p₁ p₂, dist_right_midpoint p₁ p₂] -set_option backward.isDefEq.respectTransparency false in theorem dist_midpoint_midpoint_le' (p₁ p₂ p₃ p₄ : P) : dist (midpoint 𝕜 p₁ p₂) (midpoint 𝕜 p₃ p₄) ≤ (dist p₁ p₃ + dist p₂ p₄) / ‖(2 : 𝕜)‖ := by rw [dist_eq_norm_vsub V, dist_eq_norm_vsub V, dist_eq_norm_vsub V, midpoint_vsub_midpoint] diff --git a/Mathlib/Analysis/Normed/Algebra/Exponential.lean b/Mathlib/Analysis/Normed/Algebra/Exponential.lean index 3ac607b093b64c..185d8d20f4ede8 100644 --- a/Mathlib/Analysis/Normed/Algebra/Exponential.lean +++ b/Mathlib/Analysis/Normed/Algebra/Exponential.lean @@ -364,7 +364,6 @@ theorem isUnit_exp_of_mem_ball [CharZero 𝕂] {x : 𝔸} (hx : x ∈ Metric.eball (0 : 𝔸) (expSeries 𝕂 𝔸).radius) : IsUnit (exp x) := @isUnit_of_invertible _ _ _ (invertibleExpOfMemBall hx) -set_option backward.isDefEq.respectTransparency false in theorem invOf_exp_of_mem_ball [CharZero 𝕂] {x : 𝔸} (hx : x ∈ Metric.eball (0 : 𝔸) (expSeries 𝕂 𝔸).radius) [Invertible (exp x)] : ⅟(exp x) = exp (-x) := by diff --git a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean index 39981fac507600..2f89c4ce9fbf18 100644 --- a/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean +++ b/Mathlib/Analysis/Normed/Group/SemiNormedGrp/Kernels.lean @@ -36,7 +36,6 @@ namespace SemiNormedGrp₁ noncomputable section -set_option backward.isDefEq.respectTransparency false in /-- Auxiliary definition for `HasCokernels SemiNormedGrp₁`. -/ def cokernelCocone {X Y : SemiNormedGrp₁.{u}} (f : X ⟶ Y) : Cofork f 0 := Cofork.ofπ diff --git a/Mathlib/Analysis/Normed/Lp/PiLp.lean b/Mathlib/Analysis/Normed/Lp/PiLp.lean index 458e6851f6dfd0..05dd370e68c340 100644 --- a/Mathlib/Analysis/Normed/Lp/PiLp.lean +++ b/Mathlib/Analysis/Normed/Lp/PiLp.lean @@ -788,7 +788,6 @@ theorem _root_.LinearIsometryEquiv.piLpCongrLeft_apply (e : ι ≃ ι') (v : PiL LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e v = Equiv.piCongrLeft' (fun _ : ι => E) e v := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] theorem _root_.LinearIsometryEquiv.piLpCongrLeft_symm (e : ι ≃ ι') : (LinearIsometryEquiv.piLpCongrLeft p 𝕜 E e).symm = diff --git a/Mathlib/Analysis/Normed/Module/Basic.lean b/Mathlib/Analysis/Normed/Module/Basic.lean index 6b039fa75ededf..79c70acdeca2b3 100644 --- a/Mathlib/Analysis/Normed/Module/Basic.lean +++ b/Mathlib/Analysis/Normed/Module/Basic.lean @@ -122,7 +122,7 @@ lemma Metric.diam_sphere_eq (x : E) {r : ℝ} (hr : 0 ≤ r) : diam (sphere x r) obtain ⟨y, hy⟩ := exists_ne (0 : E) calc 2 * r = dist (x + r • ‖y‖⁻¹ • y) (x - r • ‖y‖⁻¹ • y) := by - simp [dist_eq_norm, ← two_nsmul, ← smul_assoc, norm_smul, abs_of_nonneg hr, mul_assoc, hy] + simp [dist_eq_norm, ← two_nsmul, ← smul_assoc, norm_smul, abs_of_nonneg hr, hy] _ ≤ diam (sphere x r) := by apply dist_le_diam_of_mem isBounded_sphere <;> simp [norm_smul, hy, abs_of_nonneg hr] diff --git a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean index 3edae264407d96..278e60e80b046a 100644 --- a/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean +++ b/Mathlib/Analysis/SpecialFunctions/ContinuousFunctionalCalculus/Rpow/IntegralRepresentation.lean @@ -265,7 +265,6 @@ lemma integrableOn_rpowIntegrand₀₁_Ici (hp : p ∈ Ioo 0 1) (hx : 0 ≤ x) : IntegrableOn (rpowIntegrand₀₁ p · x) (Ici 0) := integrableOn_rpowIntegrand₀₁_Ioi hp hx |>.congr_set_ae Ioi_ae_eq_Ici.symm -set_option backward.isDefEq.respectTransparency false in lemma integral_rpowIntegrand₀₁_eq_rpow_mul_const (hp : p ∈ Ioo 0 1) (hx : 0 ≤ x) : (∫ t in Ioi 0, rpowIntegrand₀₁ p t x) = x ^ p * (∫ t in Ioi 0, rpowIntegrand₀₁ p t 1) := by -- We use the change of variables formula with `f t = x * t`. Here `g = rpowIntegrand₀₁ p · x`. @@ -331,7 +330,6 @@ lemma rpow_eq_const_mul_integral (hp : p ∈ Ioo 0 1) (hx : 0 ≤ x) : rw [integral_rpowIntegrand₀₁_eq_rpow_mul_const hp hx, mul_comm, mul_assoc, mul_inv_cancel₀ this, mul_one] -set_option backward.isDefEq.respectTransparency false in /-- The integral representation of the function `x ↦ x ^ p` (where `p ∈ (0, 1)`) . -/ lemma exists_measure_rpow_eq_integral (hp : p ∈ Ioo 0 1) : ∃ μ : Measure ℝ, ∀ x ∈ Ici 0, diff --git a/Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean b/Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean index 791f992208d6c7..0e3e70f23c640a 100644 --- a/Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean +++ b/Mathlib/Analysis/SpecialFunctions/Elliptic/Weierstrass.lean @@ -128,7 +128,6 @@ lemma isClosed_lattice : IsClosed (X := ℂ) L.lattice := @AddSubgroup.isClosed_of_discrete _ _ _ _ _ L.lattice.toAddSubgroup (inferInstanceAs (DiscreteTopology L.lattice)) -set_option backward.isDefEq.respectTransparency false in lemma isClosed_of_subset_lattice {s : Set ℂ} (hs : s ⊆ L.lattice) : IsClosed s := by convert L.isClosed_lattice.isClosedMap_subtype_val _ (isClosed_discrete (α := L.lattice) ((↑) ⁻¹' s)) diff --git a/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean b/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean index 31f016e54e8803..466d81f4939ae4 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gaussian/FourierTransform.lean @@ -279,7 +279,6 @@ theorem integrable_cexp_neg_mul_sq_norm_add_of_euclideanSpace · simp [Finset.mul_sum, mul_comm] · exact Finset.sum_nonneg (fun i _hi ↦ by positivity) -set_option backward.isDefEq.respectTransparency false in /-- In a real inner product space, the complex exponential of minus the square of the norm plus a scalar product is integrable. Useful when discussing the Fourier transform of a Gaussian. -/ theorem integrable_cexp_neg_mul_sq_norm_add (hb : 0 < b.re) (c : ℂ) (w : V) : @@ -333,7 +332,6 @@ theorem integral_cexp_neg_mul_sq_norm_add_of_euclideanSpace rw [sq_sqrt] exact Finset.sum_nonneg (fun i _hi ↦ by positivity) -set_option backward.isDefEq.respectTransparency false in theorem integral_cexp_neg_mul_sq_norm_add (hb : 0 < b.re) (c : ℂ) (w : V) : ∫ v : V, cexp (-b * ‖v‖ ^ 2 + c * ⟪w, v⟫) = diff --git a/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean b/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean index ca3f135992dfd0..854d3647ae25ea 100644 --- a/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean +++ b/Mathlib/Analysis/SpecialFunctions/Gaussian/GaussianIntegral.lean @@ -286,7 +286,6 @@ theorem integral_gaussian_complex {b : ℂ} (hb : 0 < re b) : rw [Ne, cpow_eq_zero_iff, not_and_or] exact Or.inl (div_ne_zero (ofReal_ne_zero.mpr pi_ne_zero) (nv hc)) -set_option backward.isDefEq.respectTransparency false in -- The Gaussian integral on the half-line, `∫ x in Ioi 0, exp (-b * x^2)`, for complex `b`. theorem integral_gaussian_complex_Ioi {b : ℂ} (hb : 0 < re b) : ∫ x : ℝ in Ioi 0, cexp (-b * (x : ℂ) ^ 2) = (π / b) ^ (1 / 2 : ℂ) / 2 := by diff --git a/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean index 53f4edb52cee99..67ca41cb0bb5a5 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrability/Basic.lean @@ -65,7 +65,6 @@ theorem intervalIntegrable_rpow' {r : ℝ} (h : -1 < r) : simp only [Pi.smul_apply, smul_eq_mul, log_neg_eq_log, mul_comm, rpow_def_of_pos hx.1, rpow_def_of_neg (by linarith [hx.1] : -x < 0)] -set_option backward.isDefEq.respectTransparency false in /-- The power function `x ↦ x^s` is integrable on `(0, t)` iff `-1 < s`. -/ lemma integrableOn_Ioo_rpow_iff {s t : ℝ} (ht : 0 < t) : IntegrableOn (fun x ↦ x ^ s) (Ioo (0 : ℝ) t) ↔ -1 < s := by @@ -167,7 +166,6 @@ theorem intervalIntegrable_cpow' {r : ℂ} (h : -1 < r.re) : rw [Complex.ofReal_cpow_of_nonpos this, mul_comm] simp -set_option backward.isDefEq.respectTransparency false in /-- The complex power function `x ↦ x^s` is integrable on `(0, t)` iff `-1 < s.re`. -/ theorem integrableOn_Ioo_cpow_iff {s : ℂ} {t : ℝ} (ht : 0 < t) : IntegrableOn (fun x : ℝ ↦ (x : ℂ) ^ s) (Ioo (0 : ℝ) t) ↔ -1 < s.re := by diff --git a/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean index fe99d5eca1f3ff..b6adf94fb19e8b 100644 --- a/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Integrals/Basic.lean @@ -174,7 +174,6 @@ theorem integral_zpow {n : ℤ} (h : 0 ≤ n ∨ n ≠ -1 ∧ (0 : ℝ) ∉ [[a, theorem integral_pow : ∫ x in a..b, x ^ n = (b ^ (n + 1) - a ^ (n + 1)) / (n + 1) := by simpa only [← Int.natCast_succ, zpow_natCast] using integral_zpow (Or.inl n.cast_nonneg) -set_option backward.isDefEq.respectTransparency false in /-- Integral of `|x - a| ^ n` over `Ι a b`. This integral appears in the proof of the Picard-Lindelöf/Cauchy-Lipschitz theorem. -/ theorem integral_pow_abs_sub_uIoc : ∫ x in Ι a b, |x - a| ^ n = |b - a| ^ (n + 1) / (n + 1) := by diff --git a/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean b/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean index d648125488efdb..bd34327c88aa8f 100644 --- a/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean +++ b/Mathlib/Analysis/SpecialFunctions/JapaneseBracket.lean @@ -73,7 +73,6 @@ theorem closedBall_rpow_sub_one_eq_empty_aux {r t : ℝ} (hr : 0 < r) (ht : 1 < variable [NormedSpace ℝ E] [FiniteDimensional ℝ E] variable {E} -set_option backward.isDefEq.respectTransparency false in theorem finite_integral_rpow_sub_one_pow_aux {r : ℝ} (n : ℕ) (hnr : (n : ℝ) < r) : (∫⁻ x : ℝ in Ioc 0 1, ENNReal.ofReal ((x ^ (-r⁻¹) - 1) ^ n)) < ∞ := by have hr : 0 < r := lt_of_le_of_lt n.cast_nonneg hnr diff --git a/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean index a36a1448f741a0..191661cf4b128e 100644 --- a/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Log/Basic.lean @@ -516,7 +516,6 @@ lemma log_pos_of_isNegNat {n : ℕ} (h : NormNum.IsInt e (.negOfNat n)) (w : Nat apply Real.log_pos simpa using w -set_option backward.isDefEq.respectTransparency false in lemma log_pos_of_isNNRat {n : ℕ} : (NormNum.IsNNRat e n d) → (decide ((1 : ℚ) < n / d)) → (0 < Real.log (e : ℝ)) | ⟨inv, eq⟩, h => by @@ -525,7 +524,6 @@ lemma log_pos_of_isNNRat {n : ℕ} : simpa using (Rat.cast_lt (K := ℝ)).2 (of_decide_eq_true h) exact Real.log_pos this -set_option backward.isDefEq.respectTransparency false in lemma log_pos_of_isRat_neg {n : ℤ} : (NormNum.IsRat e n d) → (decide (n / d < (-1 : ℚ))) → (0 < Real.log (e : ℝ)) | ⟨inv, eq⟩, h => by @@ -533,7 +531,6 @@ lemma log_pos_of_isRat_neg {n : ℤ} : have : (n : ℝ) / d < -1 := by exact_mod_cast of_decide_eq_true h exact Real.log_pos_of_lt_neg_one this -set_option backward.isDefEq.respectTransparency false in lemma log_nz_of_isNNRat {n : ℕ} : (NormNum.IsNNRat e n d) → (decide ((0 : ℚ) < n / d)) → (decide (n / d < (1 : ℚ))) → (Real.log (e : ℝ) ≠ 0) | ⟨inv, eq⟩, h₁, h₂ => by @@ -544,7 +541,6 @@ lemma log_nz_of_isNNRat {n : ℕ} : (NormNum.IsNNRat e n d) → (decide ((0 : simpa using (Rat.cast_lt (K := ℝ)).2 (of_decide_eq_true h₂) exact ne_of_lt <| Real.log_neg h₁' h₂' -set_option backward.isDefEq.respectTransparency false in lemma log_nz_of_isRat_neg {n : ℤ} : (NormNum.IsRat e n d) → (decide (n / d < (0 : ℚ))) → (decide ((-1 : ℚ) < n / d)) → (Real.log (e : ℝ) ≠ 0) | ⟨inv, eq⟩, h₁, h₂ => by diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Basic.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Basic.lean index b95ed53be703a1..2a70abe75853d1 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Basic.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Basic.lean @@ -88,14 +88,12 @@ theorem U_complex_cos (n : ℤ) : (U ℂ n).eval (cos θ) * sin θ = sin ((n + 1 push_cast ring_nf -set_option backward.isDefEq.respectTransparency false in /-- The `n`-th rescaled Chebyshev polynomial of the first kind (Vieta–Lucas polynomial) evaluates on `2 * cos θ` to the value `2 * cos (n * θ)`. -/ @[simp] theorem C_two_mul_complex_cos (n : ℤ) : (C ℂ n).eval (2 * cos θ) = 2 * cos (n * θ) := by simp [C_eq_two_mul_T_comp_half_mul_X] -set_option backward.isDefEq.respectTransparency false in /-- The `n`-th rescaled Chebyshev polynomial of the second kind (Vieta–Fibonacci polynomial) evaluates on `2 * cos θ` to the value `sin ((n + 1) * θ) / sin θ`. -/ @[simp] @@ -125,14 +123,12 @@ theorem U_complex_cosh (n : ℤ) : (U ℂ n).eval (cosh θ) * sinh θ = sinh ((n _ = sinh ((n + 1) * θ) := by rw [sin_mul_I ((n + 1) * θ), mul_assoc, mul_neg, I_mul_I, neg_neg, mul_one] -set_option backward.isDefEq.respectTransparency false in /-- The `n`-th rescaled Chebyshev polynomial of the first kind (Vieta–Lucas polynomial) evaluates on `2 * cosh θ` to the value `2 * cosh (n * θ)`. -/ @[simp] theorem C_two_mul_complex_cosh (n : ℤ) : (C ℂ n).eval (2 * cosh θ) = 2 * cosh (n * θ) := by simp [C_eq_two_mul_T_comp_half_mul_X] -set_option backward.isDefEq.respectTransparency false in /-- The `n`-th rescaled Chebyshev polynomial of the second kind (Vieta–Fibonacci polynomial) evaluates on `2 * cosh θ` to the value `sinh ((n + 1) * θ) / sinh θ`. -/ @[simp] diff --git a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean index 2b863364caf676..3f82930dade1e1 100644 --- a/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean +++ b/Mathlib/Analysis/SpecialFunctions/Trigonometric/Chebyshev/Orthogonality.lean @@ -48,7 +48,6 @@ noncomputable def measureT : Measure ℝ := (volume.withDensity fun x ↦ ENNReal.ofNNReal ⟨√(1 - x ^ 2)⁻¹, by positivity⟩).restrict (Set.Ioc (-1) 1) -set_option backward.isDefEq.respectTransparency false in theorem integral_measureT (f : ℝ → ℝ) : ∫ x, f x ∂measureT = ∫ x in -1..1, f x * √(1 - x ^ 2)⁻¹ := by rw [integral_of_le (by norm_num), measureT, @@ -63,7 +62,6 @@ theorem intervalIntegrable_sqrt_one_sub_sq_inv : refine integrableOn_deriv_of_nonneg continuous_arccos.neg.continuousOn (fun x hx ↦ ?_) (by simp) simpa using (hasDerivAt_arccos (by aesop) (by aesop)).neg -set_option backward.isDefEq.respectTransparency false in theorem integrable_measureT {f : ℝ → ℝ} (hf : ContinuousOn f (Set.Icc (-1) 1)) : Integrable f measureT := by replace hf : ContinuousOn f (Set.uIcc (-1) 1) := by rwa [Set.uIcc_of_lt (by norm_num)] diff --git a/Mathlib/CategoryTheory/Action.lean b/Mathlib/CategoryTheory/Action.lean index 9a2ba0d1c0aa0e..4afaa22f964262 100644 --- a/Mathlib/CategoryTheory/Action.lean +++ b/Mathlib/CategoryTheory/Action.lean @@ -189,7 +189,6 @@ def curry (F : ActionCategory G X ⥤ SingleObj H) : G →* (X → H) ⋊[mulAut · exact F_map_eq.symm.trans (F.map_comp (homOfPair (g⁻¹ • b) h) (homOfPair b g)) rfl } -set_option backward.isDefEq.respectTransparency false in /-- Given `G` acting on `X`, a group homomorphism `φ : G →* (X → H) ⋊ G` can be uncurried to a functor from the action groupoid to `H`, provided that `φ g = (_, g)` for all `g`. -/ @[simps] diff --git a/Mathlib/CategoryTheory/Action/Monoidal.lean b/Mathlib/CategoryTheory/Action/Monoidal.lean index 18b0c5c77cfa8a..52717cad1af7f1 100644 --- a/Mathlib/CategoryTheory/Action/Monoidal.lean +++ b/Mathlib/CategoryTheory/Action/Monoidal.lean @@ -190,11 +190,9 @@ theorem rightDual_v [RightRigidCategory V] : Xᘁ.V = X.Vᘁ := theorem leftDual_v [LeftRigidCategory V] : (ᘁX).V = ᘁX.V := rfl -set_option backward.isDefEq.respectTransparency false in theorem rightDual_ρ [RightRigidCategory V] (h : H) : Xᘁ.ρ h = (X.ρ (h⁻¹ : H))ᘁ := by rw [← SingleObj.inv_as_inv]; rfl -set_option backward.isDefEq.respectTransparency false in theorem leftDual_ρ [LeftRigidCategory V] (h : H) : (ᘁX).ρ h = ᘁX.ρ (h⁻¹ : H) := by rw [← SingleObj.inv_as_inv]; rfl diff --git a/Mathlib/CategoryTheory/Adjunction/Basic.lean b/Mathlib/CategoryTheory/Adjunction/Basic.lean index 042f3165de24c3..76313627e4e749 100644 --- a/Mathlib/CategoryTheory/Adjunction/Basic.lean +++ b/Mathlib/CategoryTheory/Adjunction/Basic.lean @@ -450,7 +450,6 @@ lemma mkOfHomEquiv_homEquiv (adj : CoreHomEquiv F G) : ext X Y g simp [mkOfHomEquiv, ← adj.homEquiv_naturality_right (𝟙 _) g] -set_option backward.isDefEq.respectTransparency false in /-- Construct an adjunction between functors `F` and `G` given a unit and counit for the adjunction satisfying the triangle identities. -/ @[simps!] diff --git a/Mathlib/CategoryTheory/Bicategory/Coherence.lean b/Mathlib/CategoryTheory/Bicategory/Coherence.lean index d6486f380304c4..e816e919a204b5 100644 --- a/Mathlib/CategoryTheory/Bicategory/Coherence.lean +++ b/Mathlib/CategoryTheory/Bicategory/Coherence.lean @@ -72,7 +72,6 @@ bicategory. def inclusionPath (a b : B) : Discrete (Path.{v} a b) ⥤ Hom a b := Discrete.functor inclusionPathAux -set_option backward.isDefEq.respectTransparency false in /-- The inclusion from the locally discrete bicategory on the path category into the free bicategory as a prelax functor. This will be promoted to a pseudofunctor after proving the coherence theorem. See `inclusion`. diff --git a/Mathlib/CategoryTheory/Bicategory/SingleObj.lean b/Mathlib/CategoryTheory/Bicategory/SingleObj.lean index 8979dbf95103f9..4c3ba9e9ffa3ee 100644 --- a/Mathlib/CategoryTheory/Bicategory/SingleObj.lean +++ b/Mathlib/CategoryTheory/Bicategory/SingleObj.lean @@ -76,7 +76,6 @@ def endMonoidalStarFunctor : (EndMonoidal (MonoidalSingleObj.star C)) ⥤ C wher obj X := X map f := f -set_option backward.isDefEq.respectTransparency false in instance : (endMonoidalStarFunctor C).Monoidal := Functor.CoreMonoidal.toMonoidal { εIso := Iso.refl _ diff --git a/Mathlib/CategoryTheory/Enriched/Opposite.lean b/Mathlib/CategoryTheory/Enriched/Opposite.lean index b2ca8dd0608412..613e5017da2e8f 100644 --- a/Mathlib/CategoryTheory/Enriched/Opposite.lean +++ b/Mathlib/CategoryTheory/Enriched/Opposite.lean @@ -84,7 +84,6 @@ open ForgetEnrichment variable (C : Type u) [EnrichedCategory V C] -set_option backward.isDefEq.respectTransparency false in /-- The functor going from the underlying category of the enriched category `Cᵒᵖ` to the opposite of the underlying category of the enriched category `C`. -/ def forgetEnrichmentOppositeEquivalence.functor : @@ -125,7 +124,6 @@ def forgetEnrichmentOppositeEquivalence : ForgetEnrichment V Cᵒᵖ ≌ (Forget unitIso := NatIso.ofComponents (fun _ ↦ Iso.refl _) counitIso := NatIso.ofComponents (fun _ ↦ Iso.refl _) -set_option backward.isDefEq.respectTransparency false in /-- If `D` is an enriched ordinary category then `Dᵒᵖ` is an enriched ordinary category. -/ instance EnrichedOrdinaryCategory.opposite {D : Type u} [Category.{v} D] [EnrichedOrdinaryCategory V D] : EnrichedOrdinaryCategory V Dᵒᵖ where diff --git a/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean b/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean index 941ec1942d0bb8..c2aeacef482adc 100644 --- a/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean +++ b/Mathlib/CategoryTheory/Groupoid/Subgroupoid.lean @@ -249,7 +249,6 @@ theorem inclusion_inj_on_objects {S T : Subgroupoid C} (h : S ≤ T) : Function.Injective (inclusion h).obj := fun ⟨s, hs⟩ ⟨t, ht⟩ => by simpa only [inclusion, Subtype.mk_eq_mk] using id -set_option backward.isDefEq.respectTransparency false in theorem inclusion_faithful {S T : Subgroupoid C} (h : S ≤ T) (s t : S.objs) : Function.Injective fun f : s ⟶ t => (inclusion h).map f := fun ⟨f, hf⟩ ⟨g, hg⟩ => by -- Porting note: was `...; simpa only [Subtype.mk_eq_mk] using id` diff --git a/Mathlib/CategoryTheory/Limits/Bicones.lean b/Mathlib/CategoryTheory/Limits/Bicones.lean index 153a4d3cea777c..478dfdd0ed1eda 100644 --- a/Mathlib/CategoryTheory/Limits/Bicones.lean +++ b/Mathlib/CategoryTheory/Limits/Bicones.lean @@ -120,7 +120,6 @@ def biconeMk {C : Type u₁} [Category.{v₁} C] {F : J ⥤ C} (c₁ c₂ : Cone · cases g apply F.map_comp -set_option backward.isDefEq.respectTransparency false in open scoped Classical in instance finBiconeHom [FinCategory J] (j k : Bicone J) : Fintype (j ⟶ k) := by cases j <;> cases k diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean b/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean index d3736da35c9f6b..35b6ba6df03615 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Diagonal.lean @@ -533,6 +533,7 @@ theorem inl_codiagonal : pushout.inl _ _ ≫ codiagonal f = 𝟙 _ := theorem inr_codiagonal : pushout.inr _ _ ≫ codiagonal f = 𝟙 _ := pushout.inr_desc _ _ _ +set_option backward.isDefEq.respectTransparency false in lemma op_codiagonal : (pushout.codiagonal f).op = pullback.diagonal f.op ≫ (pullbackIsoOpPushout _ _).hom := by rw [← Iso.comp_inv_eq] @@ -559,6 +560,7 @@ end pushout variable [HasPushouts C] +set_option backward.isDefEq.respectTransparency false in /-- Given `f : T ⟶ X`, `g : T ⟶ Y`, and `i : S ⟶ T`, the diagram ``` diff --git a/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean b/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean index f51f2d23bf8481..9536c508746365 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/FiniteLimits.lean @@ -168,7 +168,6 @@ namespace WidePullbackShape instance fintypeObj [Fintype J] : Fintype (WidePullbackShape J) := inferInstanceAs <| Fintype (Option _) -set_option backward.isDefEq.respectTransparency false in instance fintypeHom (j j' : WidePullbackShape J) : Fintype (j ⟶ j') where elems := by obtain - | j' := j' @@ -191,7 +190,6 @@ namespace WidePushoutShape instance fintypeObj [Fintype J] : Fintype (WidePushoutShape J) := inferInstanceAs <| Fintype (Option _) -set_option backward.isDefEq.respectTransparency false in instance fintypeHom (j j' : WidePushoutShape J) : Fintype (j ⟶ j') where elems := by obtain - | j := j diff --git a/Mathlib/CategoryTheory/Limits/Shapes/Products.lean b/Mathlib/CategoryTheory/Limits/Shapes/Products.lean index 2f55e8866b665b..94664568399b18 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/Products.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/Products.lean @@ -765,7 +765,6 @@ def sigmaConstAdj [Limits.HasCoproducts.{v} C] (X : C) : section Unique -set_option backward.isDefEq.respectTransparency false in /-- The limit cone for the product over an index type with exactly one term. -/ @[simps] def limitConeOfUnique [Unique β] (f : β → C) : LimitCone (Discrete.functor f) where @@ -802,7 +801,6 @@ def Fan.isLimitMkOfUnique {X Y : C} (e : X ≅ Y) (J : Type*) [Unique J] : simp · simpa [← cancel_mono e.hom] using hm default -set_option backward.isDefEq.respectTransparency false in /-- The colimit cocone for the coproduct over an index type with exactly one term. -/ @[simps] def colimitCoconeOfUnique [Unique β] (f : β → C) : ColimitCocone (Discrete.functor f) where diff --git a/Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean b/Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean index bf90745bfbade6..162e7496f25b36 100644 --- a/Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean +++ b/Mathlib/CategoryTheory/Limits/Shapes/SingleObj.lean @@ -40,7 +40,6 @@ namespace SingleObj variable {M G : Type v} [Monoid M] [Group G] -set_option backward.isDefEq.respectTransparency false in /-- The induced `G`-action on the target of `J : SingleObj G ⥤ Type u`. -/ instance (J : SingleObj M ⥤ Type u) : MulAction M (J.obj (SingleObj.star M)) where smul g x := J.map g x diff --git a/Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean b/Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean index 51bcb4ea4ccca0..00a1c9ebf884c0 100644 --- a/Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean +++ b/Mathlib/CategoryTheory/Localization/Monoidal/Basic.lean @@ -386,7 +386,6 @@ lemma triangle_aux₁ {X₁ X₂ X₃ Y₁ Y₂ Y₃ : LocalizedMonoidal L W ε} simp only [associator_naturality_assoc, ← tensor_comp, Iso.hom_inv_id, id_tensorHom, whiskerLeft_id, comp_id] -set_option backward.isDefEq.respectTransparency false in lemma triangle_aux₂ {X Y : LocalizedMonoidal L W ε} {X' Y' : C} (e₁ : (L').obj X' ≅ X) (e₂ : (L').obj Y' ≅ Y) : e₁.hom ⊗ₘ (ε.hom ⊗ₘ e₂.hom) ≫ (λ_ Y).hom = @@ -409,7 +408,6 @@ lemma triangle_aux₃ {X Y : LocalizedMonoidal L W ε} {X' Y' : C} ← rightUnitor_naturality, rightUnitor_hom_app, ← tensorHom_id, ← id_tensorHom, ← tensor_comp_assoc, comp_id, id_comp] -set_option backward.isDefEq.respectTransparency false in variable {L W ε} in lemma triangle (X Y : LocalizedMonoidal L W ε) : (α_ X (𝟙_ _) Y).hom ≫ X ◁ (λ_ Y).hom = (ρ_ X).hom ▷ Y := by diff --git a/Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean index 2b5eb2129ec77b..430b305a6ab333 100644 --- a/Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Braided/Basic.lean @@ -691,7 +691,6 @@ theorem tensor_associativity (X₁ X₂ Y₁ Y₂ Z₁ Z₂ : C) : X₁ ◁ Y₁ ◁ (β_ X₂ Z₁).hom ▷ Y₂ ▷ Z₂ ⊗≫ 𝟙 _ := by monoidal _ = _ := by rw [← whisker_exchange]; monoidal -set_option backward.isDefEq.respectTransparency false in instance tensorMonoidal : (tensor C).Monoidal := Functor.CoreMonoidal.toMonoidal { εIso := (λ_ (𝟙_ C)).symm @@ -777,7 +776,6 @@ end Tensor end MonoidalCategory -set_option backward.isDefEq.respectTransparency false in instance : BraidedCategory Cᵒᵖ where braiding X Y := (β_ Y.unop X.unop).op braiding_naturality_right X {_ _} f := Quiver.Hom.unop_inj <| by simp @@ -800,7 +798,6 @@ end OppositeLemmas namespace MonoidalOpposite -set_option backward.isDefEq.respectTransparency false in instance instBraiding : BraidedCategory Cᴹᵒᵖ where braiding X Y := (β_ Y.unmop X.unmop).mop braiding_naturality_right X {_ _} f := Quiver.Hom.unmop_inj <| by simp diff --git a/Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean index 86053b2b5bb4d3..2e69f459d435bd 100644 --- a/Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Cartesian/Basic.lean @@ -783,7 +783,6 @@ open Limits variable {P : ObjectProperty C} -set_option backward.isDefEq.respectTransparency false in -- TODO: Introduce `ClosedUnderFiniteProducts`? /-- The restriction of a Cartesian-monoidal category along an object property that's closed under finite products is Cartesian-monoidal. -/ diff --git a/Mathlib/CategoryTheory/Monoidal/Comon_.lean b/Mathlib/CategoryTheory/Monoidal/Comon_.lean index 98fffe88173589..93718227b34e48 100644 --- a/Mathlib/CategoryTheory/Monoidal/Comon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Comon_.lean @@ -246,7 +246,6 @@ instance : HasTerminal (Comon C) := open Opposite -set_option backward.isDefEq.respectTransparency false in /-- Auxiliary definition for `ComonToMonOpOpObj`. -/ abbrev ComonToMonOpOpObjMon (A : Comon C) : MonObj (op A.X) where one := ε[A.X].op @@ -273,7 +272,6 @@ Turn a comonoid object into a monoid object in the opposite category. @[deprecated (since := "2025-09-15")] alias Comon_ToMon_OpOpObj := ComonToMonOpOpObj -set_option backward.isDefEq.respectTransparency false in variable (C) in /-- The contravariant functor turning comonoid objects into monoid objects in the opposite category. @@ -287,7 +285,6 @@ The contravariant functor turning comonoid objects into monoid objects in the op @[deprecated (since := "2025-09-15")] alias Comon_ToMon_OpOp := ComonToMonOpOp -set_option backward.isDefEq.respectTransparency false in /-- Auxiliary definition for `MonOpOpToComonObj`. -/ abbrev MonOpOpToComonObjComon (A : Mon Cᵒᵖ) : ComonObj (unop A.X) where counit := η[A.X].unop @@ -312,7 +309,6 @@ Turn a monoid object in the opposite category into a comonoid object. variable (C) -set_option backward.isDefEq.respectTransparency false in /-- The contravariant functor turning monoid objects in the opposite category into comonoid objects. -/ @@ -379,7 +375,6 @@ theorem tensorObj_comul' (A B : C) [ComonObj A] [ComonObj B] : (Δ[A] ⊗ₘ Δ[B]) ≫ (tensorμ (op A) (op B) (op A) (op B)).unop := by rfl -set_option backward.isDefEq.respectTransparency false in /-- The comultiplication on the tensor product of two comonoids is the tensor product of the comultiplications followed by the tensor strength diff --git a/Mathlib/CategoryTheory/Monoidal/Functor.lean b/Mathlib/CategoryTheory/Monoidal/Functor.lean index c98e63f454dc30..a9d7c5ca516a98 100644 --- a/Mathlib/CategoryTheory/Monoidal/Functor.lean +++ b/Mathlib/CategoryTheory/Monoidal/Functor.lean @@ -732,7 +732,6 @@ instance [F.Monoidal] [G.Monoidal] : (prod F G).Monoidal where end Prod -set_option backward.isDefEq.respectTransparency false in instance : (diag C).Monoidal := CoreMonoidal.toMonoidal { εIso := Iso.refl _ diff --git a/Mathlib/CategoryTheory/Monoidal/Mon_.lean b/Mathlib/CategoryTheory/Monoidal/Mon_.lean index cc69570ae74fe6..9b611f40d4bb34 100644 --- a/Mathlib/CategoryTheory/Monoidal/Mon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Mon_.lean @@ -943,6 +943,7 @@ def monToLaxMonoidal : Mon C ⥤ LaxMonoidalFunctor (Discrete PUnit.{w + 1}) C w attribute [local aesop safe tactic (rule_sets := [CategoryTheory])] CategoryTheory.Discrete.discreteCases +set_option backward.isDefEq.respectTransparency false in /-- Implementation of `Mon.equivLaxMonoidalFunctorPUnit`. -/ @[simps!] def unitIso : diff --git a/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean b/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean index 817f87c9627986..65a14e30ee8d94 100644 --- a/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean +++ b/Mathlib/CategoryTheory/Monoidal/Opposite/Mon_.lean @@ -26,7 +26,6 @@ section mop variable (M : C) [MonObj M] -set_option backward.isDefEq.respectTransparency false in /-- If `M : C` is a monoid object, then `mop M : Cᴹᵒᵖ` too. -/ @[simps!] instance mopMonObj : MonObj (mop M) where @@ -60,7 +59,6 @@ section unmop variable (M : Cᴹᵒᵖ) [MonObj M] -set_option backward.isDefEq.respectTransparency false in /-- If `M : Cᴹᵒᵖ` is a monoid object, then `unmop M : C` too. -/ @[simps -isSimp] -- not making them simp because it causes a loop. instance unmopMonObj : MonObj (unmop M) where diff --git a/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean b/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean index 3a6110055d575f..76a49b5a4de810 100644 --- a/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean +++ b/Mathlib/CategoryTheory/Monoidal/Rigid/Basic.lean @@ -541,7 +541,6 @@ def exactPairingCongr {X X' Y Y' : C} [ExactPairing X' Y'] (i : X ≅ X') (j : Y haveI : ExactPairing X' Y := exactPairingCongrRight j exactPairingCongrLeft i -set_option backward.isDefEq.respectTransparency false in /-- Right duals are isomorphic. -/ def rightDualIso {X Y₁ Y₂ : C} (p₁ : ExactPairing X Y₁) (p₂ : ExactPairing X Y₂) : Y₁ ≅ Y₂ where hom := @rightAdjointMate C _ _ X X ⟨Y₂⟩ ⟨Y₁⟩ (𝟙 X) @@ -554,7 +553,6 @@ def rightDualIso {X Y₁ Y₂ : C} (p₁ : ExactPairing X Y₁) (p₂ : ExactPai rw [← @comp_rightAdjointMate, Category.comp_id, @rightAdjointMate_id] rfl -set_option backward.isDefEq.respectTransparency false in /-- Left duals are isomorphic. -/ def leftDualIso {X₁ X₂ Y : C} (p₁ : ExactPairing X₁ Y) (p₂ : ExactPairing X₂ Y) : X₁ ≅ X₂ where hom := @leftAdjointMate C _ _ Y Y ⟨X₂⟩ ⟨X₁⟩ (𝟙 Y) diff --git a/Mathlib/CategoryTheory/Shift/Basic.lean b/Mathlib/CategoryTheory/Shift/Basic.lean index 7e7d4b683671a9..177a54adb49e03 100644 --- a/Mathlib/CategoryTheory/Shift/Basic.lean +++ b/Mathlib/CategoryTheory/Shift/Basic.lean @@ -236,7 +236,6 @@ lemma shiftFunctorAdd'_zero_add (a : A) : eqToHom_map, Category.id_comp] rfl -set_option backward.isDefEq.respectTransparency false in lemma shiftFunctorAdd'_add_zero (a : A) : shiftFunctorAdd' C a 0 a (add_zero a) = (rightUnitor _).symm ≪≫ isoWhiskerLeft (shiftFunctor C a) (shiftFunctorZero C A).symm := by diff --git a/Mathlib/CategoryTheory/SingleObj.lean b/Mathlib/CategoryTheory/SingleObj.lean index 38f903f906bff3..654702d8b0fb55 100644 --- a/Mathlib/CategoryTheory/SingleObj.lean +++ b/Mathlib/CategoryTheory/SingleObj.lean @@ -86,7 +86,6 @@ instance groupoid : Groupoid (SingleObj G) where inv_comp := mul_inv_cancel comp_inv := inv_mul_cancel -set_option backward.isDefEq.respectTransparency false in theorem inv_as_inv {x y : SingleObj G} (f : x ⟶ y) : inv f = f⁻¹ := by apply IsIso.inv_eq_of_hom_inv_id rw [comp_as_mul, inv_mul_cancel, id_as_one] @@ -134,7 +133,6 @@ theorem mapHom_comp (f : M →* N) {P : Type w} [Monoid P] (g : N →* P) : variable {C : Type v} [Category.{w} C] -set_option backward.isDefEq.respectTransparency false in /-- Given a function `f : C → G` from a category to a group, we get a functor `C ⥤ G` sending any morphism `x ⟶ y` to `f y * (f x)⁻¹`. -/ @[simps] diff --git a/Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean b/Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean index 11e6e10bcc6342..607f7444f6b063 100644 --- a/Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean +++ b/Mathlib/CategoryTheory/Sites/DenseSubsite/OneHypercoverDense.lean @@ -202,7 +202,6 @@ section variable {X : C} (data : OneHypercoverDenseData.{w} F J₀ J X) -set_option backward.isDefEq.respectTransparency false in lemma mem₁ (i₁ i₂ : data.I₀) {W : C} (p₁ : W ⟶ F.obj (data.X i₁)) (p₂ : W ⟶ F.obj (data.X i₂)) (w : p₁ ≫ data.f i₁ = p₂ ≫ data.f i₂) : data.toPreOneHypercover.sieve₁ p₁ p₂ ∈ J W := by have := IsDenseSubsite.isCoverDense J₀ J F diff --git a/Mathlib/CategoryTheory/Sites/Descent/DescentData.lean b/Mathlib/CategoryTheory/Sites/Descent/DescentData.lean index 7c954e7749d4d3..eaac38f7ec5886 100644 --- a/Mathlib/CategoryTheory/Sites/Descent/DescentData.lean +++ b/Mathlib/CategoryTheory/Sites/Descent/DescentData.lean @@ -329,7 +329,6 @@ def pullFunctorIdIso : rw [pullFunctorObjHom_eq_assoc _ _ _ _ _ q f₁ f₂ rfl] simp [mapComp'_id_comp_inv_app_assoc, mapComp'_id_comp_hom_app, ← Functor.map_comp])) -set_option backward.isDefEq.respectTransparency false in /-- The composition of two functors `pullFunctor` is isomorphic to `pullFunctor` applied to the compositions. -/ @[simps!] diff --git a/Mathlib/CategoryTheory/Sites/Sheafification.lean b/Mathlib/CategoryTheory/Sites/Sheafification.lean index fa10d461459b28..337d75191ae98a 100644 --- a/Mathlib/CategoryTheory/Sites/Sheafification.lean +++ b/Mathlib/CategoryTheory/Sites/Sheafification.lean @@ -183,7 +183,6 @@ theorem toSheafify_sheafifyLift {P Q : Cᵒᵖ ⥤ D} (η : P ⟶ Q) (hQ : Presh rw [sheafificationAdjunction J D |>.right_triangle_components (Y := ⟨Q, hQ⟩)] simp -set_option backward.isDefEq.respectTransparency false in theorem sheafifyLift_unique {P Q : Cᵒᵖ ⥤ D} (η : P ⟶ Q) (hQ : Presheaf.IsSheaf J Q) (γ : sheafify J P ⟶ Q) : toSheafify J P ≫ γ = η → γ = sheafifyLift J η hQ := by intro h diff --git a/Mathlib/CategoryTheory/Subfunctor/Equalizer.lean b/Mathlib/CategoryTheory/Subfunctor/Equalizer.lean index e2e981fe4ed965..02393b15cecdb5 100644 --- a/Mathlib/CategoryTheory/Subfunctor/Equalizer.lean +++ b/Mathlib/CategoryTheory/Subfunctor/Equalizer.lean @@ -52,7 +52,6 @@ lemma mem_equalizer_iff {i : C} (x : A.toFunctor.obj i) : x.1 ∈ (Subfunctor.equalizer f g).obj i ↔ f.app i x = g.app i x := by simp -set_option backward.isDefEq.respectTransparency false in lemma range_le_equalizer_iff {G : C ⥤ Type w} (φ : G ⟶ A.toFunctor) : range (φ ≫ A.ι) ≤ Subfunctor.equalizer f g ↔ φ ≫ f = φ ≫ g := by rw [NatTrans.ext_iff] diff --git a/Mathlib/Combinatorics/Enumerative/Catalan.lean b/Mathlib/Combinatorics/Enumerative/Catalan.lean index a99cf97701b48b..3bd515c5124480 100644 --- a/Mathlib/Combinatorics/Enumerative/Catalan.lean +++ b/Mathlib/Combinatorics/Enumerative/Catalan.lean @@ -100,8 +100,8 @@ private theorem gosper_trick {n i : ℕ} (h : i ≤ n) : private theorem gosper_catalan_sub_eq_central_binom_div (n : ℕ) : gosperCatalan (n + 1) (n + 1) - gosperCatalan (n + 1) 0 = Nat.centralBinom (n + 1) / (n + 2) := by - simp only [gosperCatalan, tsub_self, Nat.centralBinom_zero, Nat.cast_one, Nat.cast_add, - Nat.cast_zero] + simp only [gosperCatalan, tsub_self, Nat.centralBinom_zero, Nat.cast_one, mul_one, Nat.cast_add, + Nat.sub_zero, one_mul, Nat.cast_zero, mul_zero, zero_sub, neg_add_rev] field theorem catalan_eq_centralBinom_div (n : ℕ) : catalan n = n.centralBinom / (n + 1) := by diff --git a/Mathlib/Combinatorics/Enumerative/Schroder.lean b/Mathlib/Combinatorics/Enumerative/Schroder.lean index dbb66996ce6653..2b575d05de55db 100644 --- a/Mathlib/Combinatorics/Enumerative/Schroder.lean +++ b/Mathlib/Combinatorics/Enumerative/Schroder.lean @@ -59,7 +59,6 @@ def largeSchroder : ℕ → ℕ @[simp] theorem largeSchroder_one : largeSchroder 1 = 2 := by simp [largeSchroder] @[simp] theorem largeSchroder_two : largeSchroder 2 = 6 := by simp [largeSchroder] -set_option backward.isDefEq.respectTransparency false in theorem largeSchroder_succ (n : ℕ) : largeSchroder (n + 1) = largeSchroder n + ∑ i ≤ n, largeSchroder i * largeSchroder (n - i) := by simp [largeSchroder, ← Iio_add_one_eq_Iic, Nat.Iio_eq_range, ← Fin.sum_univ_eq_sum_range] diff --git a/Mathlib/Combinatorics/SetFamily/LYM.lean b/Mathlib/Combinatorics/SetFamily/LYM.lean index 13b1b4651dd174..eb60425dc4ee9e 100644 --- a/Mathlib/Combinatorics/SetFamily/LYM.lean +++ b/Mathlib/Combinatorics/SetFamily/LYM.lean @@ -170,6 +170,7 @@ theorem IsAntichain.disjoint_slice_shadow_falling {m n : ℕ} rintro rfl exact notMem_erase _ _ (hst ha) +set_option backward.isDefEq.respectTransparency false in /-- A bound on any top part of the sum in LYM in terms of the size of `falling k 𝒜`. -/ theorem le_card_falling_div_choose [Fintype α] (hk : k ≤ Fintype.card α) (h𝒜 : IsAntichain (· ⊆ ·) (𝒜 : Set (Finset α))) : @@ -180,7 +181,7 @@ theorem le_card_falling_div_choose [Fintype α] (hk : k ≤ Fintype.card α) | zero => simp only [cast_one, cast_le, sum_singleton, div_one, choose_self, range_one, zero_add, range_one, sum_singleton, - choose_self, cast_one, div_one, cast_le] + choose_self, cast_one, div_one, cast_le, tsub_zero] exact card_le_card (slice_subset_falling _ _) | succ k ih => rw [sum_range_succ, ← slice_union_shadow_falling_succ, diff --git a/Mathlib/Combinatorics/SimpleGraph/Clique.lean b/Mathlib/Combinatorics/SimpleGraph/Clique.lean index d1334bfbcdee15..e35b69d7403ce9 100644 --- a/Mathlib/Combinatorics/SimpleGraph/Clique.lean +++ b/Mathlib/Combinatorics/SimpleGraph/Clique.lean @@ -356,7 +356,6 @@ theorem not_cliqueFree_of_top_embedding {n : ℕ} (f : (⊤ : SimpleGraph (Fin n simp_rw [RelEmbedding.coe_toEmbedding, comap_adj, Function.Embedding.coe_subtype, f.map_adj_iff, top_adj, ne_eq, Subtype.mk.injEq, RelEmbedding.inj] -set_option backward.isDefEq.respectTransparency false in /-- An embedding of a complete graph that witnesses the fact that the graph is not clique-free. -/ noncomputable def topEmbeddingOfNotCliqueFree {n : ℕ} (h : ¬G.CliqueFree n) : (⊤ : SimpleGraph (Fin n)) ↪g G := by diff --git a/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean b/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean index 706c12dfde4f63..738016cf4b11f2 100644 --- a/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean +++ b/Mathlib/Combinatorics/SimpleGraph/LapMatrix.lean @@ -180,7 +180,6 @@ lemma linearIndependent_lapMatrix_ker_basis_aux : obtain ⟨i, h'⟩ : ∃ i : V, G.connectedComponentMk i = c := Quot.exists_rep c exact h' ▸ congrFun h0 i -set_option backward.isDefEq.respectTransparency false in lemma top_le_span_range_lapMatrix_ker_basis_aux : ⊤ ≤ Submodule.span ℝ (Set.range (lapMatrix_ker_basis_aux G)) := by intro x _ diff --git a/Mathlib/Data/DFinsupp/Defs.lean b/Mathlib/Data/DFinsupp/Defs.lean index 7be4a0880d693d..98780257f41dcc 100644 --- a/Mathlib/Data/DFinsupp/Defs.lean +++ b/Mathlib/Data/DFinsupp/Defs.lean @@ -820,7 +820,6 @@ theorem mem_support_toFun (f : Π₀ i, β i) (i) : i ∈ f.support ↔ f i ≠ theorem eq_mk_support (f : Π₀ i, β i) : f = mk f.support fun i => f i := by aesop -set_option backward.isDefEq.respectTransparency false in /-- Equivalence between dependent functions with finite support `s : Finset ι` and functions `∀ i, {x : β i // x ≠ 0}`. -/ @[simps] diff --git a/Mathlib/Data/Finset/Image.lean b/Mathlib/Data/Finset/Image.lean index 05e7d4d17df636..d8e87a1856420e 100644 --- a/Mathlib/Data/Finset/Image.lean +++ b/Mathlib/Data/Finset/Image.lean @@ -467,7 +467,6 @@ theorem mem_range_iff_mem_finset_range_of_mod_eq [DecidableEq α] {f : ℤ → fun ⟨i, hi, ha⟩ => ⟨i, by rw [Int.emod_eq_of_lt (Int.natCast_nonneg _) (Int.ofNat_lt_ofNat_of_lt hi), ha]⟩ -set_option backward.isDefEq.respectTransparency false in @[simp] theorem attach_image_val [DecidableEq α] {s : Finset α} : s.attach.image Subtype.val = s := eq_of_veq <| by rw [image_val, attach_val, Multiset.attach_map_val, dedup_eq_self] diff --git a/Mathlib/Data/Finset/NatAntidiagonal.lean b/Mathlib/Data/Finset/NatAntidiagonal.lean index a124bb7029f3f3..b7accce3272543 100644 --- a/Mathlib/Data/Finset/NatAntidiagonal.lean +++ b/Mathlib/Data/Finset/NatAntidiagonal.lean @@ -43,7 +43,6 @@ lemma antidiagonal_eq_map (n : ℕ) : antidiagonal n = (range (n + 1)).map ⟨fun i ↦ (i, n - i), fun _ _ h ↦ (Prod.ext_iff.1 h).1⟩ := rfl -set_option backward.isDefEq.respectTransparency false in lemma antidiagonal_eq_map' (n : ℕ) : antidiagonal n = (range (n + 1)).map ⟨fun i ↦ (n - i, i), fun _ _ h ↦ (Prod.ext_iff.1 h).2⟩ := by @@ -116,7 +115,6 @@ theorem antidiagonal.snd_lt {n : ℕ} {kl : ℕ × ℕ} (hlk : kl ∈ antidiagon rw [add_assoc, add_comm, add_assoc, add_comm j l, hl] exact Nat.sub_add_cancel h -set_option backward.isDefEq.respectTransparency false in @[simp] lemma antidiagonal_filter_fst_le_of_le {n k : ℕ} (h : k ≤ n) : {a ∈ antidiagonal n | a.fst ≤ k} = (antidiagonal k).map (Embedding.prodMap (Embedding.refl ℕ) ⟨_, add_left_injective (n - k)⟩) := by @@ -141,7 +139,6 @@ set_option backward.isDefEq.respectTransparency false in rw [add_right_comm, hl] exact tsub_add_cancel_of_le h -set_option backward.isDefEq.respectTransparency false in @[simp] lemma antidiagonal_filter_le_snd_of_le {n k : ℕ} (h : k ≤ n) : {a ∈ antidiagonal n | k ≤ a.snd} = (antidiagonal (n - k)).map (Embedding.prodMap (Embedding.refl ℕ) ⟨_, add_left_injective k⟩) := by diff --git a/Mathlib/Data/Matrix/Basis.lean b/Mathlib/Data/Matrix/Basis.lean index ae4d0ccec738e7..38229a55747bd2 100644 --- a/Mathlib/Data/Matrix/Basis.lean +++ b/Mathlib/Data/Matrix/Basis.lean @@ -252,13 +252,11 @@ def liftLinear : (m → n → α →ₗ[R] β) ≃ₗ[S] (Matrix m n α →ₗ[R LinearEquiv.piCongrRight (fun _ => LinearMap.lsum R _ S) ≪≫ₗ LinearMap.lsum R _ S ≪≫ₗ LinearEquiv.congrLeft _ _ (ofLinearEquiv _) -set_option backward.isDefEq.respectTransparency false in -- not `simp` to let `liftLinear_single` fire instead theorem liftLinear_apply (f : m → n → α →ₗ[R] β) (M : Matrix m n α) : liftLinear S f M = ∑ i, ∑ j, f i j (M i j) := by simp [liftLinear, map_sum, LinearEquiv.congrLeft] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem liftLinear_single (f : m → n → α →ₗ[R] β) (i : m) (j : n) (a : α) : liftLinear S f (Matrix.single i j a) = f i j a := by diff --git a/Mathlib/Data/Matrix/Invertible.lean b/Mathlib/Data/Matrix/Invertible.lean index 93e843307323f4..d62d993e71eecb 100644 --- a/Mathlib/Data/Matrix/Invertible.lean +++ b/Mathlib/Data/Matrix/Invertible.lean @@ -109,7 +109,6 @@ instance invertibleTranspose [Invertible A] : Invertible Aᵀ where invOf_mul_self := by rw [← transpose_mul, mul_invOf_self, transpose_one] mul_invOf_self := by rw [← transpose_mul, invOf_mul_self, transpose_one] -set_option backward.isDefEq.respectTransparency false in lemma transpose_invOf [Invertible A] [Invertible Aᵀ] : (⅟A)ᵀ = ⅟(Aᵀ) := by letI := invertibleTranspose A convert (rfl : _ = ⅟(Aᵀ)) @@ -191,7 +190,6 @@ def invertibleAddMulMul : Invertible (A + U * C * V) where invOf_mul_self := add_mul_mul_invOf_mul_eq_one' _ _ _ _ mul_invOf_self := add_mul_mul_invOf_mul_eq_one _ _ _ _ -set_option backward.isDefEq.respectTransparency false in /-- The **Woodbury Identity** (`⅟` version). See `Matrix.invOf_add_mul_mul'` for the Binomial Inverse Theorem. -/ @@ -235,7 +233,6 @@ def invertibleAddMulMul' : Invertible (A + U * C * V) where invOf_mul_self := add_mul_mul_mul_invOf_eq_one' A U C V mul_invOf_self := add_mul_mul_mul_invOf_eq_one A U C V -set_option backward.isDefEq.respectTransparency false in /-- The **Binomial Inverse Theorem** (`⅟` version). See `Matrix.invOf_add_mul_mul` for the Woodbury identity. -/ diff --git a/Mathlib/Data/Multiset/Interval.lean b/Mathlib/Data/Multiset/Interval.lean index f607829ffccb7b..33386fa2b89be1 100644 --- a/Mathlib/Data/Multiset/Interval.lean +++ b/Mathlib/Data/Multiset/Interval.lean @@ -77,7 +77,8 @@ theorem card_uIcc : simp_rw [uIcc_eq, Finset.card_map, DFinsupp.card_uIcc, Nat.card_uIcc, Multiset.toDFinsupp_apply, toDFinsupp_support] +set_option backward.isDefEq.respectTransparency false in theorem card_Iic : (Finset.Iic s).card = ∏ i ∈ s.toFinset, (s.count i + 1) := by - simp_rw [Iic_eq_Icc, card_Icc, bot_eq_zero, toFinset_zero, empty_union, count_zero] + simp_rw [Iic_eq_Icc, card_Icc, bot_eq_zero, toFinset_zero, empty_union, count_zero, tsub_zero] end Multiset diff --git a/Mathlib/Data/Nat/Choose/Sum.lean b/Mathlib/Data/Nat/Choose/Sum.lean index 8eb97153020415..f7db0416224260 100644 --- a/Mathlib/Data/Nat/Choose/Sum.lean +++ b/Mathlib/Data/Nat/Choose/Sum.lean @@ -36,7 +36,7 @@ theorem add_pow (h : Commute x y) (n : ℕ) : let t : ℕ → ℕ → R := fun n m ↦ x ^ m * y ^ (n - m) * n.choose m change (x + y) ^ n = ∑ m ∈ range (n + 1), t n m have h_first : ∀ n, t n 0 = y ^ n := fun n ↦ by - simp only [t, choose_zero_right, pow_zero, cast_one, mul_one, one_mul] + simp only [t, choose_zero_right, pow_zero, cast_one, mul_one, one_mul, Nat.sub_zero] have h_last : ∀ n, t n n.succ = 0 := fun n ↦ by simp only [t, choose_succ_self, cast_zero, mul_zero] have h_middle : diff --git a/Mathlib/Data/Nat/Factorization/Root.lean b/Mathlib/Data/Nat/Factorization/Root.lean index 125ba49695e93e..424fdc21a0e82b 100644 --- a/Mathlib/Data/Nat/Factorization/Root.lean +++ b/Mathlib/Data/Nat/Factorization/Root.lean @@ -66,7 +66,6 @@ lemma floorRoot_def : simp [floorRoot]; split_ifs <;> simp [*] @[simp] lemma floorRoot_one_right (hn : n ≠ 0) : floorRoot n 1 = 1 := by simp [floorRoot, hn] -set_option backward.isDefEq.respectTransparency false in @[simp] lemma floorRoot_pow_self (hn : n ≠ 0) (a : ℕ) : floorRoot n (a ^ n) = a := by simp [floorRoot_def, pos_iff_ne_zero.2, hn]; split_ifs <;> simp [*] @@ -130,7 +129,6 @@ lemma ceilRoot_def : simp [ceilRoot]; split_ifs <;> simp [*] @[simp] lemma ceilRoot_one_right (hn : n ≠ 0) : ceilRoot n 1 = 1 := by simp [ceilRoot, hn] -set_option backward.isDefEq.respectTransparency false in @[simp] lemma ceilRoot_pow_self (hn : n ≠ 0) (a : ℕ) : ceilRoot n (a ^ n) = a := by simp [ceilRoot_def, pos_iff_ne_zero.2, hn]; split_ifs <;> simp [*] diff --git a/Mathlib/Data/Rat/Floor.lean b/Mathlib/Data/Rat/Floor.lean index 201c56a8b256b0..b49373f3766926 100644 --- a/Mathlib/Data/Rat/Floor.lean +++ b/Mathlib/Data/Rat/Floor.lean @@ -128,7 +128,6 @@ theorem isInt_intFloor {R} [Ring R] [LinearOrder R] [IsStrictOrderedRing R] [Flo (r : R) (m : ℤ) : IsInt r m → IsInt ⌊r⌋ m := by rintro ⟨⟨⟩⟩; exact ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem isNat_intFloor_ofIsNNRat (r : α) (n : ℕ) (d : ℕ) : IsNNRat r n d → IsNat ⌊r⌋ (n / d) := by rintro ⟨inv, rfl⟩ @@ -137,7 +136,6 @@ theorem isNat_intFloor_ofIsNNRat (r : α) (n : ℕ) (d : ℕ) : rw [← Int.ofNat_ediv_ofNat, ← floor_natCast_div_natCast n d, ← floor_cast (α := α), Rat.cast_div, cast_natCast, cast_natCast] -set_option backward.isDefEq.respectTransparency false in theorem isInt_intFloor_ofIsRat_neg (r : α) (n : ℕ) (d : ℕ) : IsRat r (.negOfNat n) d → IsInt ⌊r⌋ (.negOfNat (-(-n / d) : ℤ).toNat) := by rintro ⟨inv, rfl⟩ @@ -190,7 +188,6 @@ theorem isInt_intCeil {R} [Ring R] [LinearOrder R] [IsStrictOrderedRing R] [Floo (r : R) (m : ℤ) : IsInt r m → IsInt ⌈r⌉ m := by rintro ⟨⟨⟩⟩; exact ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem isNat_intCeil_ofIsNNRat (r : α) (n : ℕ) (d : ℕ) : IsNNRat r n d → IsNat ⌈r⌉ (-(-n / d) : ℤ).toNat := by rintro ⟨inv, rfl⟩ @@ -200,7 +197,6 @@ theorem isNat_intCeil_ofIsNNRat (r : α) (n : ℕ) (d : ℕ) : cast_intCast, cast_natCast, Int.cast_natCast, Int.natCast_toNat_eq_self.mpr (ceil_nonneg (div_nonneg n.cast_nonneg d.cast_nonneg))] -set_option backward.isDefEq.respectTransparency false in theorem isInt_intCeil_ofIsRat_neg (r : α) (n : ℕ) (d : ℕ) : IsRat r (.negOfNat n) d → IsInt ⌈r⌉ (.negOfNat (n / d)) := by rintro ⟨inv, rfl⟩ @@ -249,14 +245,12 @@ theorem isNat_intFract_of_isNat (r : R) (m : ℕ) : IsNat r m → IsNat (Int.fra theorem isNat_intFract_of_isInt (r : R) (m : ℤ) : IsInt r m → IsNat (Int.fract r) 0 := by rintro ⟨⟨⟩⟩; exact ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_intFract_of_isNNRat (r : α) (n d : ℕ) : IsNNRat r n d → IsNNRat (Int.fract r) (n % d) d := by rintro ⟨inv, rfl⟩ refine ⟨inv, ?_⟩ simp only [invOf_eq_inv, ← div_eq_mul_inv, fract_div_natCast_eq_div_natCast_mod] -set_option backward.isDefEq.respectTransparency false in theorem isRat_intFract_of_isRat_negOfNat (r : α) (n d : ℕ) : IsRat r (negOfNat n) d → IsRat (Int.fract r) (-n % d) d := by rintro ⟨inv, rfl⟩ @@ -311,7 +305,6 @@ theorem isInt_round {R : Type*} [Ring R] [LinearOrder R] [IsStrictOrderedRing R] (r : R) (m : ℤ) : IsInt r m → IsInt (round r) m := by rintro ⟨⟨⟩⟩; exact ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem IsRat.isInt_round {R : Type*} [Field R] [LinearOrder R] [IsStrictOrderedRing R] [FloorRing R] (r : R) (n : ℤ) (d : ℕ) (res : ℤ) (hres : round (n / d : ℚ) = res) : IsRat r n d → IsInt (round r) res := by diff --git a/Mathlib/Data/Setoid/Partition.lean b/Mathlib/Data/Setoid/Partition.lean index 304c7d379f1422..89d6bed5c33cae 100644 --- a/Mathlib/Data/Setoid/Partition.lean +++ b/Mathlib/Data/Setoid/Partition.lean @@ -157,7 +157,6 @@ theorem mkClasses_classes (r : Setoid α) : mkClasses r.classes classes_eqv_clas theorem sUnion_classes (r : Setoid α) : ⋃₀ r.classes = Set.univ := Set.eq_univ_of_forall fun x => Set.mem_sUnion.2 ⟨{ y | r y x }, ⟨x, rfl⟩, Setoid.refl _⟩ -set_option backward.isDefEq.respectTransparency false in /-- The equivalence between the quotient by an equivalence relation and its type of equivalence classes. -/ noncomputable def quotientEquivClasses (r : Setoid α) : Quotient r ≃ Setoid.classes r := by diff --git a/Mathlib/Data/Sym/Basic.lean b/Mathlib/Data/Sym/Basic.lean index 1b02b83ad50bb8..fc21fbc7ab78bd 100644 --- a/Mathlib/Data/Sym/Basic.lean +++ b/Mathlib/Data/Sym/Basic.lean @@ -392,7 +392,6 @@ def equivCongr (e : α ≃ β) : Sym α n ≃ Sym β n where left_inv x := by rw [map_map, Equiv.symm_comp_self, map_id] right_inv x := by rw [map_map, Equiv.self_comp_symm, map_id] -set_option backward.isDefEq.respectTransparency false in /-- "Attach" a proof that `a ∈ s` to each element `a` in `s` to produce an element of the symmetric power on `{x // x ∈ s}`. -/ def attach (s : Sym α n) : Sym { x // x ∈ s } n := diff --git a/Mathlib/Data/Vector/Basic.lean b/Mathlib/Data/Vector/Basic.lean index eec29d212fddaa..2564ded1c84ada 100644 --- a/Mathlib/Data/Vector/Basic.lean +++ b/Mathlib/Data/Vector/Basic.lean @@ -312,8 +312,8 @@ def scanl : Vector β (n + 1) := /-- Providing an empty vector to `scanl` gives the starting value `b : β`. -/ @[simp] -theorem scanl_nil : scanl f b nil = b ::ᵥ nil := - rfl +theorem scanl_nil : scanl f b nil = b ::ᵥ nil := by + ext; simp [scanl, get] /-- The recursive step of `scanl` splits a vector `x ::ᵥ v : Vector α (n + 1)` into the provided starting value `b : β` and the recursed `scanl` diff --git a/Mathlib/FieldTheory/Finite/Basic.lean b/Mathlib/FieldTheory/Finite/Basic.lean index b8797befff666b..72e449b6de5742 100644 --- a/Mathlib/FieldTheory/Finite/Basic.lean +++ b/Mathlib/FieldTheory/Finite/Basic.lean @@ -166,7 +166,6 @@ theorem sum_subgroup_units_eq_zero [Ring K] [NoZeroDivisors K] ext rwa [← sub_eq_zero] -set_option backward.isDefEq.respectTransparency false in /-- The sum of a subgroup of the units of a field is 1 if the subgroup is trivial and 1 otherwise -/ @[simp] theorem sum_subgroup_units [Ring K] [NoZeroDivisors K] diff --git a/Mathlib/FieldTheory/Fixed.lean b/Mathlib/FieldTheory/Fixed.lean index 5cfcddb82c0a1b..6198eb4fcd81d5 100644 --- a/Mathlib/FieldTheory/Fixed.lean +++ b/Mathlib/FieldTheory/Fixed.lean @@ -187,7 +187,6 @@ def minpoly : Polynomial (FixedPoints.subfield G F) := namespace minpoly -set_option backward.isDefEq.respectTransparency false in theorem monic : (minpoly G F x).Monic := by simp only [minpoly] rw [Polynomial.monic_toSubring] @@ -203,12 +202,10 @@ theorem eval₂' : Polynomial.eval₂ (Subfield.subtype <| FixedPoints.subfield G F) x (minpoly G F x) = 0 := eval₂ G F x -set_option backward.isDefEq.respectTransparency false in theorem ne_one : minpoly G F x ≠ (1 : Polynomial (FixedPoints.subfield G F)) := fun H => have := eval₂ G F x (one_ne_zero : (1 : F) ≠ 0) <| by rwa [H, Polynomial.eval₂_one] at this -set_option backward.isDefEq.respectTransparency false in theorem of_eval₂ (f : Polynomial (FixedPoints.subfield G F)) (hf : Polynomial.eval₂ (Subfield.subtype <| FixedPoints.subfield G F) x f = 0) : minpoly G F x ∣ f := by @@ -226,7 +223,6 @@ theorem of_eval₂ (f : Polynomial (FixedPoints.subfield G F)) MulSemiringActionHom.coe_polynomial, IsInvariantSubring.coe_subtypeHom', Polynomial.eval_map, Subfield.toSubring_subtype_eq_subtype, hf, smul_zero] -set_option backward.isDefEq.respectTransparency false in -- Why is this so slow? theorem irreducible_aux (f g : Polynomial (FixedPoints.subfield G F)) (hf : f.Monic) (hg : g.Monic) (hfg : f * g = minpoly G F x) : f = 1 ∨ g = 1 := by @@ -276,7 +272,6 @@ section Finite variable [Finite G] -set_option backward.isDefEq.respectTransparency false in instance normal : Normal (FixedPoints.subfield G F) F where isAlgebraic x := (isIntegral G F x).isAlgebraic splits' x := by @@ -285,7 +280,6 @@ instance normal : Normal (FixedPoints.subfield G F) F where Polynomial.map_toSubring _ (subfield G F).toSubring, prodXSubSMul] exact Polynomial.Splits.prod fun _ _ => Polynomial.Splits.X_sub_C _ -set_option backward.isDefEq.respectTransparency false in instance isSeparable : Algebra.IsSeparable (FixedPoints.subfield G F) F := by classical exact ⟨fun x => by diff --git a/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean b/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean index e5493ac7683232..18def531200c37 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Oriented/Affine.lean @@ -629,7 +629,6 @@ theorem _root_.Collinear.two_zsmul_oangle_eq_right {p₁ p₂ p₃ p₃' : P} (2 : ℤ) • ∡ p₁ p₂ p₃ = (2 : ℤ) • ∡ p₁ p₂ p₃' := by rw [oangle_rev, smul_neg, h.two_zsmul_oangle_eq_left hp₃p₂ hp₃'p₂, ← smul_neg, ← oangle_rev] -set_option backward.isDefEq.respectTransparency false in /-- Two different points are equidistant from a third point if and only if that third point equals some multiple of a `π / 2` rotation of the vector between those points, plus the midpoint of those points. -/ diff --git a/Mathlib/Geometry/Euclidean/Angle/Sphere.lean b/Mathlib/Geometry/Euclidean/Angle/Sphere.lean index 0eb394b223f004..9dfddc20ec6fdb 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Sphere.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Sphere.lean @@ -239,7 +239,6 @@ theorem abs_oangle_center_right_toReal_lt_pi_div_two {s : Sphere P} {p₁ p₂ : abs_oangle_left_toReal_lt_pi_div_two_of_dist_eq (dist_center_eq_dist_center_of_mem_sphere' hp₂ hp₁) -set_option backward.isDefEq.respectTransparency false in /-- Given two points on a circle, the center of that circle may be expressed explicitly as a multiple (by half the tangent of the angle between the chord and the radius at one of those points) of a `π / 2` rotation of the vector between those points, plus the midpoint of those @@ -269,7 +268,6 @@ theorem inv_tan_div_two_smul_rotation_pi_div_two_vadd_midpoint_eq_center {s : Sp rw [add_comm, two_zsmul_oangle_center_add_two_zsmul_oangle_eq_pi hp₁ hp₂ hp₃ hp₁p₂.symm hp₂p₃ hp₁p₃] -set_option backward.isDefEq.respectTransparency false in /-- Given two points on a circle, the radius of that circle may be expressed explicitly as half the distance between those two points divided by the cosine of the angle between the chord and the radius at one of those points. -/ diff --git a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean index fc76f15b2dd8f0..7a82a0432f0d56 100644 --- a/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean +++ b/Mathlib/Geometry/Euclidean/Angle/Unoriented/Affine.lean @@ -225,7 +225,6 @@ theorem dist_eq_abs_sub_dist_iff_angle_eq_zero {p₁ p₂ p₃ : P} (hp₁p₂ : norm_sub_eq_abs_sub_norm_iff_angle_eq_zero (fun he => hp₁p₂ (vsub_eq_zero_iff_eq.1 he)) fun he => hp₃p₂ (vsub_eq_zero_iff_eq.1 he) -set_option backward.isDefEq.respectTransparency false in /-- If M is the midpoint of the segment AB, then ∠AMB = π. -/ theorem angle_midpoint_eq_pi (p₁ p₂ : P) (hp₁p₂ : p₁ ≠ p₂) : ∠ p₁ (midpoint ℝ p₁ p₂) p₂ = π := by simp only [angle, left_vsub_midpoint, invOf_eq_inv, right_vsub_midpoint, inv_pos, zero_lt_two, diff --git a/Mathlib/Geometry/Euclidean/MongePoint.lean b/Mathlib/Geometry/Euclidean/MongePoint.lean index 8871a67f1369fd..eac1305a84fa60 100644 --- a/Mathlib/Geometry/Euclidean/MongePoint.lean +++ b/Mathlib/Geometry/Euclidean/MongePoint.lean @@ -103,7 +103,6 @@ theorem mongePoint_map {V₂ P₂ : Type*} [NormedAddCommGroup V₂] [InnerProdu rw [← Simplex.centroid, ← Simplex.centroid] simp [centroid_map, circumcenter_map] -set_option backward.isDefEq.respectTransparency false in /-- **Sylvester's theorem**: The position of the Monge point relative to the circumcenter via the sum of vectors to the vertices. -/ theorem smul_mongePoint_vsub_circumcenter_eq_sum_vsub {n : ℕ} (s : Simplex ℝ P (n + 2)) : diff --git a/Mathlib/Geometry/Euclidean/NinePointCircle.lean b/Mathlib/Geometry/Euclidean/NinePointCircle.lean index fd371a8ce7a694..53ea53cfb59532 100644 --- a/Mathlib/Geometry/Euclidean/NinePointCircle.lean +++ b/Mathlib/Geometry/Euclidean/NinePointCircle.lean @@ -209,7 +209,6 @@ end Affine.Simplex namespace Affine.Triangle -set_option backward.isDefEq.respectTransparency false in theorem eulerPoint_eq_midpoint (s : Triangle ℝ P) (i : Fin 3) : s.eulerPoint i = midpoint ℝ s.orthocenter (s.points i) := by apply vsub_right_cancel (p := s.points i) diff --git a/Mathlib/Geometry/Euclidean/PerpBisector.lean b/Mathlib/Geometry/Euclidean/PerpBisector.lean index 42f97bbf9dd93e..63dcafb27c3c4d 100644 --- a/Mathlib/Geometry/Euclidean/PerpBisector.lean +++ b/Mathlib/Geometry/Euclidean/PerpBisector.lean @@ -53,7 +53,6 @@ theorem mem_perpBisector_iff_inner_eq_zero : c ∈ perpBisector p₁ p₂ ↔ ⟪c -ᵥ midpoint ℝ p₁ p₂, p₂ -ᵥ p₁⟫ = 0 := inner_eq_zero_symm -set_option backward.isDefEq.respectTransparency false in theorem mem_perpBisector_iff_inner_pointReflection_vsub_eq_zero : c ∈ perpBisector p₁ p₂ ↔ ⟪Equiv.pointReflection c p₁ -ᵥ p₂, p₂ -ᵥ p₁⟫ = 0 := by rw [mem_perpBisector_iff_inner_eq_zero, Equiv.pointReflection_apply, @@ -80,14 +79,12 @@ theorem direction_perpBisector (p₁ p₂ : P) : ext x exact Submodule.mem_orthogonal_singleton_iff_inner_right.symm -set_option backward.isDefEq.respectTransparency false in theorem mem_perpBisector_iff_inner_eq_inner : c ∈ perpBisector p₁ p₂ ↔ ⟪c -ᵥ p₁, p₂ -ᵥ p₁⟫ = ⟪c -ᵥ p₂, p₁ -ᵥ p₂⟫ := by rw [Iff.comm, mem_perpBisector_iff_inner_eq_zero, ← add_neg_eq_zero, ← inner_neg_right, neg_vsub_eq_vsub_rev, ← inner_add_left, vsub_midpoint, invOf_eq_inv, ← smul_add, real_inner_smul_left]; simp -set_option backward.isDefEq.respectTransparency false in theorem mem_perpBisector_iff_inner_eq : c ∈ perpBisector p₁ p₂ ↔ ⟪c -ᵥ p₁, p₂ -ᵥ p₁⟫ = (dist p₁ p₂) ^ 2 / 2 := by rw [mem_perpBisector_iff_inner_eq_zero, ← vsub_sub_vsub_cancel_right _ _ p₁, inner_sub_left, @@ -158,7 +155,6 @@ theorem dist_le_of_wbtw_of_inner_eq_zero {a b c p : P} nlinarith [sq_nonneg (dist p a), sq_nonneg (dist a c)] simpa only [Real.sqrt_sq dist_nonneg] using Real.sqrt_le_sqrt h_sq_ineq -set_option backward.isDefEq.respectTransparency false in /-- If `p` lies on the perpendicular bisector of `ab` and `b` is strictly between `a` and `c`, then `p` is closer to `b` than to `c`. -/ theorem dist_lt_of_sbtw_of_mem_perpBisector {a b c p : P} diff --git a/Mathlib/Geometry/Manifold/HasGroupoid.lean b/Mathlib/Geometry/Manifold/HasGroupoid.lean index a0fc23172cb4e4..fb3ac3d4e71d90 100644 --- a/Mathlib/Geometry/Manifold/HasGroupoid.lean +++ b/Mathlib/Geometry/Manifold/HasGroupoid.lean @@ -425,7 +425,6 @@ def Structomorph.trans (e : Structomorph G M M') (e' : Structomorph G M' M'') : have : F₂ ∈ G := G.mem_of_eqOnSource A (Setoid.symm this) exact this } -set_option backward.isDefEq.respectTransparency false in /-- Restricting a chart to its source `s ⊆ M` yields a chart in the maximal atlas of `s`. -/ theorem StructureGroupoid.restriction_mem_maximalAtlas_subtype {e : OpenPartialHomeomorph M H} (he : e ∈ atlas H M) diff --git a/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean b/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean index dab4927c1236a5..43d406c9479022 100644 --- a/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean +++ b/Mathlib/Geometry/Manifold/Instances/UnitsOfNormedAlgebra.lean @@ -54,7 +54,6 @@ manifolds. -/ lemma contMDiff_val : ContMDiff 𝓘(𝕜, R) 𝓘(𝕜, R) n (val : Rˣ → R) := contMDiff_isOpenEmbedding Units.isOpenEmbedding_val -set_option backward.isDefEq.respectTransparency false in /-- The units of a complete normed ring form a Lie group. -/ instance : LieGroup 𝓘(𝕜, R) n Rˣ where contMDiff_mul := by diff --git a/Mathlib/Geometry/Manifold/IsManifold/Basic.lean b/Mathlib/Geometry/Manifold/IsManifold/Basic.lean index 97dabbb309db0f..53194315d6b1fb 100644 --- a/Mathlib/Geometry/Manifold/IsManifold/Basic.lean +++ b/Mathlib/Geometry/Manifold/IsManifold/Basic.lean @@ -851,7 +851,6 @@ instance (n : ℕ∞) : LEInfty (n : WithTop ℕ∞) := ⟨mod_cast le_top⟩ set_option backward.isDefEq.respectTransparency false in instance (n : ℕ) : LEInfty (n : WithTop ℕ∞) := ⟨mod_cast le_top⟩ -set_option backward.isDefEq.respectTransparency false in instance (n : ℕ) [n.AtLeastTwo] : LEInfty (no_index (OfNat.ofNat n) : WithTop ℕ∞) := inferInstanceAs (LEInfty (n : WithTop ℕ∞)) diff --git a/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean b/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean index e34e78d4437d78..88653fe167b354 100644 --- a/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean +++ b/Mathlib/Geometry/Manifold/LocalInvariantProperties.lean @@ -517,7 +517,6 @@ theorem liftPropAt_iff_comp_subtype_val (hG : LocalInvariantProp G G' P) {U : Op · apply hG.congr_iff exact (U.chartAt_subtype_val_symm_eventuallyEq).fun_comp (chartAt H' (f x) ∘ f) -set_option backward.isDefEq.respectTransparency false in theorem liftPropAt_iff_comp_inclusion (hG : LocalInvariantProp G G' P) {U V : Opens M} (hUV : U ≤ V) (f : V → M') (x : U) : LiftPropAt P f (Set.inclusion hUV x) ↔ LiftPropAt P (f ∘ Set.inclusion hUV : U → M') x := by diff --git a/Mathlib/Geometry/RingedSpace/Basic.lean b/Mathlib/Geometry/RingedSpace/Basic.lean index 49d81ec14c6de5..c7ac010e061d41 100644 --- a/Mathlib/Geometry/RingedSpace/Basic.lean +++ b/Mathlib/Geometry/RingedSpace/Basic.lean @@ -68,7 +68,6 @@ lemma exists_res_eq_zero_of_germ_eq_zero (U : Opens X) (f : X.presheaf.obj (op U use V, i, hv simpa using hv4 -set_option backward.isDefEq.respectTransparency false in /-- If the germ of a section `f` is a unit in the stalk at `x`, then `f` must be a unit on some small neighborhood around `x`. diff --git a/Mathlib/Geometry/RingedSpace/PresheafedSpace.lean b/Mathlib/Geometry/RingedSpace/PresheafedSpace.lean index 7785034ce2b3ee..581231286ef884 100644 --- a/Mathlib/Geometry/RingedSpace/PresheafedSpace.lean +++ b/Mathlib/Geometry/RingedSpace/PresheafedSpace.lean @@ -39,8 +39,8 @@ variable (C : Type*) [Category* C] namespace AlgebraicGeometry /-- A `PresheafedSpace C` is a topological space equipped with a presheaf of `C`s. -/ -structure PresheafedSpace where - carrier : TopCat +structure PresheafedSpace.{u} where + carrier : TopCat.{u} protected presheaf : carrier.Presheaf C variable {C} diff --git a/Mathlib/Geometry/RingedSpace/SheafedSpace.lean b/Mathlib/Geometry/RingedSpace/SheafedSpace.lean index 83d40f745f5b9a..e6105bc22e33e5 100644 --- a/Mathlib/Geometry/RingedSpace/SheafedSpace.lean +++ b/Mathlib/Geometry/RingedSpace/SheafedSpace.lean @@ -275,7 +275,6 @@ lemma mono_of_base_injective_of_stalk_epi {X Y : SheafedSpace C} (f : X ⟶ Y) replace e := congr_arg InducedCategory.Hom.hom e congr 1 -set_option backward.isDefEq.respectTransparency false in attribute [local ext] DFunLike.ext in include instCC in lemma epi_of_base_surjective_of_stalk_mono {X Y : SheafedSpace C} (f : X ⟶ Y) diff --git a/Mathlib/GroupTheory/ArchimedeanDensely.lean b/Mathlib/GroupTheory/ArchimedeanDensely.lean index 51f5bd2634e628..ebde3f6e8200f0 100644 --- a/Mathlib/GroupTheory/ArchimedeanDensely.lean +++ b/Mathlib/GroupTheory/ArchimedeanDensely.lean @@ -100,7 +100,6 @@ instance : Unique (ℤ ≃+o ℤᵒᵈ) where simp simp [H, ← ofDual_lt_ofDual] at h1 -set_option backward.isDefEq.respectTransparency false in set_option backward.proofsInPublic true in open Subgroup in /-- In two linearly ordered groups, the closure of an element of one group diff --git a/Mathlib/GroupTheory/Commensurable.lean b/Mathlib/GroupTheory/Commensurable.lean index e6059eda17ab43..f5c10c5ddbde1b 100644 --- a/Mathlib/GroupTheory/Commensurable.lean +++ b/Mathlib/GroupTheory/Commensurable.lean @@ -41,7 +41,6 @@ open Pointwise variable {G : Type*} [Group G] -set_option backward.isDefEq.respectTransparency false in /-- Equivalence of `K / (H ⊓ K)` with `gKg⁻¹/ (gHg⁻¹ ⊓ gKg⁻¹)` -/ def Subgroup.quotConjEquiv (H K : Subgroup G) (g : ConjAct G) : K ⧸ H.subgroupOf K ≃ (g • K : Subgroup G) ⧸ (g • H).subgroupOf (g • K) := diff --git a/Mathlib/GroupTheory/Complement.lean b/Mathlib/GroupTheory/Complement.lean index e37e53c45ed45a..c63be09c192698 100644 --- a/Mathlib/GroupTheory/Complement.lean +++ b/Mathlib/GroupTheory/Complement.lean @@ -269,7 +269,6 @@ lemma isComplement_range_right {f : Quotient (QuotientGroup.rightRel H) → G} rintro ⟨-, q₁, rfl⟩ ⟨-, q₂, rfl⟩ h exact Subtype.ext <| congr_arg f <| ((hf q₁).symm.trans h).trans (hf q₂) -set_option backward.isDefEq.respectTransparency false in @[to_additive] lemma exists_isComplement_left (H : Subgroup G) (g : G) : ∃ S, IsComplement S H ∧ g ∈ S := by classical @@ -408,7 +407,6 @@ theorem equiv_fst_eq_one_of_mem_of_one_mem {g : G} (h1 : 1 ∈ S) (hg : g ∈ T) ext rw [equiv_fst_eq_mul_inv, equiv_snd_eq_self_of_mem_of_one_mem _ h1 hg, mul_inv_cancel] -set_option backward.isDefEq.respectTransparency false in theorem equiv_mul_right (g : G) (k : K) : hSK.equiv (g * k) = ((hSK.equiv g).fst, (hSK.equiv g).snd * k) := by have : (hSK.equiv (g * k)).fst = (hSK.equiv g).fst := @@ -422,7 +420,6 @@ theorem equiv_mul_right_of_mem {g k : G} (h : k ∈ K) : hSK.equiv (g * k) = ((hSK.equiv g).fst, (hSK.equiv g).snd * ⟨k, h⟩) := equiv_mul_right _ g ⟨k, h⟩ -set_option backward.isDefEq.respectTransparency false in theorem equiv_mul_left (h : H) (g : G) : hHT.equiv (h * g) = (h * (hHT.equiv g).fst, (hHT.equiv g).snd) := by have : (hHT.equiv (h * g)).2 = (hHT.equiv g).2 := hHT.equiv_snd_eq_iff_rightCosetEquivalence.2 ?_ @@ -681,7 +678,6 @@ theorem isComplement'_of_coprime [Finite G] (h2 : Nat.Coprime (Nat.card H) (Nat.card K)) : IsComplement' H K := isComplement'_of_card_mul_and_disjoint h1 (disjoint_iff.mpr (inf_eq_bot_of_coprime h2)) -set_option backward.isDefEq.respectTransparency false in theorem isComplement'_stabilizer {α : Type*} [MulAction G α] (a : α) (h1 : ∀ h : H, h • a = a → h = 1) (h2 : ∀ g : G, ∃ h : H, h • g • a = a) : IsComplement' H (MulAction.stabilizer G a) := by diff --git a/Mathlib/GroupTheory/Coset/Basic.lean b/Mathlib/GroupTheory/Coset/Basic.lean index bdf06a6b772eef..05e52f3cbf66fd 100644 --- a/Mathlib/GroupTheory/Coset/Basic.lean +++ b/Mathlib/GroupTheory/Coset/Basic.lean @@ -296,7 +296,6 @@ theorem eq_class_eq_leftCoset (s : Subgroup α) (g : α) : Set.ext fun z => by rw [mem_leftCoset_iff, Set.mem_setOf_eq, eq_comm, QuotientGroup.eq, SetLike.mem_coe] -set_option backward.isDefEq.respectTransparency false in open MulAction in @[to_additive] lemma orbit_mk_eq_smul (x : α) : MulAction.orbitRel.Quotient.orbit (x : α ⧸ s) = x • s := by diff --git a/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean b/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean index 34b76dbf480297..08cc647c220b85 100644 --- a/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean +++ b/Mathlib/GroupTheory/FreeGroup/NielsenSchreier.lean @@ -199,7 +199,6 @@ theorem loopOfHom_eq_id {a b : Generators G} (e) (H : e ∈ wideSubquiverSymmetr · rw [treeHom_eq T (Path.cons default ⟨Sum.inr e, H⟩), homOfPath] simp only [IsIso.inv_hom_id, Category.comp_id, Category.assoc, treeHom] -set_option backward.isDefEq.respectTransparency false in set_option backward.privateInPublic true in set_option backward.privateInPublic.warn false in /-- Since a hom gives a loop, any homomorphism from the vertex group at the root @@ -275,7 +274,6 @@ private def symgen {G : Type u} [Groupoid.{v} G] [IsFreeGroupoid G] : G → Symmetrify (Generators G) := id -set_option backward.isDefEq.respectTransparency false in set_option backward.privateInPublic true in set_option backward.privateInPublic.warn false in /-- If there exists a morphism `a → b` in a free groupoid, then there also exists a zigzag diff --git a/Mathlib/GroupTheory/GroupAction/Blocks.lean b/Mathlib/GroupTheory/GroupAction/Blocks.lean index 079a299e20804c..b4b2ed68bca2a4 100644 --- a/Mathlib/GroupTheory/GroupAction/Blocks.lean +++ b/Mathlib/GroupTheory/GroupAction/Blocks.lean @@ -547,7 +547,6 @@ section Stabilizer - subgroups of G containing `stabilizer G a`. (Wielandt, th. 7.5) -/ -set_option backward.isDefEq.respectTransparency false in /-- The orbit of `a` under a subgroup containing the stabilizer of `a` is a block -/ @[to_additive /-- The orbit of `a` under a subgroup containing the stabilizer of `a` is a block -/] theorem IsBlock.of_orbit {H : Subgroup G} {a : X} (hH : stabilizer G a ≤ H) : @@ -581,7 +580,6 @@ theorem IsBlock.orbit_stabilizer_eq [IsPretransitive G X] (hB : IsBlock G B) {a obtain ⟨k, rfl⟩ := exists_smul_eq G a x exact ⟨⟨k, hB.smul_eq_of_mem ha hx⟩, rfl⟩ -set_option backward.isDefEq.respectTransparency false in /-- A subgroup containing the stabilizer of `a` is the stabilizer of the orbit of `a` under that subgroup -/ @[to_additive diff --git a/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean b/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean index a5703925d240a4..6eb6c02c147e5c 100644 --- a/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean +++ b/Mathlib/GroupTheory/GroupAction/FixingSubgroup.lean @@ -173,7 +173,6 @@ theorem fixedPoints_subgroup_iSup {ι : Sort*} {P : ι → Subgroup M} : fixedPoints (↥(iSup P)) α = ⋂ i, fixedPoints (P i) α := (fixingSubgroup_fixedPoints_gc M α).u_iInf -set_option backward.isDefEq.respectTransparency false in /-- The orbit of the fixing subgroup of `sᶜ` (i.e. the moving subgroup of `s`) is a subset of `s` -/ @[to_additive] theorem orbit_fixingSubgroup_compl_subset {s : Set α} {a : α} (a_in_s : a ∈ s) : diff --git a/Mathlib/GroupTheory/GroupAction/Quotient.lean b/Mathlib/GroupTheory/GroupAction/Quotient.lean index 2649864b3219ed..35bc8db580ab34 100644 --- a/Mathlib/GroupTheory/GroupAction/Quotient.lean +++ b/Mathlib/GroupTheory/GroupAction/Quotient.lean @@ -338,7 +338,6 @@ instance finite_quotient_of_finite_quotient_of_finite_quotient {H : Subgroup α} rw [(equivSubgroupOrbits β H).finite_iff] infer_instance -set_option backward.isDefEq.respectTransparency false in /-- Given a group acting freely and transitively, an equivalence between the orbits under the action of a subgroup and the quotient group. -/ @[to_additive /-- Given an additive group acting freely and transitively, an equivalence between the diff --git a/Mathlib/GroupTheory/HNNExtension.lean b/Mathlib/GroupTheory/HNNExtension.lean index 3bba550833d8b5..882cbbc4369c14 100644 --- a/Mathlib/GroupTheory/HNNExtension.lean +++ b/Mathlib/GroupTheory/HNNExtension.lean @@ -418,7 +418,6 @@ theorem unitsSMul_cancels_iff (u : ℤˣ) (w : NormalWord d) : · simp only [unitsSMul, dif_neg h] simpa [Cancels] using h -set_option backward.isDefEq.respectTransparency false in theorem unitsSMul_neg (u : ℤˣ) (w : NormalWord d) : unitsSMul φ (-u) (unitsSMul φ u w) = w := by rw [unitsSMul] @@ -567,7 +566,6 @@ theorem prod_smul (g : HNNExtension G A B φ) (w : NormalWord d) : rw [← mul_right_inj x, ← ih] simp -set_option backward.isDefEq.respectTransparency false in -- TODO: fix non-terminal simp (acting on two goals, with different simp sets) set_option linter.flexible false in @[simp] diff --git a/Mathlib/GroupTheory/Perm/Cycle/Basic.lean b/Mathlib/GroupTheory/Perm/Cycle/Basic.lean index b0a97f2ebdfa18..93d094443e64b9 100644 --- a/Mathlib/GroupTheory/Perm/Cycle/Basic.lean +++ b/Mathlib/GroupTheory/Perm/Cycle/Basic.lean @@ -640,7 +640,6 @@ section Conjugation variable [Fintype α] [DecidableEq α] {σ τ : Perm α} -set_option backward.isDefEq.respectTransparency false in theorem IsCycle.isConj (hσ : IsCycle σ) (hτ : IsCycle τ) (h : #σ.support = #τ.support) : IsConj σ τ := by refine diff --git a/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean b/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean index dceda7efd0487b..a46a5585149985 100644 --- a/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean +++ b/Mathlib/LinearAlgebra/Charpoly/ToMatrix.lean @@ -38,7 +38,6 @@ namespace LinearMap section Basic -set_option backward.isDefEq.respectTransparency false in /-- `charpoly f` is the characteristic polynomial of the matrix of `f` in any basis. -/ @[simp] theorem charpoly_toMatrix {ι : Type w} [DecidableEq ι] [Fintype ι] (b : Basis ι R M) : diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean index a883df00b69fd1..fd6c69670b2cb7 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/Inversion.lean @@ -30,7 +30,6 @@ def invertibleιOfInvertible (m : M) [Invertible (Q m)] : Invertible (ι Q m) wh mul_invOf_self := by rw [map_smul, mul_smul_comm, ι_sq_scalar, Algebra.smul_def, ← map_mul, invOf_mul_self, map_one] -set_option backward.isDefEq.respectTransparency false in /-- For a vector with invertible quadratic form, $v^{-1} = \frac{v}{Q(v)}$ -/ theorem invOf_ι (m : M) [Invertible (Q m)] [Invertible (ι Q m)] : ⅟(ι Q m) = ι Q (⅟(Q m) • m) := by diff --git a/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean b/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean index 0ba13fc999085b..f23e9ccc7b505d 100644 --- a/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean +++ b/Mathlib/LinearAlgebra/CliffordAlgebra/SpinGroup.lean @@ -64,7 +64,6 @@ def lipschitzGroup (Q : QuadraticForm R M) : Subgroup (CliffordAlgebra Q)ˣ := namespace lipschitzGroup -set_option backward.isDefEq.respectTransparency false in /-- The conjugation action by elements of the Lipschitz group keeps vectors as vectors. -/ theorem conjAct_smul_ι_mem_range_ι {x : (CliffordAlgebra Q)ˣ} (hx : x ∈ lipschitzGroup Q) [Invertible (2 : R)] (m : M) : @@ -93,7 +92,6 @@ theorem conjAct_smul_ι_mem_range_ι {x : (CliffordAlgebra Q)ˣ} (hx : x ∈ lip obtain ⟨y', hy'⟩ := hy z' simp_rw [← hz', ← hy', LinearMap.mem_range_self] -set_option backward.isDefEq.respectTransparency false in /-- This is another version of `lipschitzGroup.conjAct_smul_ι_mem_range_ι` which uses `involute`. -/ theorem involute_act_ι_mem_range_ι [Invertible (2 : R)] {x : (CliffordAlgebra Q)ˣ} (hx : x ∈ lipschitzGroup Q) (b : M) : diff --git a/Mathlib/LinearAlgebra/Complex/Module.lean b/Mathlib/LinearAlgebra/Complex/Module.lean index e22e81cd8f4141..58ecce24a99cd2 100644 --- a/Mathlib/LinearAlgebra/Complex/Module.lean +++ b/Mathlib/LinearAlgebra/Complex/Module.lean @@ -388,12 +388,10 @@ scoped[ComplexStarModule] notation "ℑ" => imaginaryPart open ComplexStarModule -set_option backward.isDefEq.respectTransparency false in theorem realPart_apply_coe (a : A) : (ℜ a : A) = (2 : ℝ)⁻¹ • (a + star a) := by unfold realPart simp only [selfAdjointPart_apply_coe, invOf_eq_inv] -set_option backward.isDefEq.respectTransparency false in theorem imaginaryPart_apply_coe (a : A) : (ℑ a : A) = -I • (2 : ℝ)⁻¹ • (a - star a) := by unfold imaginaryPart simp only [LinearMap.coe_comp, Function.comp_apply, skewAdjoint.negISMul_apply_coe, @@ -424,7 +422,6 @@ theorem imaginaryPart_smul (z : ℂ) (a : A) : ℑ (z • a) = z.re • ℑ a + have := by congrm (ℑ ($((re_add_im z).symm) • a)) simpa [-re_add_im, add_smul, ← smul_smul] -set_option backward.isDefEq.respectTransparency false in lemma skewAdjointPart_eq_I_smul_imaginaryPart (x : A) : (skewAdjointPart ℝ x : A) = I • (imaginaryPart x : A) := by simp [imaginaryPart_apply_coe, smul_smul] @@ -509,7 +506,6 @@ lemma realPart_ofReal (r : ℝ) : (ℜ (r : ℂ) : ℂ) = r := by lemma imaginaryPart_ofReal (r : ℝ) : ℑ (r : ℂ) = 0 := by ext1; simp [imaginaryPart_apply_coe, conj_ofReal] -set_option backward.isDefEq.respectTransparency false in set_option linter.style.whitespace false in -- manual alignment is not recognised lemma Complex.coe_realPart (z : ℂ) : (ℜ z : ℂ) = z.re := calc (ℜ z : ℂ) = (↑(ℜ (↑z.re + ↑z.im * I))) := by congrm (ℜ $((re_add_im z).symm)) diff --git a/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean b/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean index 781d1d3a8413c8..83cedf9cdcec81 100644 --- a/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean +++ b/Mathlib/LinearAlgebra/DirectSum/Finsupp.lean @@ -155,7 +155,6 @@ lemma finsuppScalarLeft_apply (pn : (ι →₀ R) ⊗[R] N) (i : ι) : finsuppScalarLeft R N ι pn i = TensorProduct.lid R N ((Finsupp.lapply i).rTensor N pn) := by simp [finsuppScalarLeft, finsuppLeft_apply] -set_option backward.isDefEq.respectTransparency false in @[simp] lemma finsuppScalarLeft_symm_apply_single (i : ι) (n : N) : (finsuppScalarLeft R N ι).symm (Finsupp.single i n) = diff --git a/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean b/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean index 2193dce745af06..bf6df711dec700 100644 --- a/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean +++ b/Mathlib/LinearAlgebra/FiniteDimensional/Lemmas.lean @@ -81,7 +81,7 @@ theorem eq_top_of_disjoint [FiniteDimensional K V] (s t : Submodule K V) le_antisymm hdim (finrank_add_finrank_le_of_disjoint hdisjoint) rw [hdim] convert s.finrank_sup_add_finrank_inf_eq t - rw [h_finrank_inf] + rw [h_finrank_inf, add_zero] theorem isCompl_iff_disjoint [FiniteDimensional K V] (s t : Submodule K V) (hdim : finrank K V ≤ finrank K s + finrank K t) : diff --git a/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean b/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean index e08eaa0b3d693a..fee8aa33d00d9d 100644 --- a/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean +++ b/Mathlib/LinearAlgebra/LinearIndependent/Defs.lean @@ -299,7 +299,6 @@ theorem linearIndependent_iff_finset_linearIndependent : Fintype.linearIndependent_iffₛ.1 (H s) (f ∘ Subtype.val) (g ∘ Subtype.val) (by simpa only [← s.sum_coe_sort] using eq) ⟨i, hi⟩⟩ -set_option backward.isDefEq.respectTransparency false in lemma linearIndepOn_iff_linearIndepOn_finset : LinearIndepOn R v s ↔ ∀ t : Finset ι, ↑t ⊆ s → LinearIndepOn R v t where mp hv t hts := hv.mono hts diff --git a/Mathlib/LinearAlgebra/LinearPMap.lean b/Mathlib/LinearAlgebra/LinearPMap.lean index 57f50391917340..a80ac18dc3c884 100644 --- a/Mathlib/LinearAlgebra/LinearPMap.lean +++ b/Mathlib/LinearAlgebra/LinearPMap.lean @@ -396,7 +396,6 @@ theorem neg_domain (f : E →ₗ.[R] F) : (-f).domain = f.domain := rfl theorem neg_apply (f : E →ₗ.[R] F) (x) : (-f) x = -f x := rfl -set_option backward.isDefEq.respectTransparency false in instance instInvolutiveNeg : InvolutiveNeg (E →ₗ.[R] F) := ⟨fun f => by ext x y hxy diff --git a/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean b/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean index 5c924163bca298..3cb9c9a06d94b2 100644 --- a/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean +++ b/Mathlib/LinearAlgebra/Matrix/Determinant/Basic.lean @@ -756,7 +756,7 @@ theorem det_succ_column_zero {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) Equiv.Perm.decomposeFin_symm_apply_zero, Equiv.Perm.decomposeFin_symm_apply_succ] _ = -1 * (A (Fin.succ i) 0 * (Perm.sign σ : ℤ) • ∏ i', A ((Fin.succ i).succAbove (Fin.cycleRange i (σ i'))) i'.succ) := by - simp [mul_left_comm] + simp /-- Laplacian expansion of the determinant of an `n+1 × n+1` matrix along row 0. -/ theorem det_succ_row_zero {n : ℕ} (A : Matrix (Fin n.succ) (Fin n.succ) R) : diff --git a/Mathlib/LinearAlgebra/Matrix/Diagonal.lean b/Mathlib/LinearAlgebra/Matrix/Diagonal.lean index a4e0a551d96fbc..f37e9c706a7aea 100644 --- a/Mathlib/LinearAlgebra/Matrix/Diagonal.lean +++ b/Mathlib/LinearAlgebra/Matrix/Diagonal.lean @@ -52,7 +52,6 @@ section Semifield variable {m : Type*} [Fintype m] {K : Type u} [Semifield K] -set_option backward.isDefEq.respectTransparency false in -- maybe try to relax the universe constraint theorem ker_diagonal_toLin' [DecidableEq m] (w : m → K) : ker (toLin' (diagonal w)) = diff --git a/Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean b/Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean index d976c59ff6e0ac..f91f1303c44ed9 100644 --- a/Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean +++ b/Mathlib/LinearAlgebra/Matrix/Irreducible/Defs.lean @@ -200,6 +200,7 @@ def transposePath {i j : n} (p : @Quiver.Path n A.toQuiver i j) : exact (@Quiver.Path.comp n (toQuiver Aᵀ) c b i (@Quiver.Hom.toPath n (toQuiver Aᵀ) c b (PLift.up eT)) ih) +set_option backward.isDefEq.respectTransparency false in /-- Irreducibility is invariant under transpose. -/ theorem IsIrreducible.transpose (hA : IsIrreducible A) : IsIrreducible Aᵀ := by have hA_T_nonneg : ∀ i j, 0 ≤ Aᵀ i j := fun i j => by diff --git a/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean b/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean index 96be933487ffcc..d85ad2e86683bc 100644 --- a/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean +++ b/Mathlib/LinearAlgebra/Multilinear/DFinsupp.lean @@ -78,7 +78,6 @@ variable [DecidableEq ι] [Fintype ι] [Semiring R] variable [∀ i k, AddCommMonoid (M i k)] [∀ p, AddCommMonoid (N p)] variable [∀ i k, Module R (M i k)] [∀ p, Module R (N p)] -set_option backward.isDefEq.respectTransparency false in /-- Given a family of indices `κ` and a multilinear map `f p` for each way `p` to select one index from each family, `dfinsuppFamily f` maps a family of finitely-supported functions (one for each domain diff --git a/Mathlib/LinearAlgebra/PID.lean b/Mathlib/LinearAlgebra/PID.lean index d54ea682e1efa9..2d85ae07c6c27b 100644 --- a/Mathlib/LinearAlgebra/PID.lean +++ b/Mathlib/LinearAlgebra/PID.lean @@ -30,7 +30,6 @@ namespace LinearMap variable {R M : Type*} [CommRing R] [AddCommGroup M] [Module R M] [Module.Finite R M] [Module.Free R M] -set_option backward.isDefEq.respectTransparency false in /-- If a linear endomorphism of a (finite, free) module `M` takes values in a submodule `p ⊆ M`, then the trace of its restriction to `p` is equal to its trace on `M`. -/ lemma trace_restrict_eq_of_forall_mem [IsDomain R] [IsPrincipalIdealRing R] diff --git a/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean b/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean index a2ff75163e14e8..baa0a277f9aa37 100644 --- a/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean +++ b/Mathlib/LinearAlgebra/PerfectPairing/Basic.lean @@ -229,7 +229,8 @@ lemma map_dualAnnihilator_linearEquiv_flip_symm (p : Submodule R N) : p.dualAnnihilator.map (e.flip.symm : Dual R N →ₗ[R] M) = (p.map (e : N →ₗ[R] Dual R M)).dualCoannihilator := by have : IsReflexive R N := e.isReflexive_of_equiv_dual_of_isReflexive - rw [← dualCoannihilator_map_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, flip_flip] + rw [← dualCoannihilator_map_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, + LinearEquiv.flip_flip] @[simp] lemma map_dualCoannihilator_linearEquiv_flip (p : Submodule R (Dual R M)) : @@ -240,8 +241,8 @@ lemma map_dualCoannihilator_linearEquiv_flip (p : Submodule R (Dual R M)) : (p.map (e.symm : Dual R M →ₗ[R] N)).dualAnnihilator.map (e.flip.symm : Dual R N →ₗ[R] M) = (p.dualCoannihilator.map (e.flip : M →ₗ[R] Dual R N)).map (e.flip.symm : Dual R N →ₗ[R] M) from (Submodule.map_injective_of_injective e.flip.symm.injective this).symm - rw [← dualCoannihilator_map_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, flip_flip, - ← map_comp, ← map_comp] + rw [← dualCoannihilator_map_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, + LinearEquiv.flip_flip, ← map_comp, ← map_comp] simp [-coe_toLinearMap_flip] @[simp] @@ -249,6 +250,7 @@ lemma dualAnnihilator_map_linearEquiv_flip_symm (p : Submodule R (Dual R N)) : (p.map (e.flip.symm : Dual R N →ₗ[R] M)).dualAnnihilator = p.dualCoannihilator.map (e : N →ₗ[R] Dual R M) := by have : IsReflexive R N := e.isReflexive_of_equiv_dual_of_isReflexive - rw [← map_dualCoannihilator_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, flip_flip] + rw [← map_dualCoannihilator_linearEquiv_flip, ← LinearEquiv.coe_toLinearMap_flip, + LinearEquiv.flip_flip] end Submodule diff --git a/Mathlib/LinearAlgebra/Pi.lean b/Mathlib/LinearAlgebra/Pi.lean index 14500a4ea4d53a..3339eeaf6b43fd 100644 --- a/Mathlib/LinearAlgebra/Pi.lean +++ b/Mathlib/LinearAlgebra/Pi.lean @@ -552,7 +552,6 @@ variable {ι R M} theorem piRing_apply (f : (ι → R) →ₗ[R] M) (i : ι) : piRing R M ι S f i = f (Pi.single i 1) := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] theorem piRing_symm_apply (f : ι → M) (g : ι → R) : (piRing R M ι S).symm f g = ∑ i, g i • f i := by simp [piRing, LinearMap.lsum_apply] diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean b/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean index 8d3845c2029609..433c4893380919 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Basic.lean @@ -849,7 +849,6 @@ section variable [Semiring R] [AddCommMonoid M] [Module R M] -set_option backward.isDefEq.respectTransparency false in /-- If `2` is invertible in `R`, then it is also invertible in `End R M`. -/ instance [Invertible (2 : R)] : Invertible (2 : Module.End R M) where invOf := (⟨⅟2, Set.invOf_mem_center (Set.ofNat_mem_center _ _)⟩ : Submonoid.center R) • @@ -935,20 +934,17 @@ theorem associated_toQuadraticMap (B : BilinMap R M N) (x y : M) : Module.End.smul_def, map_sub] abel_nf -set_option backward.isDefEq.respectTransparency false in theorem associated_left_inverse {B₁ : BilinMap R M N} (h : ∀ x y, B₁ x y = B₁ y x) : associatedHom S B₁.toQuadraticMap = B₁ := LinearMap.ext₂ fun x y ↦ by rw [associated_toQuadraticMap, ← h x y, ← two_smul R, invOf_smul_eq_iff, two_smul, two_smul] -set_option backward.isDefEq.respectTransparency false in /-- A version of `QuadraticMap.associated_left_inverse` for general targets. -/ lemma associated_left_inverse' {B₁ : BilinMap R M N} (hB₁ : B₁.flip = B₁) : associatedHom S B₁.toQuadraticMap = B₁ := by ext _ y rw [associated_toQuadraticMap, ← LinearMap.flip_apply _ y, hB₁, invOf_smul_eq_iff, two_smul] -set_option backward.isDefEq.respectTransparency false in theorem associated_eq_self_apply (x : M) : associatedHom S Q x x = Q x := by rw [associated_apply, map_add_self, ← three_add_one_eq_four, ← two_add_one_eq_three, add_smul, add_smul, one_smul, add_sub_cancel_right, add_sub_cancel_right, two_smul, ← two_smul R, @@ -1010,7 +1006,6 @@ theorem coe_associatedHom : ⇑(associatedHom S : QuadraticMap R M N →ₗ[S] BilinMap R M N) = associated := rfl -set_option backward.isDefEq.respectTransparency false in open LinearMap in @[simp] theorem associated_linMulLin [Invertible (2 : R)] (f g : M →ₗ[R] R) : @@ -1081,7 +1076,6 @@ theorem isOrtho_polarBilin {x y : M} : Q.polarBilin.IsOrtho x y ↔ IsOrtho Q x theorem IsOrtho.polar_eq_zero {x y : M} (h : IsOrtho Q x y) : polar Q x y = 0 := isOrtho_polarBilin.mpr h -set_option backward.isDefEq.respectTransparency false in @[simp] theorem associated_isOrtho [Invertible (2 : R)] {x y : M} : Q.associated.IsOrtho x y ↔ Q.IsOrtho x y := by diff --git a/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean b/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean index 033d17a9e31b61..e607498ea392aa 100644 --- a/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean +++ b/Mathlib/LinearAlgebra/QuadraticForm/Dual.lean @@ -126,7 +126,6 @@ section Ring variable [CommRing R] [AddCommGroup M] [Module R M] variable {R M} -set_option backward.isDefEq.respectTransparency false in /-- The isometry sending `(Q.prod <| -Q)` to `(QuadraticForm.dualProd R M)`. This is `σ` from Proposition 4.8, page 84 of diff --git a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean index 9f5471f218e580..394ca969bdf98c 100644 --- a/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean +++ b/Mathlib/LinearAlgebra/RootSystem/GeckConstruction/Basic.lean @@ -211,7 +211,6 @@ lemma f_mem_lieAlgebra [Fintype ι] [DecidableEq ι] (i : b.support) : def h' [Fintype ι] [DecidableEq ι] (i : b.support) : cartanSubalgebra' b := ⟨⟨h i, h_mem_lieAlgebra i⟩, h_mem_cartanSubalgebra' i (h_mem_lieAlgebra i)⟩ -set_option backward.isDefEq.respectTransparency false in variable (b) in @[simp] lemma span_range_h'_eq_top [Fintype ι] [DecidableEq ι] : diff --git a/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean b/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean index 0ebc35d13f6fe6..498d75ac45eb28 100644 --- a/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean +++ b/Mathlib/LinearAlgebra/RootSystem/WeylGroup.lean @@ -192,7 +192,6 @@ lemma weylGroup_apply_root (g : P.weylGroup) (i : ι) : g • P.root i = P.root (P.weylGroupToPerm g i) := Hom.root_weightMap_apply _ _ _ _ -set_option backward.isDefEq.respectTransparency false in @[simp] lemma InvariantForm.apply_weylGroup_smul {B : P.InvariantForm} (g : P.weylGroup) (x y : M) : B.form (g • x) (g • y) = B.form x y := by diff --git a/Mathlib/LinearAlgebra/TensorPower/Basic.lean b/Mathlib/LinearAlgebra/TensorPower/Basic.lean index ce03b2be75f985..4a01aa10705975 100644 --- a/Mathlib/LinearAlgebra/TensorPower/Basic.lean +++ b/Mathlib/LinearAlgebra/TensorPower/Basic.lean @@ -225,7 +225,6 @@ theorem algebraMap₀_mul_algebraMap₀ (r s : R) : rw [← smul_eq_mul, map_smul] exact algebraMap₀_mul r (@algebraMap₀ R M _ _ _ s) -set_option backward.isDefEq.respectTransparency false in instance gsemiring : DirectSum.GSemiring fun i => ⨂[R]^i M := { TensorPower.gmonoid with mul_zero := fun _ => map_zero _ diff --git a/Mathlib/LinearAlgebra/TensorProduct/Basis.lean b/Mathlib/LinearAlgebra/TensorProduct/Basis.lean index f27e9f0d0fcf2a..d026a04c23f79c 100644 --- a/Mathlib/LinearAlgebra/TensorProduct/Basis.lean +++ b/Mathlib/LinearAlgebra/TensorProduct/Basis.lean @@ -100,7 +100,6 @@ lemma TensorProduct.equivFinsuppOfBasisRight_apply_tmul_apply 𝒞.repr n i • m := by simp only [equivFinsuppOfBasisRight_apply_tmul, Finsupp.mapRange_apply] -set_option backward.isDefEq.respectTransparency false in lemma TensorProduct.equivFinsuppOfBasisRight_symm : (TensorProduct.equivFinsuppOfBasisRight 𝒞).symm.toLinearMap = Finsupp.lsum R fun i ↦ (TensorProduct.mk R M N).flip (𝒞 i) := by diff --git a/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean b/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean index b3d2afca2d1f14..f6ac0c28c81043 100644 --- a/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean +++ b/Mathlib/MeasureTheory/Constructions/HaarToSphere.lean @@ -272,7 +272,6 @@ lemma integrable_fun_norm_addHaar {f : ℝ → F} : · measurability · simp -set_option backward.isDefEq.respectTransparency false in lemma integral_fun_norm_addHaar (f : ℝ → F) : ∫ x, f (‖x‖) ∂μ = dim E • μ.real (ball 0 1) • ∫ y in Ioi (0 : ℝ), y ^ (dim E - 1) • f y := calc diff --git a/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean b/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean index 40d57e7b4ddd54..5d7dda60d1d189 100644 --- a/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean +++ b/Mathlib/MeasureTheory/Function/AbsolutelyContinuous.lean @@ -404,7 +404,6 @@ theorem ae_differentiableAt {f : ℝ → ℝ} {a b : ℝ} ∀ᵐ (x : ℝ), x ∈ uIcc a b → DifferentiableAt ℝ f x := hf.boundedVariationOn.ae_differentiableAt_of_mem_uIcc -set_option backward.isDefEq.respectTransparency false in /-- If `f` is interval integrable on `a..b` and `c ∈ uIcc a b`, then `fun x ↦ ∫ v in c..x, f v` is absolutely continuous on `uIcc a b`. -/ theorem _root_.IntervalIntegrable.absolutelyContinuousOnInterval_intervalIntegral {f : ℝ → ℝ} diff --git a/Mathlib/MeasureTheory/Function/JacobianOneDim.lean b/Mathlib/MeasureTheory/Function/JacobianOneDim.lean index 20fd7d9d9da000..9566dd3cc362ec 100644 --- a/Mathlib/MeasureTheory/Function/JacobianOneDim.lean +++ b/Mathlib/MeasureTheory/Function/JacobianOneDim.lean @@ -175,7 +175,6 @@ theorem exists_decomposition_of_monotoneOn_hasDerivWithinAt (hs : MeasurableSet refine fun h ↦ hx.2 ⟨hx.1, ?_⟩ exact ⟨x, y, hx.1, hy.1, H, rfl, h.symm⟩ -set_option backward.isDefEq.respectTransparency false in /- Change of variable formula for differentiable functions: if a real function `f` is monotone and differentiable on a measurable set `s`, then the Lebesgue integral of a function `u : ℝ → ℝ≥0∞` on `f '' s` coincides with the integral of `(f' x) * u ∘ f` on `s`. @@ -225,7 +224,6 @@ theorem lintegral_deriv_eq_volume_image_of_monotoneOn (hs : MeasurableSet s) (∫⁻ x in s, ENNReal.ofReal (f' x)) = volume (f '' s) := by simpa using (lintegral_image_eq_lintegral_deriv_mul_of_monotoneOn hs hf' hf 1).symm -set_option backward.isDefEq.respectTransparency false in /-- Integrability in the change of variable formula for differentiable functions: if a real function `f` is monotone and differentiable on a measurable set `s`, then a function `g : ℝ → F` is integrable on `f '' s` if and only if `f' x • g ∘ f` is integrable on `s` . -/ @@ -262,7 +260,6 @@ theorem integrableOn_image_iff_integrableOn_deriv_smul_of_monotoneOn (hs : Measu ContinuousLinearMap.one_apply, smul_eq_mul, one_mul, F'] rw [abs_of_nonneg (deriv_c x hx)] -set_option backward.isDefEq.respectTransparency false in /-- Change of variable formula for differentiable functions: if a real function `f` is monotone and differentiable on a measurable set `s`, then the Bochner integral of a function `g : ℝ → F` on `f '' s` coincides with the integral of `(f' x) • g ∘ f` on `s` . -/ diff --git a/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean b/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean index a3adf2dfbb4e2e..90054cdd76b71d 100644 --- a/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean +++ b/Mathlib/MeasureTheory/Function/SimpleFuncDenseLp.lean @@ -717,7 +717,6 @@ variable {p μ G} variable [PartialOrder G] -set_option backward.isDefEq.respectTransparency false in theorem coeFn_nonneg (f : Lp.simpleFunc G p μ) : (0 : α → G) ≤ᵐ[μ] f ↔ 0 ≤ f := by rw [← Subtype.coe_le_coe, Lp.coeFn_nonneg, AddSubmonoid.coe_zero] diff --git a/Mathlib/MeasureTheory/Integral/CircleIntegral.lean b/Mathlib/MeasureTheory/Integral/CircleIntegral.lean index fc077144bb1a68..88df7b4d6fc57f 100644 --- a/Mathlib/MeasureTheory/Integral/CircleIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/CircleIntegral.lean @@ -344,7 +344,6 @@ def circleIntegral (f : ℂ → E) (c : ℂ) (R : ℝ) : E := /-- `∮ z in C(c, R), f z` is the circle integral $\oint_{|z-c|=R} f(z)\,dz$. -/ notation3 "∮ "(...)" in ""C("c", "R")"", "r:60:(scoped f => circleIntegral f c R) => r -set_option backward.isDefEq.respectTransparency false in theorem circleIntegral_def_Icc (f : ℂ → E) (c : ℂ) (R : ℝ) : (∮ z in C(c, R), f z) = ∫ θ in Icc 0 (2 * π), deriv (circleMap c R) θ • f (circleMap c R θ) := by diff --git a/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean b/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean index 7160b8f205f876..2dd98836694a04 100644 --- a/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean +++ b/Mathlib/MeasureTheory/Integral/DivergenceTheorem.lean @@ -250,7 +250,6 @@ local notation "face " i => Set.Icc (a ∘ Fin.succAbove i) (b ∘ Fin.succAbove local notation:max "frontFace " i:arg => Fin.insertNth i (b i) local notation:max "backFace " i:arg => Fin.insertNth i (a i) -set_option backward.isDefEq.respectTransparency false in /-- **Divergence theorem** for Bochner integral. If `f : ℝⁿ⁺¹ → Eⁿ⁺¹` is continuous on a rectangular box `[a, b] : Set ℝⁿ⁺¹`, `a ≤ b`, is differentiable on its interior with derivative `f' : ℝⁿ⁺¹ → ℝⁿ⁺¹ →L[ℝ] Eⁿ⁺¹` and the divergence `fun x ↦ ∑ i, f' x eᵢ i` is integrable on `[a, b]`, @@ -364,7 +363,6 @@ open ContinuousLinearMap (smulRight) local macro:arg t:term:max noWs "¹" : term => `(Fin 1 → $t) local macro:arg t:term:max noWs "²" : term => `(Fin 2 → $t) -set_option backward.isDefEq.respectTransparency false in /-- **Fundamental theorem of calculus, part 2**. This version assumes that `f` is continuous on the interval and is differentiable off a countable set `s`. @@ -420,7 +418,6 @@ theorem integral_eq_of_hasDerivAt_off_countable [CompleteSpace E] (f f' : ℝ rw [intervalIntegral.integral_symm, neg_eq_iff_eq_neg, neg_sub] exact integral_eq_of_hasDerivAt_off_countable_of_le f f' hab hs Hc Hd Hi.symm -set_option backward.isDefEq.respectTransparency false in /-- **Divergence theorem** for functions on the plane along rectangles. It is formulated in terms of two functions `f g : ℝ × ℝ → E` and an integral over `Icc a b = [a.1, b.1] × [a.2, b.2]`, where `a b : ℝ × ℝ`, `a ≤ b`. When thinking of `f` and `g` as the two coordinates of a single function @@ -497,7 +494,6 @@ theorem integral_divergence_prod_Icc_of_hasFDerivAt_of_le (f g : ℝ × ℝ → integral_divergence_prod_Icc_of_hasFDerivAt_off_countable_of_le f g f' g' a b hle ∅ (by simp) Hcf Hcg (by simpa only [diff_empty]) (by simpa only [diff_empty]) Hi -set_option backward.isDefEq.respectTransparency false in /-- **Divergence theorem** for functions on the plane. It is formulated in terms of two functions `f g : ℝ × ℝ → E` and iterated integral `∫ x in a₁..b₁, ∫ y in a₂..b₂, _`, where `a₁ a₂ b₁ b₂ : ℝ`. When thinking of `f` and `g` as the two coordinates of a single function diff --git a/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean b/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean index 6d1e6f1944e643..a89c866f68c609 100644 --- a/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean +++ b/Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean @@ -560,7 +560,6 @@ theorem integrableOn_Ioi_of_intervalIntegral_norm_tendsto (I a : ℝ) let ⟨I', hI'⟩ := h.isBoundedUnder_le integrableOn_Ioi_of_intervalIntegral_norm_bounded I' a hfi hb hI' -set_option backward.isDefEq.respectTransparency false in theorem integrableOn_Ioc_of_intervalIntegral_norm_bounded {I a₀ b₀ : ℝ} (hfi : ∀ i, IntegrableOn f <| Ioc (a i) (b i)) (ha : Tendsto a l <| 𝓝 a₀) (hb : Tendsto b l <| 𝓝 b₀) (h : ∀ᶠ i in l, (∫ x in Ioc (a i) (b i), ‖f x‖) ≤ I) : @@ -633,7 +632,6 @@ section IoiFTC variable {E : Type*} {f f' : ℝ → E} {g g' : ℝ → ℝ} {a l : ℝ} {m : E} [NormedAddCommGroup E] [NormedSpace ℝ E] -set_option backward.isDefEq.respectTransparency false in /-- If the derivative of a function defined on the real line is integrable close to `+∞`, then the function has a limit at `+∞`. -/ theorem tendsto_limUnder_of_hasDerivAt_of_integrableOn_Ioi [CompleteSpace E] @@ -1082,7 +1080,6 @@ theorem integral_comp_rpow_Ioi_of_pos {g : ℝ → E} {p : ℝ} (hp : 0 < p) : convert integral_comp_rpow_Ioi g hp.ne' rw [abs_of_nonneg hp.le] -set_option backward.isDefEq.respectTransparency false in theorem integral_comp_mul_left_Ioi (g : ℝ → E) (a : ℝ) {b : ℝ} (hb : 0 < b) : (∫ x in Ioi a, g (b * x)) = b⁻¹ • ∫ x in Ioi (b * a), g x := by have : ∀ c : ℝ, MeasurableSet (Ioi c) := fun c => measurableSet_Ioi @@ -1139,7 +1136,6 @@ theorem integrableOn_Ioi_comp_rpow_iff' [NormedSpace ℝ E] (f : ℝ → E) {p : simpa only [← integrableOn_Ioi_comp_rpow_iff f hp, mul_smul] using (integrable_smul_iff (abs_pos.mpr hp).ne' _).symm -set_option backward.isDefEq.respectTransparency false in theorem integrableOn_Ioi_comp_mul_left_iff (f : ℝ → E) (c : ℝ) {a : ℝ} (ha : 0 < a) : IntegrableOn (fun x => f (a * x)) (Ioi c) ↔ IntegrableOn f (Ioi <| a * c) := by rw [← integrable_indicator_iff (measurableSet_Ioi : MeasurableSet <| Ioi c)] diff --git a/Mathlib/MeasureTheory/Integral/IntervalAverage.lean b/Mathlib/MeasureTheory/Integral/IntervalAverage.lean index b837c23c2ed41d..f6035dd8e7a21b 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalAverage.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalAverage.lean @@ -49,7 +49,6 @@ notation3 "⨍ "(...)" in "a".."b", theorem interval_average_symm (f : ℝ → E) (a b : ℝ) : (⨍ x in a..b, f x) = ⨍ x in b..a, f x := by rw [setAverage_eq, setAverage_eq, uIoc_comm] -set_option backward.isDefEq.respectTransparency false in theorem interval_average_eq (f : ℝ → E) (a b : ℝ) : (⨍ x in a..b, f x) = (b - a)⁻¹ • ∫ x in a..b, f x := by rcases le_or_gt a b with h | h diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean index 2476e13ac334b2..ea65697b6e37cb 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Basic.lean @@ -850,7 +850,6 @@ section Comp variable {a b c d : ℝ} (f : ℝ → E) -set_option backward.isDefEq.respectTransparency false in @[simp] theorem integral_comp_mul_right (hc : c ≠ 0) : (∫ x in a..b, f (x * c)) = c⁻¹ • ∫ x in a * c..b * c, f x := by diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean index b9d609b5b663cc..feec94bf533f67 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/DerivIntegrable.lean @@ -33,7 +33,6 @@ open MeasureTheory Set Filter open scoped Topology -set_option backward.isDefEq.respectTransparency false in /-- If `f` is monotone on `[a, b]`, then `f'` is the limit of `G n` a.e. on `[a, b]`, where each `G n` is `AEStronglyMeasurable` and the liminf of the lower Lebesgue integral of `‖G n ·‖ₑ` is at most `f b - f a`. -/ @@ -97,7 +96,6 @@ theorem MonotoneOn.intervalIntegrable_deriv {f : ℝ → ℝ} {a b : ℝ} have integrable_f_deriv := integrable_of_tendsto hGf hG hG'₀ exact (intervalIntegrable_iff_integrableOn_Icc_of_le hab).mpr integrable_f_deriv -set_option backward.isDefEq.respectTransparency false in /-- If `f` is monotone on `a..b`, then `f'` is interval integrable on `a..b` and the integral of `f'` on `a..b` is in between `0` and `f b - f a`. -/ theorem MonotoneOn.intervalIntegral_deriv_mem_uIcc {f : ℝ → ℝ} {a b : ℝ} diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean index 871d402dc2278a..350d0e8384f639 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/FundThmCalculus.lean @@ -967,7 +967,6 @@ section FTC2 variable {g' g φ : ℝ → ℝ} {a b : ℝ} -set_option backward.isDefEq.respectTransparency false in /-- Hard part of FTC-2 for integrable derivatives, real-valued functions: one has `g b - g a ≤ ∫ y in a..b, g' y` when `g'` is integrable. Auxiliary lemma in the proof of `integral_eq_sub_of_hasDeriv_right_of_le`. @@ -1219,7 +1218,6 @@ lemma integral_unitInterval_deriv_eq_sub [RCLike 𝕜] [NormedSpace 𝕜 E] [IsS ### Automatic integrability for nonnegative derivatives -/ -set_option backward.isDefEq.respectTransparency false in /-- When the right derivative of a function is nonnegative, then it is automatically integrable. -/ theorem integrableOn_deriv_right_of_nonneg (hcont : ContinuousOn g (Icc a b)) (hderiv : ∀ x ∈ Ioo a b, HasDerivWithinAt g (g' x) (Ioi x) x) diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean index 790140768e162b..1d2fcad006262c 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/IntegrationByParts.lean @@ -230,7 +230,6 @@ section SMul variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {f f' : ℝ → ℝ} {g g' : ℝ → E} -set_option backward.isDefEq.respectTransparency false in /-- Change of variables, general form. If `f` is continuous on `[a, b]` and has right-derivative `f'` in `(a, b)`, `g` is continuous on `f '' (a, b)` and integrable on `f '' [a, b]`, and `f' x • (g ∘ f) x` is integrable on `[a, b]`, diff --git a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean index 68f05957e3c56d..6c14ae95b215e1 100644 --- a/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean +++ b/Mathlib/MeasureTheory/Integral/IntervalIntegral/Periodic.lean @@ -162,7 +162,6 @@ lemma measurePreserving_equivIoc {a : ℝ} : congr! with hx rw [equivIoc_coe_eq hx] -set_option backward.isDefEq.respectTransparency false in attribute [local instance] Subtype.measureSpace in /-- The lower integral of a function over `AddCircle T` is equal to the lower integral over an interval (t, t + T] in `ℝ` of its lift to `ℝ`. -/ @@ -185,7 +184,6 @@ protected theorem lintegral_preimage (t : ℝ) (f : AddCircle T → ℝ≥0∞) variable {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] -set_option backward.isDefEq.respectTransparency false in attribute [local instance] Subtype.measureSpace in /-- The integral of an almost-everywhere strongly measurable function over `AddCircle T` is equal to the integral over an interval (t, t + T] in `ℝ` of its lift to `ℝ`. -/ @@ -202,7 +200,6 @@ protected theorem integral_preimage (t : ℝ) (f : AddCircle T → E) : rw [← map_map AddCircle.measurable_mk' measurable_subtype_coe, ← map_comap_subtype_coe m] rfl -set_option backward.isDefEq.respectTransparency false in /-- The integral of an almost-everywhere strongly measurable function over `AddCircle T` is equal to the integral over an interval (t, t + T] in `ℝ` of its lift to `ℝ`. -/ protected theorem intervalIntegral_preimage (t : ℝ) (f : AddCircle T → E) : diff --git a/Mathlib/MeasureTheory/Integral/Layercake.lean b/Mathlib/MeasureTheory/Integral/Layercake.lean index f59a3230d840cf..eff92dc79ba712 100644 --- a/Mathlib/MeasureTheory/Integral/Layercake.lean +++ b/Mathlib/MeasureTheory/Integral/Layercake.lean @@ -97,7 +97,6 @@ section Layercake variable {α : Type*} [MeasurableSpace α] {f : α → ℝ} {g : ℝ → ℝ} -set_option backward.isDefEq.respectTransparency false in /-- An auxiliary version of the layer cake formula (Cavalieri's principle, tail probability formula), with a measurability assumption that would also essentially follow from the integrability assumptions, and a sigma-finiteness assumption. @@ -184,7 +183,6 @@ theorem lintegral_comp_eq_lintegral_meas_le_mul_of_measurable_of_sigmaFinite exact (ENNReal.measurable_ofReal.comp (g_mble.comp measurable_snd)).aemeasurable.indicator₀ mble₀.nullMeasurableSet -set_option backward.isDefEq.respectTransparency false in /-- An auxiliary version of the layer cake formula (Cavalieri's principle, tail probability formula), with a measurability assumption that would also essentially follow from the integrability assumptions. diff --git a/Mathlib/MeasureTheory/Integral/Prod.lean b/Mathlib/MeasureTheory/Integral/Prod.lean index 45e0ad2128eaf3..184104dac5a778 100644 --- a/Mathlib/MeasureTheory/Integral/Prod.lean +++ b/Mathlib/MeasureTheory/Integral/Prod.lean @@ -533,7 +533,6 @@ theorem integral_integral_swap ⦃f : α → β → E⦄ (hf : Integrable (uncur ∫ x, ∫ y, f x y ∂ν ∂μ = ∫ y, ∫ x, f x y ∂μ ∂ν := (integral_integral hf).trans (integral_prod_symm _ hf) -set_option backward.isDefEq.respectTransparency false in /-- Change the order of integration, when one of the integrals is an interval integral. -/ lemma intervalIntegral_integral_swap {a b : ℝ} {f : ℝ → α → E} (h_int : Integrable (uncurry f) ((volume.restrict (Set.uIoc a b)).prod μ)) : diff --git a/Mathlib/MeasureTheory/Integral/SetToL1.lean b/Mathlib/MeasureTheory/Integral/SetToL1.lean index 06f27d6e862c5b..6eeec80719a1e8 100644 --- a/Mathlib/MeasureTheory/Integral/SetToL1.lean +++ b/Mathlib/MeasureTheory/Integral/SetToL1.lean @@ -485,7 +485,6 @@ theorem setToL1_add_left' (hT : DominatedFinMeasAdditive μ T C) apply setToL1_unique hT'' (A := setToL1 hT + setToL1 hT') _ f simp [setToL1_eq_setToL1SCLM, setToL1_eq_setToL1SCLM, setToL1SCLM_add_left' hT hT' hT'' h_add] -set_option backward.isDefEq.respectTransparency false in theorem setToL1_smul_left (hT : DominatedFinMeasAdditive μ T C) (c : ℝ) (f : α →₁[μ] E) : setToL1 (hT.smul c) f = c • setToL1 hT f := by apply setToL1_unique (hT.smul c) (A := c • setToL1 hT) _ f diff --git a/Mathlib/MeasureTheory/Integral/TorusIntegral.lean b/Mathlib/MeasureTheory/Integral/TorusIntegral.lean index 9c78b1787802a9..b089caad6bd333 100644 --- a/Mathlib/MeasureTheory/Integral/TorusIntegral.lean +++ b/Mathlib/MeasureTheory/Integral/TorusIntegral.lean @@ -210,7 +210,6 @@ theorem torusIntegral_dim1 (f : ℂ¹ → E) (c : ℂ¹) (R : ℝ¹) : (MeasurableEquiv.measurableEmbedding _), H₁, H₂] simp [circleMap_zero] -set_option backward.isDefEq.respectTransparency false in /-- Recurrent formula for `torusIntegral`, see also `torusIntegral_succ`. -/ theorem torusIntegral_succAbove {f : ℂⁿ⁺¹ → E} {c : ℂⁿ⁺¹} {R : ℝⁿ⁺¹} (hf : TorusIntegrable f c R) diff --git a/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean b/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean index 50f8596cec46a1..9fb6d319a2605e 100644 --- a/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean +++ b/Mathlib/MeasureTheory/Measure/Haar/Quotient.lean @@ -181,7 +181,6 @@ theorem MeasureTheory.Measure.IsMulLeftInvariant.quotientMeasureEqMeasurePreimag · exact trans hV.symm neTopV exact measurableSet_quotient.mp meas_V -set_option backward.isDefEq.respectTransparency false in /-- If a measure `μ` is left-invariant and satisfies the right scaling condition, then it satisfies `QuotientMeasureEqMeasurePreimage`. -/ @[to_additive /-- If a measure `μ` is diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean index 516a853a1acd34..3f7e1c918674cd 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean @@ -391,7 +391,6 @@ theorem smul_map_diagonal_volume_pi [DecidableEq ι] {D : ι → ℝ} (h : det ( ENNReal.ofReal_prod_of_nonneg fun i _ => abs_nonneg (D i), ← Finset.prod_mul_distrib] simp only [B] -set_option backward.isDefEq.respectTransparency false in /-- A transvection preserves Lebesgue measure. -/ theorem volume_preserving_transvectionStruct [DecidableEq ι] (t : TransvectionStruct ι ℝ) : MeasurePreserving (toLin' t.toMatrix) := by diff --git a/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean b/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean index c7f7352e08eb87..4cb3ccb004b5f6 100644 --- a/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean +++ b/Mathlib/MeasureTheory/Measure/Lebesgue/Integral.lean @@ -79,7 +79,6 @@ of finite integrals, see `intervalIntegral.integral_comp_neg`. -/ -set_option backward.isDefEq.respectTransparency false in @[simp] theorem integral_comp_neg_Iic {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] (c : ℝ) (f : ℝ → E) : (∫ x in Iic c, f (-x)) = ∫ x in Ioi (-c), f x := by @@ -95,7 +94,6 @@ theorem integral_comp_neg_Ioi {E : Type*} [NormedAddCommGroup E] [NormedSpace rw [← neg_neg c, ← integral_comp_neg_Iic] simp only [neg_neg] -set_option backward.isDefEq.respectTransparency false in theorem integral_comp_abs {f : ℝ → ℝ} : ∫ x, f |x| = 2 * ∫ x in Ioi (0 : ℝ), f x := by have eq : ∫ (x : ℝ) in Ioi 0, f |x| = ∫ (x : ℝ) in Ioi 0, f x := by diff --git a/Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean b/Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean index 3db18eeade5a0e..243d903453ad03 100644 --- a/Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean +++ b/Mathlib/ModelTheory/Arithmetic/Presburger/Definability.lean @@ -74,6 +74,7 @@ theorem IsSemilinearSet.definable [Finite α] (hs : IsSemilinearSet s) : namespace FirstOrder.Language.presburger +set_option backward.isDefEq.respectTransparency false in lemma term_realize_eq_add_dotProduct [Fintype α] (t : presburger[[A]].Term α) : ∃ (k : ℕ) (u : α → ℕ), ∀ (v : α → ℕ), t.realize v = k + u ⬝ᵥ v := by classical diff --git a/Mathlib/ModelTheory/Complexity.lean b/Mathlib/ModelTheory/Complexity.lean index 80967eaf1ed45b..a214a45df75c11 100644 --- a/Mathlib/ModelTheory/Complexity.lean +++ b/Mathlib/ModelTheory/Complexity.lean @@ -134,7 +134,6 @@ theorem IsPrenex.induction_on_all_not {P : ∀ {n}, L.BoundedFormula α n → Pr (hn : ∀ {m} {ψ : L.BoundedFormula α m}, P ψ → P ψ.not) : P φ := IsPrenex.recOn h hq (fun _ => ha) fun _ ih => hn (ha (hn ih)) -set_option backward.isDefEq.respectTransparency false in theorem IsPrenex.relabel {m : ℕ} {φ : L.BoundedFormula α m} (h : φ.IsPrenex) (f : α → β ⊕ (Fin n)) : (φ.relabel f).IsPrenex := IsPrenex.recOn h (fun h => (h.relabel f).isPrenex) (fun _ h => by simp [h.all]) diff --git a/Mathlib/ModelTheory/DirectLimit.lean b/Mathlib/ModelTheory/DirectLimit.lean index ae76e3c727bb84..094f3b8bd40e01 100644 --- a/Mathlib/ModelTheory/DirectLimit.lean +++ b/Mathlib/ModelTheory/DirectLimit.lean @@ -56,7 +56,6 @@ composing them. -/ def natLERec (m n : ℕ) (h : m ≤ n) : G' m ↪[L] G' n := Nat.leRecOn h (@fun k g => (f' k).comp g) (Embedding.refl L _) -set_option backward.isDefEq.respectTransparency false in @[simp] theorem coe_natLERec (m n : ℕ) (h : m ≤ n) : (natLERec f' m n h : G' m → G' n) = Nat.leRecOn h (@fun k => f' k) := by diff --git a/Mathlib/ModelTheory/Semantics.lean b/Mathlib/ModelTheory/Semantics.lean index dbf1a91d5a6fbf..b2262e4f3f75d0 100644 --- a/Mathlib/ModelTheory/Semantics.lean +++ b/Mathlib/ModelTheory/Semantics.lean @@ -365,7 +365,6 @@ theorem realize_mapTermRel_id [L'.Structure M] | imp _ _ ih1 ih2 => simp [mapTermRel, Realize, ih1, ih2] | all _ ih => simp only [mapTermRel, Realize, ih, id] -set_option backward.isDefEq.respectTransparency false in theorem realize_mapTermRel_add_castLe [L'.Structure M] {k : ℕ} {ft : ∀ n, L.Term (α ⊕ (Fin n)) → L'.Term (β ⊕ (Fin (k + n)))} {fr : ∀ n, L.Relations n → L'.Relations n} {n} {φ : L.BoundedFormula α n} @@ -384,7 +383,6 @@ theorem realize_mapTermRel_add_castLe [L'.Structure M] {k : ℕ} | imp _ _ ih1 ih2 => simp [mapTermRel, Realize, ih1, ih2] | all _ ih => simp [mapTermRel, Realize, ih, hv] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem realize_relabel {m n : ℕ} {φ : L.BoundedFormula α n} {g : α → β ⊕ (Fin m)} {v : β → M} {xs : Fin (m + n) → M} : diff --git a/Mathlib/ModelTheory/Syntax.lean b/Mathlib/ModelTheory/Syntax.lean index f51bed28a1d7e4..d35639ddf380b5 100644 --- a/Mathlib/ModelTheory/Syntax.lean +++ b/Mathlib/ModelTheory/Syntax.lean @@ -571,14 +571,12 @@ theorem relabel_imp (g : α → β ⊕ (Fin n)) {k} (φ ψ : L.BoundedFormula α theorem relabel_not (g : α → β ⊕ (Fin n)) {k} (φ : L.BoundedFormula α k) : φ.not.relabel g = (φ.relabel g).not := by simp [BoundedFormula.not] -set_option backward.isDefEq.respectTransparency false in @[simp] theorem relabel_all (g : α → β ⊕ (Fin n)) {k} (φ : L.BoundedFormula α (k + 1)) : φ.all.relabel g = (φ.relabel g).all := by rw [relabel, mapTermRel, relabel] simp -set_option backward.isDefEq.respectTransparency false in @[simp] theorem relabel_ex (g : α → β ⊕ (Fin n)) {k} (φ : L.BoundedFormula α (k + 1)) : φ.ex.relabel g = (φ.relabel g).ex := by simp [BoundedFormula.ex] diff --git a/Mathlib/NumberTheory/AbelSummation.lean b/Mathlib/NumberTheory/AbelSummation.lean index b92fb88dca05e2..b0743d015285f1 100644 --- a/Mathlib/NumberTheory/AbelSummation.lean +++ b/Mathlib/NumberTheory/AbelSummation.lean @@ -89,7 +89,6 @@ private theorem ineqofmemIco' {k : ℕ} (hk : k ∈ Ico (⌊a⌋₊ + 1) ⌊b⌋ a ≤ k ∧ k + 1 ≤ b := ineqofmemIco (by rwa [← Finset.coe_Ico]) -set_option backward.isDefEq.respectTransparency false in theorem _root_.integrableOn_mul_sum_Icc {m : ℕ} (ha : 0 ≤ a) {g : ℝ → 𝕜} (hg_int : IntegrableOn g (Set.Icc a b)) : IntegrableOn (fun t ↦ g t * ∑ k ∈ Icc m ⌊t⌋₊, c k) (Set.Icc a b) := by @@ -126,7 +125,6 @@ theorem _root_.integrableOn_mul_sum_Icc {m : ℕ} (ha : 0 ≤ a) {g : ℝ → · rw [Set.Icc_eq_empty_of_lt hab] exact integrableOn_empty -set_option backward.isDefEq.respectTransparency false in /-- Abel's summation formula. -/ theorem _root_.sum_mul_eq_sub_sub_integral_mul (ha : 0 ≤ a) (hab : a ≤ b) (hf_diff : ∀ t ∈ Set.Icc a b, DifferentiableAt ℝ f t) @@ -280,7 +278,6 @@ theorem locallyIntegrableOn_mul_sum_Icc {m : ℕ} (ha : 0 ≤ a) {g : ℝ → · rw [Set.not_nonempty_iff_eq_empty.mp hK₃] exact integrableOn_empty -set_option backward.isDefEq.respectTransparency false in theorem tendsto_sum_mul_atTop_nhds_one_sub_integral (hf_diff : ∀ t ∈ Set.Ici 0, DifferentiableAt ℝ f t) (hf_int : LocallyIntegrableOn (deriv f) (Set.Ici 0)) {l : 𝕜} @@ -300,7 +297,6 @@ theorem tendsto_sum_mul_atTop_nhds_one_sub_integral rw [sum_mul_eq_sub_integral_mul' _ _ (fun t ht ↦ hf_diff _ ht.1)] exact hf_int.integrableOn_compact_subset Set.Icc_subset_Ici_self isCompact_Icc -set_option backward.isDefEq.respectTransparency false in theorem tendsto_sum_mul_atTop_nhds_one_sub_integral₀ (hc : c 0 = 0) (hf_diff : ∀ t ∈ Set.Ici 1, DifferentiableAt ℝ f t) (hf_int : LocallyIntegrableOn (deriv f) (Set.Ici 1)) {l : 𝕜} diff --git a/Mathlib/NumberTheory/BernoulliPolynomials.lean b/Mathlib/NumberTheory/BernoulliPolynomials.lean index 847c69bfd3a6f3..ee10f9794617ba 100644 --- a/Mathlib/NumberTheory/BernoulliPolynomials.lean +++ b/Mathlib/NumberTheory/BernoulliPolynomials.lean @@ -145,7 +145,7 @@ nonrec theorem sum_bernoulli (n : ℕ) : · skip · rw [← Nat.cast_mul, choose_mul (le_add_right _ _), Nat.cast_mul, add_tsub_cancel_left, mul_assoc, mul_comm, ← smul_eq_mul, ← smul_monomial] - simp_rw [← sum_smul] + simp_rw [← sum_smul, Nat.sub_zero] rw [sum_range_succ_comm] simp only [add_eq_left, mul_one, cast_one, cast_add, add_tsub_cancel_left, choose_succ_self_right, one_smul, _root_.bernoulli_zero, sum_singleton, zero_add, diff --git a/Mathlib/NumberTheory/LSeries/SumCoeff.lean b/Mathlib/NumberTheory/LSeries/SumCoeff.lean index 5e3c14f8908286..6bc638c8029a9b 100644 --- a/Mathlib/NumberTheory/LSeries/SumCoeff.lean +++ b/Mathlib/NumberTheory/LSeries/SumCoeff.lean @@ -170,7 +170,6 @@ variable {f : ℕ → ℂ} {l : ℂ} section lemmas -set_option backward.isDefEq.respectTransparency false in private theorem lemma₁ (hlim : Tendsto (fun n : ℕ ↦ (∑ k ∈ Icc 1 n, f k) / n) atTop (𝓝 l)) {s : ℝ} (hs : 1 < s) : IntegrableOn (fun t : ℝ ↦ (∑ k ∈ Icc 1 ⌊t⌋₊, f k) * (t : ℂ) ^ (-(s : ℂ) - 1)) (Set.Ici 1) := by diff --git a/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean b/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean index 06b9b8fbe18958..c3608e345c4504 100644 --- a/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean +++ b/Mathlib/NumberTheory/LegendreSymbol/GaussEisensteinLemmas.lean @@ -205,7 +205,7 @@ theorem sum_mul_div_add_sum_mul_div_eq_mul (p q : ℕ) [hp : Fact p.Prime] (hq0 tauto rw [sum_Ico_eq_card_lt, sum_Ico_eq_card_lt, hswap, ← card_union_of_disjoint hdisj, hunion, card_product] - simp only [card_Ico, succ_sub_succ_eq_sub] + simp only [card_Ico, succ_sub_succ_eq_sub, Nat.sub_zero] set_option backward.isDefEq.respectTransparency false in /-- **Eisenstein's lemma** -/ diff --git a/Mathlib/NumberTheory/LocalField/Basic.lean b/Mathlib/NumberTheory/LocalField/Basic.lean index 0611b4b1e6a3d4..b44947ac3b6490 100644 --- a/Mathlib/NumberTheory/LocalField/Basic.lean +++ b/Mathlib/NumberTheory/LocalField/Basic.lean @@ -64,7 +64,6 @@ instance : IsTopologicalDivisionRing K := by haveI := isUniformAddGroup_of_addCommGroup (G := K) infer_instance -set_option backward.isDefEq.respectTransparency false in lemma isCompact_closedBall (γ : ValueGroupWithZero K) : IsCompact { x | valuation K x ≤ γ } := by obtain ⟨γ, rfl⟩ := ValuativeRel.valuation_surjective γ by_cases hγ : γ = 0 diff --git a/Mathlib/NumberTheory/LucasLehmer.lean b/Mathlib/NumberTheory/LucasLehmer.lean index d029f720d02894..d6de6aeb282cb6 100644 --- a/Mathlib/NumberTheory/LucasLehmer.lean +++ b/Mathlib/NumberTheory/LucasLehmer.lean @@ -399,7 +399,6 @@ instance : CharP (X q) q where instance : Coe (ZMod ↑q) (X q) where coe := ZMod.castHom dvd_rfl (X q) -set_option backward.isDefEq.respectTransparency false in /-- If `3` is not a square mod `q` then `(1 + α) ^ q = 1 - α` -/ lemma one_add_α_pow_q [Fact q.Prime] (odd : Odd q) (leg3 : legendreSym q 3 = -1) : (1 + α : X q) ^ q = 1 - α := by diff --git a/Mathlib/NumberTheory/ModularForms/Basic.lean b/Mathlib/NumberTheory/ModularForms/Basic.lean index dc8c6b16728579..0d2341ab6213e4 100644 --- a/Mathlib/NumberTheory/ModularForms/Basic.lean +++ b/Mathlib/NumberTheory/ModularForms/Basic.lean @@ -288,7 +288,6 @@ theorem IsGLPos.smul_apply (f : ModularForm Γ k) (n : α) (z : ℍ) : (n • f) end -set_option backward.isDefEq.respectTransparency false in instance instNeg : Neg (ModularForm Γ k) := ⟨fun f => { toSlashInvariantForm := -f.1 @@ -483,7 +482,6 @@ theorem IsGLPos.smul_apply (f : CuspForm Γ k) (n : α) {z : ℍ} : (n • f) z end -set_option backward.isDefEq.respectTransparency false in instance instNeg : Neg (CuspForm Γ k) := ⟨fun f => { toSlashInvariantForm := -f.1 diff --git a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean index 31f25be3064711..153d94a68aa878 100644 --- a/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean +++ b/Mathlib/NumberTheory/ModularForms/EisensteinSeries/E2/Transform.lean @@ -195,7 +195,6 @@ lemma G2_T_transform : G2 ∣[(2 : ℤ)] T = G2 := by simp [G2_eq_tsum_cexp, T, denom_apply, ← exp_periodic.nat_mul 1 (2 * π * I * z)] grind -set_option backward.isDefEq.respectTransparency false in lemma G2_slash_action (γ : SL(2, ℤ)) : G2 ∣[(2 : ℤ)] γ = G2 - D2 γ := by have : γ ∈ Subgroup.closure {S, T} := by simp [SpecialLinearGroup.SL2Z_generators] induction this using Subgroup.closure_induction with diff --git a/Mathlib/NumberTheory/ModularForms/NormTrace.lean b/Mathlib/NumberTheory/ModularForms/NormTrace.lean index 3dd58df0e67836..406cd16c780cdd 100644 --- a/Mathlib/NumberTheory/ModularForms/NormTrace.lean +++ b/Mathlib/NumberTheory/ModularForms/NormTrace.lean @@ -49,7 +49,6 @@ lemma quotientFunc_smul {h} (hh : h ∈ ℋ) (q : 𝒬) : variable (ℋ) [𝒢.IsFiniteRelIndex ℋ] -set_option backward.isDefEq.respectTransparency false in /-- The trace of a slash-invariant form, as a slash-invariant form. -/ @[simps! -fullyApplied] protected def trace : SlashInvariantForm ℋ k where @@ -78,7 +77,6 @@ section ModularForm variable (ℋ) [𝒢.IsFiniteRelIndex ℋ] -set_option backward.isDefEq.respectTransparency false in /-- The trace of a modular form, as a modular form. -/ @[simps! -fullyApplied] protected def ModularForm.trace [ModularFormClass F 𝒢 k] : ModularForm ℋ k where @@ -91,7 +89,6 @@ protected def ModularForm.trace [ModularFormClass F 𝒢 k] : ModularForm ℋ k refine .sum (Quotient.forall.mpr fun ⟨r, hr⟩ _ ↦ (translate f _).bdd_at_cusps' ?_ γ rfl) simpa using h.of_isFiniteRelIndex_conj hr -set_option backward.isDefEq.respectTransparency false in /-- The trace of a cusp form, as a cusp form. -/ @[simps! -fullyApplied] protected def CuspForm.trace [CuspFormClass F 𝒢 k] : CuspForm ℋ k where @@ -122,7 +119,6 @@ protected def ModularForm.norm [ℋ.HasDetPlusMinusOne] [ModularFormClass F 𝒢 refine .finsetProd (Quotient.forall.mpr fun ⟨r, hr⟩ _ ↦ (translate f _).bdd_at_cusps' ?_ γ rfl) simpa using h.of_isFiniteRelIndex_conj hr -set_option backward.isDefEq.respectTransparency false in variable {f} in lemma ModularForm.norm_ne_zero [ℋ.HasDetPlusMinusOne] [ModularFormClass F 𝒢 k] (hf : (f : ℍ → ℂ) ≠ 0) : ModularForm.norm ℋ f ≠ 0 := by diff --git a/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean b/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean index c8df47b7e18a74..330a77dfa150e5 100644 --- a/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean +++ b/Mathlib/NumberTheory/ModularForms/SlashInvariantForms.lean @@ -180,7 +180,6 @@ theorem smul_applyℝ (f : SlashInvariantForm Γ k) (n : α) (z : ℍ) : end smulℝ -set_option backward.isDefEq.respectTransparency false in instance instNeg : Neg (SlashInvariantForm Γ k) := ⟨fun f => { toFun := -f diff --git a/Mathlib/NumberTheory/Multiplicity.lean b/Mathlib/NumberTheory/Multiplicity.lean index 847b4d9d50db39..50763182de255c 100644 --- a/Mathlib/NumberTheory/Multiplicity.lean +++ b/Mathlib/NumberTheory/Multiplicity.lean @@ -55,9 +55,9 @@ theorem sq_dvd_add_pow_sub_sub (p x : R) (n : ℕ) : p ^ 2 ∣ (x + p) ^ n - x ^ (n - 1) * p * n - x ^ n := by rcases n with - | n · simp only [pow_zero, Nat.cast_zero, sub_zero, sub_self, dvd_zero, mul_zero] - · simp only [Nat.succ_sub_succ_eq_sub, Nat.cast_succ, add_pow, Finset.sum_range_succ, - Nat.choose_self, tsub_self, pow_one, Nat.choose_succ_self_right, pow_zero, - mul_one, Nat.cast_zero, zero_add, add_tsub_cancel_left] + · simp only [add_pow, sum_range_succ, add_tsub_cancel_left, pow_one, Nat.choose_succ_self_right, + Nat.cast_succ, tsub_self, pow_zero, mul_one, Nat.choose_self, Nat.cast_zero, zero_add, + Nat.succ_sub_succ_eq_sub, Nat.sub_zero] suffices p ^ 2 ∣ ∑ i ∈ range n, x ^ i * p ^ (n + 1 - i) * ↑((n + 1).choose i) by convert this; abel apply Finset.dvd_sum diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean index 1df96c940fbe01..803cbf031bd42c 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/Basic.lean @@ -143,7 +143,6 @@ theorem latticeBasis_apply [NumberField K] (i : Free.ChooseBasisIndex ℤ (𝓞 simp [latticeBasis, integralBasis_apply, coe_basisOfPiSpaceOfLinearIndependent, Function.comp_apply, Equiv.apply_symm_apply] -set_option backward.isDefEq.respectTransparency false in theorem mem_span_latticeBasis [NumberField K] {x : (K →+* ℂ) → ℂ} : x ∈ Submodule.span ℤ (Set.range (latticeBasis K)) ↔ x ∈ ((canonicalEmbedding K).comp (algebraMap (𝓞 K) K)).range := by diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean index a71627c83ef502..2b822a23d1874c 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/FundamentalCone.lean @@ -246,7 +246,6 @@ theorem torsion_smul_mem_of_mem (hx : x ∈ fundamentalCone K) {ζ : (𝓞 K)ˣ} · rw [Set.mem_setOf_eq, unitSMul_smul, map_mul, norm_unit, one_mul] exact hx.2 -set_option backward.isDefEq.respectTransparency false in theorem unit_smul_mem_iff_mem_torsion (hx : x ∈ fundamentalCone K) (u : (𝓞 K)ˣ) : u • x ∈ fundamentalCone K ↔ u ∈ torsion K := by classical diff --git a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean index daebfe3f3fd266..ccda00cd5a715f 100644 --- a/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean +++ b/Mathlib/NumberTheory/NumberField/CanonicalEmbedding/NormLeOne.lean @@ -584,7 +584,6 @@ theorem hasFDerivAt_expMapBasis (x : realSpace K) : change HasFDerivAt (expMap ∘ (completeBasis K).equivFunL.symm) (fderiv_expMapBasis K x) x exact (hasFDerivAt_expMap _).comp x (completeBasis K).equivFunL.symm.hasFDerivAt -set_option backward.isDefEq.respectTransparency false in open Classical ContinuousLinearMap in theorem abs_det_fderiv_expMapBasis (x : realSpace K) : |(fderiv_expMapBasis K x).det| = @@ -699,7 +698,6 @@ theorem closure_paramSet_ae_interior : closure (paramSet K) =ᵐ[volume] interio · exact Iio_ae_eq_Iic.symm · exact Ioo_ae_eq_Icc.symm -set_option backward.isDefEq.respectTransparency false in theorem setLIntegral_paramSet_exp {n : ℕ} (hn : 0 < n) : ∫⁻ (x : realSpace K) in paramSet K, .ofReal (Real.exp (x w₀ * n)) = (n : ℝ≥0∞)⁻¹ := by classical diff --git a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean index 06c58876a20c27..e180f36ac0df68 100644 --- a/Mathlib/NumberTheory/NumberField/FinitePlaces.lean +++ b/Mathlib/NumberTheory/NumberField/FinitePlaces.lean @@ -182,7 +182,6 @@ lemma isFinitePlace_iff (v : AbsoluteValue K ℝ) : IsFinitePlace v ↔ ∃ w : FinitePlace K, w.val = v := ⟨fun H ↦ ⟨⟨v, H⟩, rfl⟩, fun ⟨w, hw⟩ ↦ hw ▸ w.isFinitePlace⟩ -set_option backward.isDefEq.respectTransparency false in /-- The norm of the image after the embedding associated to `v` is equal to the `v`-adic absolute value. -/ theorem FinitePlace.norm_def (x : WithVal (v.valuation K)) : ‖embedding v x‖ = adicAbv v x := by diff --git a/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean b/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean index 8e5c2d2fc3e853..e63adf8e9f56c9 100644 --- a/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean +++ b/Mathlib/NumberTheory/NumberField/Ideal/KummerDedekind.lean @@ -80,7 +80,6 @@ theorem exponent_eq_sInf : exponent θ = sInf {d : ℕ | 0 < d ∧ (d : 𝓞 K) variable [NumberField K] {θ : 𝓞 K} {p : ℕ} [Fact p.Prime] -set_option backward.isDefEq.respectTransparency false in /-- If `p` doesn't divide the exponent of `θ`, then `(ℤ / pℤ)[X] / (minpoly θ) ≃+* 𝓞 K / p(𝓞 K)`. -/ @@ -92,7 +91,6 @@ def ZModXQuotSpanEquivQuotSpan (hp : ¬ p ∣ exponent θ) : ((quotMapEquivQuotQuotMap (not_dvd_exponent_iff.mp hp).eq_top θ.isIntegral).symm.trans (quotientEquivAlgOfEq ℤ (by simp [map_span])).toRingEquiv)) -set_option backward.isDefEq.respectTransparency false in theorem ZModXQuotSpanEquivQuotSpan_mk_apply (hp : ¬ p ∣ exponent θ) (Q : ℤ[X]) : (ZModXQuotSpanEquivQuotSpan hp) (Ideal.Quotient.mk (span {map (Int.castRingHom (ZMod p)) (minpoly ℤ θ)}) @@ -186,7 +184,6 @@ theorem primesOverSpanEquivMonicFactorsMod_symm_apply (hp : ¬ p ∣ exponent θ rw [← primesOverSpanEquivMonicFactorsModAux_symm_apply] exact ((primesOverSpanEquivMonicFactorsModAux _).symm ⟨Q, hQ⟩).coe_prop⟩ := rfl -set_option backward.isDefEq.respectTransparency false in /-- The ideal corresponding to the class of `Q ∈ ℤ[X]` modulo `p` via `NumberField.Ideal.primesOverSpanEquivMonicFactorsMod` is spanned by `p` and `Q(θ)`. @@ -230,7 +227,6 @@ theorem inertiaDeg_primesOverSpanEquivMonicFactorsMod_symm_apply' (hp : ¬ p ∣ obtain ⟨S, rfl⟩ := (map_surjective _ (ZMod.ringHom_surjective (Int.castRingHom (ZMod p)))) Q rw [inertiaDeg_primesOverSpanEquivMonicFactorsMod_symm_apply] -set_option backward.isDefEq.respectTransparency false in /-- The ramification index of the ideal corresponding to the class of `Q ∈ ℤ[X]` modulo `p` via `NumberField.Ideal.primesOverSpanEquivMonicFactorsMod` is equal to the multiplicity of `Q mod p` in diff --git a/Mathlib/NumberTheory/Padics/WithVal.lean b/Mathlib/NumberTheory/Padics/WithVal.lean index 967606bd609e0f..0208df3bc4e697 100644 --- a/Mathlib/NumberTheory/Padics/WithVal.lean +++ b/Mathlib/NumberTheory/Padics/WithVal.lean @@ -168,7 +168,6 @@ theorem norm_rat_le_one_iff_padicValuation_le_one (p : ℕ) [Fact p.Prime] {x : refine ⟨fun h ↦ ?_, fun h ↦ Padic.norm_rat_le_one h⟩ simpa [Nat.Prime.coprime_iff_not_dvd Fact.out] using isUnit_iff.1 <| isUnit_den _ h -set_option backward.isDefEq.respectTransparency false in theorem withValUniformEquiv_norm_le_one_iff {p : ℕ} [Fact p.Prime] (x : (Rat.padicValuation p).Completion) : ‖Padic.withValUniformEquiv x‖ ≤ 1 ↔ Valued.v x ≤ 1 := by diff --git a/Mathlib/NumberTheory/Real/GoldenRatio.lean b/Mathlib/NumberTheory/Real/GoldenRatio.lean index 916dc25c5693fd..bb9086166d6259 100644 --- a/Mathlib/NumberTheory/Real/GoldenRatio.lean +++ b/Mathlib/NumberTheory/Real/GoldenRatio.lean @@ -282,7 +282,7 @@ lemma goldenRatio_mul_fib_succ_add_fib (n : ℕ) : φ * Nat.fib (n + 1) + Nat.fi calc _ = φ * (Nat.fib n) + φ ^ 2 * (Nat.fib (n + 1)) := by simp only [Nat.fib_add_one (Nat.succ_ne_zero n), Nat.succ_sub_succ_eq_sub, - Nat.cast_add, goldenRatio_sq]; ring + Nat.cast_add, goldenRatio_sq, Nat.sub_zero]; ring _ = φ * ((Nat.fib n) + φ * (Nat.fib (n + 1))) := by ring _ = φ ^ (n + 2) := by rw [add_comm, ih]; ring diff --git a/Mathlib/NumberTheory/SmoothNumbers.lean b/Mathlib/NumberTheory/SmoothNumbers.lean index f9d88576733c85..cac3a207b89729 100644 --- a/Mathlib/NumberTheory/SmoothNumbers.lean +++ b/Mathlib/NumberTheory/SmoothNumbers.lean @@ -445,7 +445,7 @@ lemma smoothNumbersUpTo_card_add_roughNumbersUpTo_card (N k : ℕ) : simp only [ne_eq, H, not_false_eq_true, true_and, or_not] rwa [Finset.filter_congr (s := Finset.range (succ N)) fun n _ ↦ hn' n] rw [Finset.filter_ne', Finset.card_erase_of_mem <| Finset.mem_range_succ_iff.mpr <| zero_le N] - simp only [Finset.card_range, succ_sub_succ_eq_sub] + simp only [Finset.card_range, succ_sub_succ_eq_sub, Nat.sub_zero] /-- A `k`-smooth number can be written as a square times a product of distinct primes `< k`. -/ lemma eq_prod_primes_mul_sq_of_mem_smoothNumbers {n k : ℕ} (h : n ∈ smoothNumbers k) : @@ -489,7 +489,7 @@ lemma smoothNumbersUpTo_card_le (N k : ℕ) : convert (Finset.card_le_card <| smoothNumbersUpTo_subset_image N k).trans <| Finset.card_image_le simp only [Finset.card_product, Finset.card_powerset, Finset.mem_range, zero_lt_succ, - Finset.card_erase_of_mem, Finset.card_range, succ_sub_succ_eq_sub] + Finset.card_erase_of_mem, Finset.card_range, succ_sub_succ_eq_sub, Nat.sub_zero] /-- The set of `k`-rough numbers `≤ N` can be written as the union of the sets of multiples `≤ N` of primes `k ≤ p ≤ N`. -/ diff --git a/Mathlib/Order/Birkhoff.lean b/Mathlib/Order/Birkhoff.lean index 607af8de7dc139..cebe87db08ae53 100644 --- a/Mathlib/Order/Birkhoff.lean +++ b/Mathlib/Order/Birkhoff.lean @@ -236,7 +236,6 @@ set_option backward.isDefEq.respectTransparency false in @[simp] lemma birkhoffSet_inf (a b : α) : birkhoffSet (a ⊓ b) = birkhoffSet a ∩ birkhoffSet b := by unfold OrderEmbedding.birkhoffSet; split <;> simp [eq_iff_true_of_subsingleton] -set_option backward.isDefEq.respectTransparency false in @[simp] lemma birkhoffSet_apply [OrderBot α] (a : α) : birkhoffSet a = OrderIso.lowerSetSupIrred a := by have : Subsingleton (OrderBot α) := inferInstance diff --git a/Mathlib/Order/CompleteSublattice.lean b/Mathlib/Order/CompleteSublattice.lean index cc664ffb8671b1..0b36f8921495e5 100644 --- a/Mathlib/Order/CompleteSublattice.lean +++ b/Mathlib/Order/CompleteSublattice.lean @@ -157,13 +157,11 @@ sublattice. -/ @[simp] theorem mem_comap {L : CompleteSublattice β} {a : α} : a ∈ L.comap f ↔ f a ∈ L := Iff.rfl -set_option backward.isDefEq.respectTransparency false in protected lemma disjoint_iff {a b : L} : Disjoint a b ↔ Disjoint (a : α) (b : α) := by rw [disjoint_iff, disjoint_iff, ← Sublattice.coe_inf, ← coe_bot (L := L), Subtype.coe_injective.eq_iff] -set_option backward.isDefEq.respectTransparency false in protected lemma codisjoint_iff {a b : L} : Codisjoint a b ↔ Codisjoint (a : α) (b : α) := by rw [codisjoint_iff, codisjoint_iff, ← Sublattice.coe_sup, ← coe_top (L := L), diff --git a/Mathlib/Probability/Distributions/Beta.lean b/Mathlib/Probability/Distributions/Beta.lean index c1bf42f6447094..9ae94b9abca27a 100644 --- a/Mathlib/Probability/Distributions/Beta.lean +++ b/Mathlib/Probability/Distributions/Beta.lean @@ -75,7 +75,6 @@ lemma betaPDF_of_pos_lt_one {α β x : ℝ} (hx_pos : 0 < x) (hx_lt : x < 1) : betaPDF α β x = ENNReal.ofReal ((1 / beta α β) * x ^ (α - 1) * (1 - x) ^ (β - 1)) := by rw [betaPDF_eq, if_pos ⟨hx_pos, hx_lt⟩] -set_option backward.isDefEq.respectTransparency false in lemma lintegral_betaPDF {α β : ℝ} : ∫⁻ x, betaPDF α β x = ∫⁻ (x : ℝ) in Ioo 0 1, ENNReal.ofReal (1 / beta α β * x ^ (α - 1) * (1 - x) ^ (β - 1)) := by diff --git a/Mathlib/Probability/Distributions/Exponential.lean b/Mathlib/Probability/Distributions/Exponential.lean index d5b94c5d65444f..23ededa9979c42 100644 --- a/Mathlib/Probability/Distributions/Exponential.lean +++ b/Mathlib/Probability/Distributions/Exponential.lean @@ -135,7 +135,6 @@ lemma exp_neg_integrableOn_Ioc {b x : ℝ} (hb : 0 < b) : simp only [neg_mul_eq_neg_mul] exact (exp_neg_integrableOn_Ioi _ hb).mono_set Ioc_subset_Ioi_self -set_option backward.isDefEq.respectTransparency false in lemma lintegral_exponentialPDF_eq_antiDeriv {r : ℝ} (hr : 0 < r) (x : ℝ) : ∫⁻ y in Iic x, exponentialPDF r y = ENNReal.ofReal (if 0 ≤ x then 1 - exp (-(r * x)) else 0) := by diff --git a/Mathlib/Probability/Distributions/Gamma.lean b/Mathlib/Probability/Distributions/Gamma.lean index 5b8e7559fca2a1..1702f38ff965d3 100644 --- a/Mathlib/Probability/Distributions/Gamma.lean +++ b/Mathlib/Probability/Distributions/Gamma.lean @@ -98,7 +98,6 @@ lemma gammaPDFReal_nonneg {a r : ℝ} (ha : 0 < a) (hr : 0 < r) (x : ℝ) : open Measure -set_option backward.isDefEq.respectTransparency false in /-- The pdf of the gamma distribution integrates to 1 -/ @[simp] lemma lintegral_gammaPDF_eq_one {a r : ℝ} (ha : 0 < a) (hr : 0 < r) : diff --git a/Mathlib/Probability/Distributions/Gaussian/Real.lean b/Mathlib/Probability/Distributions/Gaussian/Real.lean index 4a82f03b57cc52..caa04edaf6474c 100644 --- a/Mathlib/Probability/Distributions/Gaussian/Real.lean +++ b/Mathlib/Probability/Distributions/Gaussian/Real.lean @@ -246,7 +246,6 @@ lemma rnDeriv_gaussianReal (μ : ℝ) (v : ℝ≥0) : · rw [gaussianReal_of_var_ne_zero _ hv] exact Measure.rnDeriv_withDensity _ (measurable_gaussianPDF μ v) -set_option backward.isDefEq.respectTransparency false in lemma integral_gaussianReal_eq_integral_smul {E : Type*} [NormedAddCommGroup E] [NormedSpace ℝ E] {μ : ℝ} {v : ℝ≥0} {f : ℝ → E} (hv : v ≠ 0) : ∫ x, f x ∂(gaussianReal μ v) = ∫ x, gaussianPDFReal μ v x • f x := by diff --git a/Mathlib/Probability/Distributions/Uniform.lean b/Mathlib/Probability/Distributions/Uniform.lean index 138618825f3730..4330af285c5963 100644 --- a/Mathlib/Probability/Distributions/Uniform.lean +++ b/Mathlib/Probability/Distributions/Uniform.lean @@ -142,7 +142,6 @@ theorem pdf_toReal_ae_eq {X : Ω → E} {s : Set E} (hms : MeasurableSet s) variable {X : Ω → ℝ} {s : Set ℝ} -set_option backward.isDefEq.respectTransparency false in theorem mul_pdf_integrable (hcs : IsCompact s) (huX : IsUniform X s ℙ) : Integrable fun x : ℝ => x * (pdf X ℙ volume x).toReal := by by_cases hnt : volume s = 0 ∨ volume s = ∞ @@ -165,7 +164,6 @@ theorem mul_pdf_integrable (hcs : IsCompact s) (huX : IsUniform X s ℙ) : exact ENNReal.mul_ne_top (setLIntegral_lt_top_of_isCompact hnt.2 hcs continuous_nnnorm).ne (ENNReal.inv_lt_top.2 (pos_iff_ne_zero.mpr hnt.1)).ne -set_option backward.isDefEq.respectTransparency false in /-- A real uniform random variable `X` with support `s` has expectation `(λ s)⁻¹ * ∫ x in s, x ∂λ` where `λ` is the Lebesgue measure. -/ theorem integral_eq (huX : IsUniform X s ℙ) : diff --git a/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean b/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean index 0bd9cd9a5909ec..6e5973065cd8d6 100644 --- a/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean +++ b/Mathlib/Probability/Kernel/IonescuTulcea/Traj.lean @@ -184,7 +184,6 @@ instance [∀ n, IsProbabilityMeasure (μ n)] (I : Finset ℕ) : rw [inducedFamily] exact Measure.isProbabilityMeasure_map (measurable_restrict₂ _).aemeasurable -set_option backward.isDefEq.respectTransparency false in /-- Given a family of measures `μ : (n : ℕ) → Measure (Π i : Iic n, X i)`, the induced family equals `μ` over the intervals `Iic n`. -/ theorem inducedFamily_Iic (n : ℕ) : inducedFamily μ (Iic n) = μ n := by diff --git a/Mathlib/RepresentationTheory/FinGroupCharZero.lean b/Mathlib/RepresentationTheory/FinGroupCharZero.lean index 11a32994f5779f..014354e63df891 100644 --- a/Mathlib/RepresentationTheory/FinGroupCharZero.lean +++ b/Mathlib/RepresentationTheory/FinGroupCharZero.lean @@ -113,7 +113,6 @@ lemma simple_iff_end_is_rank_one [NeZero (Nat.card G : k)] (V : FDRep k G) : apply_fun (· ≫ g) at hc simpa [hg] using hc.symm -set_option backward.isDefEq.respectTransparency false in omit [Finite G] in /-- If `G` is finite and `k` an algebraically closed field of characteristic `0`, diff --git a/Mathlib/RepresentationTheory/FiniteIndex.lean b/Mathlib/RepresentationTheory/FiniteIndex.lean index 5e797c17d71312..7ed8b7c696d9e3 100644 --- a/Mathlib/RepresentationTheory/FiniteIndex.lean +++ b/Mathlib/RepresentationTheory/FiniteIndex.lean @@ -46,7 +46,6 @@ noncomputable def indToCoindAux (g : G) : A →ₗ[k] (G → A) := variable {A} -set_option backward.isDefEq.respectTransparency false in @[simp] lemma indToCoindAux_self (g : G) (a : A) : indToCoindAux A g a g = a := by @@ -58,7 +57,6 @@ lemma indToCoindAux_of_not_rel (g g₁ : G) (a : A) (h : ¬(QuotientGroup.rightR indToCoindAux A g a g₁ = 0 := by simp [indToCoindAux, dif_neg h] -set_option backward.isDefEq.respectTransparency false in @[simp] lemma indToCoindAux_mul_snd (g g₁ : G) (a : A) (s : S) : indToCoindAux A g a (s * g₁) = A.ρ s (indToCoindAux A g a g₁) := by @@ -69,7 +67,6 @@ lemma indToCoindAux_mul_snd (g g₁ : G) (a : A) (s : S) : · rw [indToCoindAux_of_not_rel _ _ _ h, indToCoindAux_of_not_rel, map_zero] exact mt (fun ⟨s₁, hs₁⟩ => ⟨s⁻¹ * s₁, by simp_all [S.1.smul_def, mul_assoc]⟩) h -set_option backward.isDefEq.respectTransparency false in @[simp] lemma indToCoindAux_mul_fst (g₁ g₂ : G) (a : A) (s : S) : indToCoindAux A (s * g₁) (A.ρ s a) g₂ = indToCoindAux A g₁ a g₂ := by @@ -82,7 +79,6 @@ lemma indToCoindAux_mul_fst (g₁ g₂ : G) (a : A) (s : S) : · rw [indToCoindAux_of_not_rel (h := h), indToCoindAux_of_not_rel] exact mt (fun ⟨s₁, hs₁⟩ => ⟨s₁ * s, by simp_all [S.1.smul_def, mul_assoc]⟩) h -set_option backward.isDefEq.respectTransparency false in @[simp] lemma indToCoindAux_snd_mul_inv (g₁ g₂ g₃ : G) (a : A) : indToCoindAux A g₁ a (g₂ * g₃⁻¹) = indToCoindAux A (g₁ * g₃) a g₂ := by @@ -116,7 +112,6 @@ variable [S.FiniteIndex] attribute [local instance] Subgroup.fintypeQuotientOfFiniteIndex -set_option backward.isDefEq.respectTransparency false in variable (A) in /-- Let `S ≤ G` be a finite index subgroup, `g₁, ..., gₙ` a set of right coset representatives of `S`, and `A` a `k`-linear `S`-representation. This is the `k`-linear map @@ -132,7 +127,6 @@ noncomputable def coindToInd : coind S.subtype A →ₗ[k] ind S.subtype A where map_smul' _ _ := by simpa [Finset.smul_sum] using Finset.sum_congr rfl fun z _ => Quotient.inductionOn z fun _ => by simp -set_option backward.isDefEq.respectTransparency false in omit [DecidableRel (QuotientGroup.rightRel S)] in lemma coindToInd_of_support_subset_orbit (g : G) (f : coind S.subtype A) (hx : f.1.support ⊆ MulAction.orbit S g) : diff --git a/Mathlib/RepresentationTheory/Tannaka.lean b/Mathlib/RepresentationTheory/Tannaka.lean index 8e3d511ad20e04..663317bd93cd47 100644 --- a/Mathlib/RepresentationTheory/Tannaka.lean +++ b/Mathlib/RepresentationTheory/Tannaka.lean @@ -139,7 +139,6 @@ lemma map_mul_toRightFDRepComp (η : Aut (forget k G)) (f g : G → k) : rw [tensor] at nat exact ConcreteCategory.congr_hom ((CategoryTheory.forget _).congr_map nat) (f ⊗ₜ[k] g) -set_option backward.isDefEq.respectTransparency false in /-- The `rightFDRep` component of `η : Aut (forget k G)` gives rise to an algebra morphism `(G → k) →ₐ[k] (G → k)`. -/ def algHomOfRightFDRepComp (η : Aut (forget k G)) : (G → k) →ₐ[k] (G → k) := by diff --git a/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean b/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean index f234b9e8e8bb05..4051edc6e11045 100644 --- a/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean +++ b/Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean @@ -61,9 +61,7 @@ def ofTensorProductBil : AdicCompletion I R →ₗ[AdicCompletion I R] M →ₗ[ simp map_smul' r x := by apply LinearMap.ext - intro y - ext n - simp [mul_smul (r.val n)] + simp @[simp] private lemma ofTensorProductBil_apply_apply (r : AdicCompletion I R) (x : M) : @@ -112,7 +110,6 @@ private lemma piEquivOfFintype_comp_ofTensorProduct_eq : simpa [Pi.single_apply, -smul_eq_mul] split <;> simp -set_option backward.isDefEq.respectTransparency false in private lemma ofTensorProduct_eq : ofTensorProduct I (ι → R) = (piEquivOfFintype I (ι := ι) (fun _ : ι ↦ R)).symm.toLinearMap ∘ₗ (TensorProduct.piScalarRight R (AdicCompletion I R) (AdicCompletion I R) ι).toLinearMap := by @@ -127,7 +124,6 @@ private def ofTensorProductInvOfPiFintype : letI g := (TensorProduct.piScalarRight R (AdicCompletion I R) (AdicCompletion I R) ι).symm f.trans g -set_option backward.isDefEq.respectTransparency false in set_option backward.privateInPublic true in private lemma ofTensorProductInvOfPiFintype_comp_ofTensorProduct : ofTensorProductInvOfPiFintype I ι ∘ₗ ofTensorProduct I (ι → R) = LinearMap.id := by @@ -135,7 +131,6 @@ private lemma ofTensorProductInvOfPiFintype_comp_ofTensorProduct : rw [LinearEquiv.coe_trans, LinearMap.comp_assoc, piEquivOfFintype_comp_ofTensorProduct_eq] simp -set_option backward.isDefEq.respectTransparency false in set_option backward.privateInPublic true in private lemma ofTensorProduct_comp_ofTensorProductInvOfPiFintype : ofTensorProduct I (ι → R) ∘ₗ ofTensorProductInvOfPiFintype I ι = LinearMap.id := by diff --git a/Mathlib/RingTheory/AdicCompletion/Functoriality.lean b/Mathlib/RingTheory/AdicCompletion/Functoriality.lean index a711fb643db2a0..8fc6e219a1a50f 100644 --- a/Mathlib/RingTheory/AdicCompletion/Functoriality.lean +++ b/Mathlib/RingTheory/AdicCompletion/Functoriality.lean @@ -133,7 +133,6 @@ private theorem adicCompletionAux_val_apply (f : M →ₗ[R] N) {n : ℕ} (x : A (adicCompletionAux I f x).val n = f.reduceModIdeal (I ^ n) (x.val n) := rfl -set_option backward.isDefEq.respectTransparency false in set_option backward.privateInPublic true in set_option backward.privateInPublic.warn false in /-- A linear map induces a map on adic completions. -/ diff --git a/Mathlib/RingTheory/Bialgebra/TensorProduct.lean b/Mathlib/RingTheory/Bialgebra/TensorProduct.lean index 7ff7252efeb5d8..90f4542d220ec0 100644 --- a/Mathlib/RingTheory/Bialgebra/TensorProduct.lean +++ b/Mathlib/RingTheory/Bialgebra/TensorProduct.lean @@ -42,7 +42,6 @@ lemma comul_eq_algHom_toLinearMap : (Bialgebra.comulAlgHom R B))).toLinearMap := rfl -set_option backward.isDefEq.respectTransparency false in noncomputable instance _root_.TensorProduct.instBialgebra : Bialgebra S (A ⊗[R] B) := by have hcounit := congr(DFunLike.coe $(counit_eq_algHom_toLinearMap R S A B)) have hcomul := congr(DFunLike.coe $(comul_eq_algHom_toLinearMap R S A B)) diff --git a/Mathlib/RingTheory/Coalgebra/Convolution.lean b/Mathlib/RingTheory/Coalgebra/Convolution.lean index 7fdec4e3b08e74..8537dc1c5a0ecf 100644 --- a/Mathlib/RingTheory/Coalgebra/Convolution.lean +++ b/Mathlib/RingTheory/Coalgebra/Convolution.lean @@ -78,7 +78,6 @@ instance convNonUnitalNonAssocSemiring : NonUnitalNonAssocSemiring (WithConv (C toConv (toSpanSingleton R A x) * toConv (toSpanSingleton R A y) = toConv (toSpanSingleton R A (x * y)) := by ext; simp -set_option backward.isDefEq.respectTransparency false in theorem _root_.TensorProduct.map_convMul_map {D : Type*} [AddCommMonoid B] [Module R B] [CoalgebraStruct R B] [NonUnitalNonAssocSemiring D] [Module R D] [SMulCommClass R D D] [IsScalarTower R D D] {f h : WithConv (C →ₗ[R] A)} {g k : WithConv (B →ₗ[R] D)} : diff --git a/Mathlib/RingTheory/Coalgebra/TensorProduct.lean b/Mathlib/RingTheory/Coalgebra/TensorProduct.lean index f1b272d6f3f471..7bc831897364f1 100644 --- a/Mathlib/RingTheory/Coalgebra/TensorProduct.lean +++ b/Mathlib/RingTheory/Coalgebra/TensorProduct.lean @@ -196,7 +196,6 @@ theorem map_toLinearMap (f : M →ₗc[S] N) (g : P →ₗc[R] Q) : variable (R S M N P) -set_option backward.isDefEq.respectTransparency false in /-- The associator for tensor products of R-coalgebras, as a coalgebra equivalence. -/ protected noncomputable def assoc : (M ⊗[S] N) ⊗[R] P ≃ₗc[S] M ⊗[S] (N ⊗[R] P) := @@ -228,7 +227,6 @@ theorem assoc_toLinearEquiv : variable (R P) -set_option backward.isDefEq.respectTransparency false in /-- The base ring is a left identity for the tensor product of coalgebras, up to coalgebra equivalence. -/ protected noncomputable def lid : R ⊗[R] P ≃ₗc[R] P := diff --git a/Mathlib/RingTheory/Conductor.lean b/Mathlib/RingTheory/Conductor.lean index d7f8e6cead79f5..c47d8a834747a9 100644 --- a/Mathlib/RingTheory/Conductor.lean +++ b/Mathlib/RingTheory/Conductor.lean @@ -117,7 +117,6 @@ theorem prod_mem_ideal_map_of_mem_conductor {p : R} {z : S} · intro y hy exact lem ((Finsupp.mem_supported _ l).mp H hy) -set_option backward.isDefEq.respectTransparency false in /-- A technical result telling us that `(I * S) ∩ R = I * R` for any ideal `I` of `R`. -/ theorem comap_map_eq_map_adjoin_of_coprime_conductor (hx : (conductor R x).comap (algebraMap R S) ⊔ I = ⊤) diff --git a/Mathlib/RingTheory/DedekindDomain/Different.lean b/Mathlib/RingTheory/DedekindDomain/Different.lean index 7d6f9293c094a1..3af382189ac338 100644 --- a/Mathlib/RingTheory/DedekindDomain/Different.lean +++ b/Mathlib/RingTheory/DedekindDomain/Different.lean @@ -142,7 +142,6 @@ open Submodule variable [IsFractionRing A K] -set_option backward.isDefEq.respectTransparency false in variable (A K) in lemma map_equiv_traceDual [IsDomain A] [IsFractionRing B L] [IsDomain B] [FaithfulSMul A B] (I : Submodule B (FractionRing B)) : diff --git a/Mathlib/RingTheory/Etale/StandardEtale.lean b/Mathlib/RingTheory/Etale/StandardEtale.lean index 09b5712cf6dcc5..8e125f3535a6dd 100644 --- a/Mathlib/RingTheory/Etale/StandardEtale.lean +++ b/Mathlib/RingTheory/Etale/StandardEtale.lean @@ -403,7 +403,6 @@ instance : IsStandardEtale R R := (by ext) (by ext; simp [this]) exact e.bijective⟩⟩⟩ -set_option backward.isDefEq.respectTransparency false in lemma IsStandardEtale.of_isLocalizationAway [IsStandardEtale R S] {Sₛ : Type*} [CommRing Sₛ] [Algebra S Sₛ] [Algebra R Sₛ] [IsScalarTower R S Sₛ] (s : S) [IsLocalization.Away s Sₛ] : diff --git a/Mathlib/RingTheory/Extension/Presentation/Submersive.lean b/Mathlib/RingTheory/Extension/Presentation/Submersive.lean index 7965783db6cc28..14825cc6db432c 100644 --- a/Mathlib/RingTheory/Extension/Presentation/Submersive.lean +++ b/Mathlib/RingTheory/Extension/Presentation/Submersive.lean @@ -136,7 +136,6 @@ set_option backward.isDefEq.respectTransparency false in lemma jacobian_eq_jacobiMatrix_det : P.jacobian = algebraMap P.Ring S P.jacobiMatrix.det := by simp [jacobiMatrix, jacobian] -set_option backward.isDefEq.respectTransparency false in lemma jacobiMatrix_apply (i j : σ) : P.jacobiMatrix i j = MvPolynomial.pderiv (P.map i) (P.relation j) := by simp [jacobiMatrix, LinearMap.toMatrix, differential, basis] diff --git a/Mathlib/RingTheory/HopfAlgebra/Basic.lean b/Mathlib/RingTheory/HopfAlgebra/Basic.lean index 3ca84aa79f34ef..36f2ac70906aef 100644 --- a/Mathlib/RingTheory/HopfAlgebra/Basic.lean +++ b/Mathlib/RingTheory/HopfAlgebra/Basic.lean @@ -129,7 +129,6 @@ variable (R : Type u) [CommSemiring R] open HopfAlgebra -set_option backward.isDefEq.respectTransparency false in /-- Every commutative (semi)ring is a Hopf algebra over itself -/ instance toHopfAlgebra : HopfAlgebra R R where antipode := .id diff --git a/Mathlib/RingTheory/Ideal/Quotient/ChineseRemainder.lean b/Mathlib/RingTheory/Ideal/Quotient/ChineseRemainder.lean index 3bd9fd011453bb..5d67cfbaef54fa 100644 --- a/Mathlib/RingTheory/Ideal/Quotient/ChineseRemainder.lean +++ b/Mathlib/RingTheory/Ideal/Quotient/ChineseRemainder.lean @@ -24,7 +24,6 @@ namespace Ideal open TensorProduct LinearMap -set_option backward.isDefEq.respectTransparency false in lemma pi_mkQ_rTensor [Fintype ι] [DecidableEq ι] : (LinearMap.pi fun i ↦ (I i).mkQ).rTensor M = (piLeft ..).symm.toLinearMap ∘ₗ .pi (fun i ↦ TensorProduct.mk R (R ⧸ I i) M 1) ∘ₗ TensorProduct.lid R M := by diff --git a/Mathlib/RingTheory/Kaehler/Basic.lean b/Mathlib/RingTheory/Kaehler/Basic.lean index b4edecf2a20afc..b236d4a2d8cf93 100644 --- a/Mathlib/RingTheory/Kaehler/Basic.lean +++ b/Mathlib/RingTheory/Kaehler/Basic.lean @@ -329,7 +329,6 @@ def KaehlerDifferential.linearMapEquivDerivation : (Ω[S⁄R] →ₗ[S] M) ≃ Derivation.liftKaehlerDifferential_unique _ _ (Derivation.liftKaehlerDifferential_comp _) right_inv := Derivation.liftKaehlerDifferential_comp } -set_option backward.isDefEq.respectTransparency false in /-- The quotient ring of `S ⊗ S ⧸ J ^ 2` by `Ω[S⁄R]` is isomorphic to `S`. -/ def KaehlerDifferential.quotientCotangentIdealRingEquiv : (S ⊗ S ⧸ KaehlerDifferential.ideal R S ^ 2) ⧸ (KaehlerDifferential.ideal R S).cotangentIdeal ≃+* diff --git a/Mathlib/RingTheory/LaurentSeries.lean b/Mathlib/RingTheory/LaurentSeries.lean index b0efc64e4e0144..2b522a64338073 100644 --- a/Mathlib/RingTheory/LaurentSeries.lean +++ b/Mathlib/RingTheory/LaurentSeries.lean @@ -268,7 +268,6 @@ theorem coe_algebraMap [CommSemiring R] : ⇑(algebraMap R⟦X⟧ R⸨X⸩) = HahnSeries.ofPowerSeries ℤ R := rfl -set_option backward.isDefEq.respectTransparency false in /-- The localization map from power series to Laurent series. -/ @[simps (rhsMd := .all) +simpRhs] instance of_powerSeries_localization [CommRing R] : @@ -1119,7 +1118,6 @@ lemma powerSeriesRingEquiv_coe_apply (f : K⟦X⟧) : powerSeriesRingEquiv K f = LaurentSeriesRingEquiv K (f : K⸨X⸩) := rfl -set_option backward.isDefEq.respectTransparency false in lemma LaurentSeriesRingEquiv_mem_valuationSubring (f : K⟦X⟧) : LaurentSeriesRingEquiv K f ∈ Valued.v.valuationSubring := by simp only [Valuation.mem_valuationSubring_iff] diff --git a/Mathlib/RingTheory/LocalProperties/Projective.lean b/Mathlib/RingTheory/LocalProperties/Projective.lean index 4e5212dd3c59e6..ee9563ad909fdc 100644 --- a/Mathlib/RingTheory/LocalProperties/Projective.lean +++ b/Mathlib/RingTheory/LocalProperties/Projective.lean @@ -121,7 +121,6 @@ theorem LinearMap.split_surjective_of_localization_maximal simp only [coe_comp, coe_restrictScalars, Function.comp_apply, LocalizedModule.mkLinearMap_apply, LocalizedModule.map_mk, llcomp_apply] -set_option backward.isDefEq.respectTransparency false in theorem Module.projective_of_localization_maximal (H : ∀ (I : Ideal R) (_ : I.IsMaximal), Module.Projective (Localization.AtPrime I) (LocalizedModule I.primeCompl M)) [Module.FinitePresentation R M] : Module.Projective R M := by diff --git a/Mathlib/RingTheory/Localization/Basic.lean b/Mathlib/RingTheory/Localization/Basic.lean index f2e29ad34fa305..9b13dd54d5eb5f 100644 --- a/Mathlib/RingTheory/Localization/Basic.lean +++ b/Mathlib/RingTheory/Localization/Basic.lean @@ -88,7 +88,6 @@ noncomputable abbrev mapPiEvalRingHom : Localization (S.comap <| Pi.evalRingHom R i) →+* Localization S := map (T := S) _ (Pi.evalRingHom R i) le_rfl -set_option backward.isDefEq.respectTransparency false in open Function in theorem mapPiEvalRingHom_bijective : Bijective (mapPiEvalRingHom S) := by let T := S.comap (Pi.evalRingHom R i) diff --git a/Mathlib/RingTheory/MvPowerSeries/Basic.lean b/Mathlib/RingTheory/MvPowerSeries/Basic.lean index ca50b000b2831d..30fc69a7e319fb 100644 --- a/Mathlib/RingTheory/MvPowerSeries/Basic.lean +++ b/Mathlib/RingTheory/MvPowerSeries/Basic.lean @@ -228,7 +228,6 @@ protected theorem zero_mul : (0 : MvPowerSeries σ R) * φ = 0 := protected theorem mul_zero : φ * 0 = 0 := ext fun n => by classical simp [coeff_mul] -set_option backward.isDefEq.respectTransparency false in theorem coeff_monomial_mul (a : R) : coeff m (monomial n a * φ) = if n ≤ m then a * coeff (m - n) φ else 0 := by classical @@ -240,7 +239,6 @@ theorem coeff_monomial_mul (a : R) : Finset.sum_ite_index] simp only [Finset.sum_singleton, coeff_monomial_same, Finset.sum_empty] -set_option backward.isDefEq.respectTransparency false in theorem coeff_mul_monomial (a : R) : coeff m (φ * monomial n a) = if n ≤ m then coeff (m - n) φ * a else 0 := by classical diff --git a/Mathlib/RingTheory/Nakayama.lean b/Mathlib/RingTheory/Nakayama.lean index 7e9714ed71a09a..6081f31ef9acae 100644 --- a/Mathlib/RingTheory/Nakayama.lean +++ b/Mathlib/RingTheory/Nakayama.lean @@ -207,7 +207,6 @@ lemma eq_of_map_mkQ_eq_map_mkQ_of_le_jacobson_bot simp only [comap_map_mkQ, smul_le_right, sup_of_le_right] at hmaple rw [hmaple]; apply le_sup_right -set_option backward.isDefEq.respectTransparency false in /-- **Nakayama's Lemma** - Statement (8) in [Stacks 00DV](https://stacks.math.columbia.edu/tag/00DV). diff --git a/Mathlib/RingTheory/Polynomial/Bernstein.lean b/Mathlib/RingTheory/Polynomial/Bernstein.lean index 5219f0f3155a36..588948fc1447bf 100644 --- a/Mathlib/RingTheory/Polynomial/Bernstein.lean +++ b/Mathlib/RingTheory/Polynomial/Bernstein.lean @@ -176,7 +176,7 @@ theorem iterate_derivative_at_0 (n ν : ℕ) : obtain rfl | h'' := ν.eq_zero_or_pos · simp · have : n - 1 - (ν - 1) = n - ν := by lia - rw [this, ascPochhammer_eval_succ] + rw [this, ascPochhammer_eval_succ, Nat.sub_zero] rw_mod_cast [tsub_add_cancel_of_le (h'.trans n.pred_le)] · rw [tsub_eq_zero_iff_le.mpr (Nat.le_sub_one_of_lt h), eq_zero_of_lt R h] simp [pos_iff_ne_zero.mp (pos_of_gt h)] diff --git a/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean b/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean index b203ad71e7e1c2..0b8592fad60c6f 100644 --- a/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean +++ b/Mathlib/RingTheory/Polynomial/Cyclotomic/Expand.lean @@ -162,7 +162,7 @@ theorem cyclotomic_mul_prime_pow_eq (R : Type*) {p m : ℕ} [Fact (Nat.Prime p)] have hdiv : p ∣ p ^ a.succ * m := ⟨p ^ a * m, by rw [← mul_assoc, pow_succ']⟩ rw [pow_succ', mul_assoc, mul_comm, cyclotomic_mul_prime_dvd_eq_pow R hdiv, cyclotomic_mul_prime_pow_eq _ _ a.succ_pos, ← pow_mul] - · simp only [Nat.succ_sub_succ_eq_sub] + · simp only [Nat.succ_sub_succ_eq_sub, Nat.sub_zero] rw [Nat.mul_sub_right_distrib, mul_comm, pow_succ] · assumption diff --git a/Mathlib/RingTheory/Polynomial/Pochhammer.lean b/Mathlib/RingTheory/Polynomial/Pochhammer.lean index 12606ba110ce96..8fd3c6d6d959f6 100644 --- a/Mathlib/RingTheory/Polynomial/Pochhammer.lean +++ b/Mathlib/RingTheory/Polynomial/Pochhammer.lean @@ -407,7 +407,7 @@ theorem descPochhammer_eval_eq_descFactorial (n k : ℕ) : rw [descPochhammer_succ_right, Nat.descFactorial_succ, mul_sub, eval_sub, eval_mul_X, ← Nat.cast_comm k, eval_natCast_mul, ← Nat.cast_comm n, ← sub_mul, ih] by_cases! h : n < k - · rw [Nat.descFactorial_eq_zero_iff_lt.mpr h, Nat.cast_zero, mul_zero] + · rw [Nat.descFactorial_eq_zero_iff_lt.mpr h, Nat.cast_zero, mul_zero, mul_zero, Nat.cast_zero] · rw [Nat.cast_mul, Nat.cast_sub h] theorem descPochhammer_int_eq_ascFactorial (a b : ℕ) : diff --git a/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean b/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean index a1b999d098617c..c9cfa858555be5 100644 --- a/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean +++ b/Mathlib/RingTheory/Polynomial/Resultant/Basic.lean @@ -179,7 +179,7 @@ theorem resultant_zero_right : resultant f 0 m n = 0 ^ m * f.coeff 0 ^ n := by obtain _ | m := m; · simp have (i : Fin (m + 1 + n)) : sylvester f 0 (m + 1) n i ⟨0, by lia⟩ = 0 := by simp [sylvester, show (0 : Fin (m + 1 + n)) = Fin.castAdd _ 0 from rfl, Fin.addCases_left] - simpa [resultant] using Matrix.det_eq_zero_of_column_eq_zero ⟨0, by simp⟩ this + simpa [resultant] using Matrix.det_eq_zero_of_column_eq_zero ⟨0, by lia⟩ this @[simp] theorem resultant_zero_left : resultant 0 g m n = 0 ^ n * g.coeff 0 ^ m := by @@ -296,7 +296,6 @@ lemma resultant_C_mul_left (r : R) : rw [resultant_comm, resultant_C_mul_right, resultant_comm, mul_left_comm, ← mul_assoc ((-1) ^ _), mul_comm n m, ← mul_pow, neg_one_mul, neg_neg, one_pow, one_mul] -set_option backward.isDefEq.respectTransparency false in lemma resultant_succ_left_deg (hf : f.natDegree ≤ m) : resultant f g (m + 1) n = (-1) ^ n * g.coeff n * resultant f g m n := by obtain _ | n := n @@ -405,7 +404,6 @@ theorem resultant_C_left (r : R) : f.resultant (X + C r) m 1 = (-1) ^ m * eval (-r) f := by rw [← resultant_X_sub_C_right f m (-r) hf, map_neg, sub_neg_eq_add] -set_option backward.isDefEq.respectTransparency false in /-- If `f` and `g` are monic and splits, then `Res(f, g) = ∏ (α - β)`, where `α` and `β` runs through the roots of `f` and `g` respectively. -/ lemma resultant_eq_prod_roots_sub @@ -737,7 +735,6 @@ nonrec lemma resultant_scaleRoots (f g : R[X]) (r : R) : rw [← hf', ← hg', resultant_map_map] simp -set_option backward.isDefEq.respectTransparency false in lemma resultant_integralNormalization (f g : R[X]) (hg : g.natDegree ≠ 0) : resultant (f.scaleRoots g.leadingCoeff) g.integralNormalization = g.leadingCoeff ^ (f.natDegree * (g.natDegree - 1)) * resultant f g := by diff --git a/Mathlib/RingTheory/Polynomial/ScaleRoots.lean b/Mathlib/RingTheory/Polynomial/ScaleRoots.lean index 124c22ecceda51..7a96b801ea2100 100644 --- a/Mathlib/RingTheory/Polynomial/ScaleRoots.lean +++ b/Mathlib/RingTheory/Polynomial/ScaleRoots.lean @@ -285,9 +285,9 @@ lemma isCoprime_scaleRoots (p q : R[X]) (r : R) (hr : IsUnit r) (h : IsCoprime p rw [e, natDegree_one] use s ^ natDegree (a * p) • s ^ (natDegree a + natDegree p - natDegree (a * p)) • a.scaleRoots r use s ^ natDegree (a * p) • s ^ (natDegree b + natDegree q - natDegree (b * q)) • b.scaleRoots r - simp only [s, smul_mul_assoc, ← mul_scaleRoots, smul_smul, mul_assoc, - ← mul_pow, IsUnit.val_inv_mul, one_pow, mul_one, ← smul_add, one_smul, e, natDegree_one, - one_scaleRoots, ← add_scaleRoots_of_natDegree_eq _ _ _ this] + simp only [smul_smul, smul_mul_assoc, ← mul_scaleRoots, mul_assoc, ← mul_pow, IsUnit.val_inv_mul, + one_pow, mul_one, ← smul_add, ← add_scaleRoots_of_natDegree_eq _ _ _ this, e, natDegree_one, + Nat.sub_zero, one_scaleRoots, one_smul, s] alias _root_.IsCoprime.scaleRoots := isCoprime_scaleRoots diff --git a/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean b/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean index c2988e08e64b22..28b37689ea374c 100644 --- a/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean +++ b/Mathlib/RingTheory/Spectrum/Prime/ConstructibleSet.lean @@ -136,7 +136,6 @@ lemma exists_constructibleSetData_iff {s : Set (PrimeSpectrum R)} : refine ⟨S ∪ T, ?_⟩ simp only [ConstructibleSetData.toSet, Set.biUnion_union, ← Finset.mem_coe, Finset.coe_union] -set_option backward.isDefEq.respectTransparency false in universe u in @[stacks 00F8 "without the finite presentation part"] -- TODO: show that the constructed `f` is of finite presentation diff --git a/Mathlib/RingTheory/TensorProduct/Free.lean b/Mathlib/RingTheory/TensorProduct/Free.lean index b43d62721f9c9e..473422896cdc5d 100644 --- a/Mathlib/RingTheory/TensorProduct/Free.lean +++ b/Mathlib/RingTheory/TensorProduct/Free.lean @@ -72,7 +72,6 @@ theorem basis_repr_tmul (a : A) (m : M) : (basis A b).repr (a ⊗ₜ m) = a • Finsupp.mapRange (algebraMap R A) (map_zero _) (b.repr m) := basisAux_tmul b _ _ -set_option backward.isDefEq.respectTransparency false in theorem basis_repr_symm_apply (a : A) (i : ι) : (basis A b).repr.symm (Finsupp.single i a) = a ⊗ₜ b.repr.symm (Finsupp.single i 1) := by simp [basis, LinearEquiv.coe_symm_mk', Equiv.uniqueProd_symm_apply, basisAux] diff --git a/Mathlib/RingTheory/Valuation/Discrete/Basic.lean b/Mathlib/RingTheory/Valuation/Discrete/Basic.lean index 147a68714c1bb5..2455ee9c8af579 100644 --- a/Mathlib/RingTheory/Valuation/Discrete/Basic.lean +++ b/Mathlib/RingTheory/Valuation/Discrete/Basic.lean @@ -273,7 +273,6 @@ section Uniformizer variable {v} [hv : v.IsRankOneDiscrete] -set_option backward.isDefEq.respectTransparency false in /-- An element associated to a uniformizer is itself a uniformizer. -/ theorem IsUniformizer.of_associated {π₁ π₂ : K₀} (h1 : IsUniformizer v π₁) (H : Associated π₁ π₂) : IsUniformizer v π₂ := by diff --git a/Mathlib/Tactic/NormNum/Abs.lean b/Mathlib/Tactic/NormNum/Abs.lean index e1e475a1e472fd..3ec864f7a22842 100644 --- a/Mathlib/Tactic/NormNum/Abs.lean +++ b/Mathlib/Tactic/NormNum/Abs.lean @@ -33,7 +33,6 @@ theorem isNat_abs_neg {α : Type*} [Ring α] [Lattice α] [IsOrderedRing α] constructor simp -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_abs_nonneg {α : Type*} [DivisionRing α] [LinearOrder α] [IsStrictOrderedRing α] {a : α} {num den : ℕ} (ra : IsNNRat a num den) : IsNNRat |a| num den := by @@ -43,7 +42,6 @@ theorem isNNRat_abs_nonneg {α : Type*} [DivisionRing α] [LinearOrder α] · exact Nat.cast_nonneg' num · simp only [invOf_eq_inv, inv_nonneg, Nat.cast_nonneg] -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_abs_neg {α : Type*} [DivisionRing α] [LinearOrder α] [IsStrictOrderedRing α] {a : α} {num den : ℕ} (ra : IsRat a (.negOfNat num) den) : IsNNRat |a| num den := by obtain ⟨ha1, rfl⟩ := ra diff --git a/Mathlib/Tactic/NormNum/Basic.lean b/Mathlib/Tactic/NormNum/Basic.lean index 4883f86cd325c5..e024ba6cd9e670 100644 --- a/Mathlib/Tactic/NormNum/Basic.lean +++ b/Mathlib/Tactic/NormNum/Basic.lean @@ -190,7 +190,6 @@ theorem isInt_add {α} [Ring α] : ∀ {f : α → α → α} {a b : α} {a' b' f = HAdd.hAdd → IsInt a a' → IsInt b b' → Int.add a' b' = c → IsInt (f a b) c | _, _, _, _, _, _, rfl, ⟨rfl⟩, ⟨rfl⟩, rfl => ⟨(Int.cast_add ..).symm⟩ -set_option backward.isDefEq.respectTransparency false in -- see note [norm_num lemma function equality] theorem isNNRat_add {α} [Semiring α] {f : α → α → α} {a b : α} {na nb nc : ℕ} {da db dc k : ℕ} : f = HAdd.hAdd → IsNNRat a na da → IsNNRat b nb db → @@ -212,7 +211,6 @@ theorem isNNRat_add {α} [Semiring α] {f : α → α → α} {a b : α} {na nb (Nat.cast_commute (α := α) da dc).invOf_left.invOf_right.right_comm, (Nat.cast_commute (α := α) db dc).invOf_left.invOf_right.right_comm] -set_option backward.isDefEq.respectTransparency false in -- TODO: clean up and move it somewhere in mathlib? It's a bit much for this file -- see note [norm_num lemma function equality] theorem isRat_add {α} [Ring α] {f : α → α → α} {a b : α} {na nb nc : ℤ} {da db dc k : ℕ} : @@ -441,7 +439,6 @@ theorem isInt_mul {α} [Ring α] : ∀ {f : α → α → α} {a b : α} {a' b' f = HMul.hMul → IsInt a a' → IsInt b b' → Int.mul a' b' = c → IsInt (a * b) c | _, _, _, _, _, _, rfl, ⟨rfl⟩, ⟨rfl⟩, rfl => ⟨(Int.cast_mul ..).symm⟩ -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_mul {α} [Semiring α] {f : α → α → α} {a b : α} {na nb nc : ℕ} {da db dc k : ℕ} : f = HMul.hMul → IsNNRat a na da → IsNNRat b nb db → Nat.mul na nb = Nat.mul k nc → @@ -462,7 +459,6 @@ theorem isNNRat_mul {α} [Semiring α] {f : α → α → α} {a b : α} {na nb (Nat.cast_commute (α := α) da dc).invOf_left.invOf_right.right_comm, (Nat.cast_commute (α := α) db dc).invOf_left.invOf_right.right_comm] -set_option backward.isDefEq.respectTransparency false in theorem isRat_mul {α} [Ring α] {f : α → α → α} {a b : α} {na nb nc : ℤ} {da db dc k : ℕ} : f = HMul.hMul → IsRat a na da → IsRat b nb db → Int.mul na nb = Int.mul k nc → diff --git a/Mathlib/Tactic/NormNum/Eq.lean b/Mathlib/Tactic/NormNum/Eq.lean index 2250b8f18e8bee..1e97bb3291dc1e 100644 --- a/Mathlib/Tactic/NormNum/Eq.lean +++ b/Mathlib/Tactic/NormNum/Eq.lean @@ -27,7 +27,6 @@ theorem isInt_eq_false [Ring α] [CharZero α] : {a b : α} → {a' b' : ℤ} IsInt a a' → IsInt b b' → decide (a' = b') = false → ¬a = b | _, _, _, _, ⟨rfl⟩, ⟨rfl⟩, h => by simpa using of_decide_eq_false h -set_option backward.isDefEq.respectTransparency false in theorem NNRat.invOf_denom_swap [Semiring α] (n₁ n₂ : ℕ) (a₁ a₂ : α) [Invertible a₁] [Invertible a₂] : n₁ * ⅟a₁ = n₂ * ⅟a₂ ↔ n₁ * a₂ = n₂ * a₁ := by rw [mul_invOf_eq_iff_eq_mul_right, ← Nat.commute_cast, mul_assoc, @@ -39,7 +38,6 @@ theorem isNNRat_eq_false [Semiring α] [CharZero α] : {a b : α} → {na nb : | _, _, _, _, _, _, ⟨_, rfl⟩, ⟨_, rfl⟩, h => by rw [NNRat.invOf_denom_swap]; exact mod_cast of_decide_eq_false h -set_option backward.isDefEq.respectTransparency false in theorem Rat.invOf_denom_swap [Ring α] (n₁ n₂ : ℤ) (a₁ a₂ : α) [Invertible a₁] [Invertible a₂] : n₁ * ⅟a₁ = n₂ * ⅟a₂ ↔ n₁ * a₂ = n₂ * a₁ := by rw [mul_invOf_eq_iff_eq_mul_right, ← Int.commute_cast, mul_assoc, diff --git a/Mathlib/Tactic/NormNum/GCD.lean b/Mathlib/Tactic/NormNum/GCD.lean index 5b681f280cb0c4..6d4a00ef67479c 100644 --- a/Mathlib/Tactic/NormNum/GCD.lean +++ b/Mathlib/Tactic/NormNum/GCD.lean @@ -208,7 +208,6 @@ def evalIntLCM : NormNumExt where eval {u α} e := do let ⟨ed, pf⟩ := proveIntLCM ex ey return .isNat _ ed q(isInt_lcm $p $q $pf) -set_option backward.isDefEq.respectTransparency false in theorem isInt_ratNum : ∀ {q : ℚ} {n : ℤ} {n' : ℕ} {d : ℕ}, IsRat q n d → n.natAbs = n' → n'.gcd d = 1 → IsInt q.num n | _, n, _, d, ⟨hi, rfl⟩, rfl, h => by @@ -218,7 +217,6 @@ theorem isInt_ratNum : ∀ {q : ℚ} {n : ℤ} {n' : ℕ} {d : ℕ}, Rat.inv_natCast_den_of_pos this, Rat.inv_natCast_num_of_pos this, Rat.num_intCast, one_mul, mul_one, h, Nat.cast_one, Int.ediv_one, Int.cast_id] -set_option backward.isDefEq.respectTransparency false in theorem isNat_ratDen : ∀ {q : ℚ} {n : ℤ} {n' : ℕ} {d : ℕ}, IsRat q n d → n.natAbs = n' → n'.gcd d = 1 → IsNat q.den d | _, n, _, d, ⟨hi, rfl⟩, rfl, h => by diff --git a/Mathlib/Tactic/NormNum/Ineq.lean b/Mathlib/Tactic/NormNum/Ineq.lean index 0494412e1be478..99571399a7cec0 100644 --- a/Mathlib/Tactic/NormNum/Ineq.lean +++ b/Mathlib/Tactic/NormNum/Ineq.lean @@ -76,7 +76,6 @@ theorem isNat_lt_false [Semiring α] [PartialOrder α] [IsOrderedRing α] {a b : (ha : IsNat a a') (hb : IsNat b b') (h : Nat.ble b' a' = true) : ¬a < b := not_lt_of_ge (isNat_le_true hb ha h) -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_le_true [Semiring α] [LinearOrder α] [IsStrictOrderedRing α] : {a b : α} → {na nb : ℕ} → {da db : ℕ} → IsNNRat a na da → IsNNRat b nb db → @@ -90,7 +89,6 @@ theorem isNNRat_le_true [Semiring α] [LinearOrder α] [IsStrictOrderedRing α] simp only [Nat.mul_eq, Nat.cast_mul, mul_invOf_cancel_right'] at h rwa [Nat.commute_cast] at h -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_lt_true [Semiring α] [LinearOrder α] [IsStrictOrderedRing α] [Nontrivial α] : {a b : α} → {na nb : ℕ} → {da db : ℕ} → IsNNRat a na da → IsNNRat b nb db → decide (na * db < nb * da) → a < b @@ -113,7 +111,6 @@ theorem isNNRat_lt_false [Semiring α] [LinearOrder α] [IsStrictOrderedRing α] (ha : IsNNRat a na da) (hb : IsNNRat b nb db) (h : decide (nb * da ≤ na * db)) : ¬a < b := not_lt_of_ge (isNNRat_le_true hb ha h) -set_option backward.isDefEq.respectTransparency false in theorem isRat_le_true [Ring α] [LinearOrder α] [IsStrictOrderedRing α] : {a b : α} → {na nb : ℤ} → {da db : ℕ} → IsRat a na da → IsRat b nb db → @@ -128,7 +125,6 @@ theorem isRat_le_true [Ring α] [LinearOrder α] [IsStrictOrderedRing α] : mul_invOf_cancel_right'] at h rwa [Int.commute_cast] at h -set_option backward.isDefEq.respectTransparency false in theorem isRat_lt_true [Ring α] [LinearOrder α] [IsStrictOrderedRing α] [Nontrivial α] : {a b : α} → {na nb : ℤ} → {da db : ℕ} → IsRat a na da → IsRat b nb db → decide (na * db < nb * da) → a < b diff --git a/Mathlib/Tactic/NormNum/Inv.lean b/Mathlib/Tactic/NormNum/Inv.lean index 74a9ce75c98d3d..9ff3faf5bf14bf 100644 --- a/Mathlib/Tactic/NormNum/Inv.lean +++ b/Mathlib/Tactic/NormNum/Inv.lean @@ -121,14 +121,12 @@ recognizes `q`, returning the cast of `q`. -/ return .isNegNNRat dα qa na da q(isRat_ratCast $pa) | _ => failure -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_inv_pos {α} [DivisionSemiring α] [CharZero α] {a : α} {n d : ℕ} : IsNNRat a (Nat.succ n) d → IsNNRat a⁻¹ d (Nat.succ n) := by rintro ⟨_, rfl⟩ have := invertibleOfNonzero (α := α) (Nat.cast_ne_zero.2 (Nat.succ_ne_zero n)) exact ⟨this, by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem isRat_inv_pos {α} [DivisionRing α] [CharZero α] {a : α} {n d : ℕ} : IsRat a (.ofNat (Nat.succ n)) d → IsRat a⁻¹ (.ofNat d) (Nat.succ n) := by rintro ⟨_, rfl⟩ @@ -147,7 +145,6 @@ theorem isInt_inv_neg_one {α} [DivisionRing α] : {a : α} → IsInt a (.negOfNat (nat_lit 1)) → IsInt a⁻¹ (.negOfNat (nat_lit 1)) | _, ⟨rfl⟩ => ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem isRat_inv_neg {α} [DivisionRing α] [CharZero α] {a : α} {n d : ℕ} : IsRat a (.negOfNat (Nat.succ n)) d → IsRat a⁻¹ (.negOfNat d) (Nat.succ n) := by rintro ⟨_, rfl⟩ diff --git a/Mathlib/Tactic/NormNum/Irrational.lean b/Mathlib/Tactic/NormNum/Irrational.lean index 93da0d6b504651..19aa0261fd07ce 100644 --- a/Mathlib/Tactic/NormNum/Irrational.lean +++ b/Mathlib/Tactic/NormNum/Irrational.lean @@ -169,7 +169,6 @@ private theorem not_power_rat_of_num {a b d : ℕ} rw [← h_odd.pow_nonneg_iff, ← hq] positivity -set_option backward.isDefEq.respectTransparency false in private theorem irrational_rpow_rat_rat_of_num {x y : ℝ} {x_num x_den y_num y_den k_num : ℕ} (hx_isNNRat : IsNNRat x x_num x_den) (hy_isNNRat : IsNNRat y y_num y_den) @@ -200,7 +199,6 @@ private theorem irrational_rpow_rat_rat_of_num {x y : ℝ} {x_num x_den y_num y_ · apply not_power_nat_pow_of_bounds hy_den_pos hy_coprime hn1 hn2 · positivity -set_option backward.isDefEq.respectTransparency false in private theorem irrational_rpow_rat_rat_of_den {x y : ℝ} {x_num x_den y_num y_den k_den : ℕ} (hx_isNNRat : IsNNRat x x_num x_den) (hy_isNNRat : IsNNRat y y_num y_den) diff --git a/Mathlib/Tactic/NormNum/Pow.lean b/Mathlib/Tactic/NormNum/Pow.lean index fbd1a4e2bf6566..8551b694167395 100644 --- a/Mathlib/Tactic/NormNum/Pow.lean +++ b/Mathlib/Tactic/NormNum/Pow.lean @@ -164,7 +164,6 @@ theorem isInt_pow {α} [Ring α] : ∀ {f : α → ℕ → α} {a : α} {b : ℕ f = HPow.hPow → IsInt a a' → IsNat b b' → Int.pow a' b' = c → IsInt (f a b) c | _, _, _, _, _, _, rfl, ⟨rfl⟩, ⟨rfl⟩, rfl => ⟨by simp⟩ -set_option backward.isDefEq.respectTransparency false in -- see note [norm_num lemma function equality] theorem isRat_pow {α} [Ring α] {f : α → ℕ → α} {a : α} {an cn : ℤ} {ad b b' cd : ℕ} : f = HPow.hPow → IsRat a an ad → IsNat b b' → @@ -175,7 +174,6 @@ theorem isRat_pow {α} [Ring α] {f : α → ℕ → α} {a : α} {an cn : ℤ} rw [← Nat.cast_pow] at this use this; simp [invOf_pow, Commute.mul_pow] -set_option backward.isDefEq.respectTransparency false in theorem isNNRat_pow {α} [Semiring α] {f : α → ℕ → α} {a : α} {an cn : ℕ} {ad b b' cd : ℕ} : f = HPow.hPow → IsNNRat a an ad → IsNat b b' → Nat.pow an b' = cn → Nat.pow ad b' = cd → diff --git a/Mathlib/Tactic/NormNum/RealSqrt.lean b/Mathlib/Tactic/NormNum/RealSqrt.lean index f030d217656456..c2f94897fed0f7 100644 --- a/Mathlib/Tactic/NormNum/RealSqrt.lean +++ b/Mathlib/Tactic/NormNum/RealSqrt.lean @@ -46,7 +46,6 @@ lemma isNat_realSqrt_of_isRat_negOfNat {x : ℝ} {num : ℕ} {denom : ℕ} mul_nonneg (Nat.cast_nonneg' _) (invOf_nonneg.2 <| Nat.cast_nonneg' _) simpa [Nat.cast_zero, Real.sqrt_eq_zero', Int.cast_negOfNat, neg_mul, neg_nonpos] using h₁ -set_option backward.isDefEq.respectTransparency false in lemma isNNRat_realSqrt_of_isNNRat {x : ℝ} {n sn : ℕ} {d sd : ℕ} (hn : sn * sn = n) (hd : sd * sd = d) (h : IsNNRat x n d) : IsNNRat √x sn sd := by diff --git a/Mathlib/Tactic/NormNum/Result.lean b/Mathlib/Tactic/NormNum/Result.lean index f442371ff50d6c..7be9fc990a70db 100644 --- a/Mathlib/Tactic/NormNum/Result.lean +++ b/Mathlib/Tactic/NormNum/Result.lean @@ -238,7 +238,6 @@ required in each use of a number literal at type `α`. @[simp] def _root_.Rat.rawCast [DivisionRing α] (n : ℤ) (d : ℕ) : α := n / d -set_option backward.isDefEq.respectTransparency false in theorem IsNNRat.to_isNat {α} [Semiring α] : ∀ {a : α} {n}, IsNNRat a (n) (nat_lit 1) → IsNat a n | _, num, ⟨inv, rfl⟩ => have := @invertibleOne α _; ⟨by simp⟩ @@ -251,40 +250,33 @@ theorem IsNat.to_isNNRat {α} [Semiring α] : ∀ {a : α} {n}, IsNat a n → Is theorem IsNNRat.to_isRat {α} [Ring α] : ∀ {a : α} {n d}, IsNNRat a n d → IsRat a (.ofNat n) d | _, _, _, ⟨inv, rfl⟩ => ⟨inv, by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem IsRat.to_isInt {α} [Ring α] : ∀ {a : α} {n}, IsRat a n (nat_lit 1) → IsInt a n | _, _, ⟨inv, rfl⟩ => have := @invertibleOne α _; ⟨by simp⟩ theorem IsInt.to_isRat {α} [Ring α] : ∀ {a : α} {n}, IsInt a n → IsRat a n (nat_lit 1) | _, _, ⟨rfl⟩ => ⟨⟨1, by simp, by simp⟩, by simp⟩ -set_option backward.isDefEq.respectTransparency false in theorem IsNNRat.to_raw_eq {n d : ℕ} [DivisionSemiring α] : ∀ {a}, IsNNRat (a : α) n d → a = NNRat.rawCast n d | _, ⟨inv, rfl⟩ => by simp [div_eq_mul_inv] -set_option backward.isDefEq.respectTransparency false in theorem IsRat.to_raw_eq {n : ℤ} {d : ℕ} [DivisionRing α] : ∀ {a}, IsRat (a : α) n d → a = Rat.rawCast n d | _, ⟨inv, rfl⟩ => by simp [div_eq_mul_inv] -set_option backward.isDefEq.respectTransparency false in theorem IsRat.neg_to_eq {α} [DivisionRing α] {n d} : {a n' d' : α} → IsRat a (.negOfNat n) d → n = n' → d = d' → a = -(n' / d') | _, _, _, ⟨_, rfl⟩, rfl, rfl => by simp [div_eq_mul_inv] -set_option backward.isDefEq.respectTransparency false in theorem IsNNRat.to_eq {α} [DivisionSemiring α] {n d} : {a n' d' : α} → IsNNRat a n d → n = n' → d = d' → a = n' / d' | _, _, _, ⟨_, rfl⟩, rfl, rfl => by simp [div_eq_mul_inv] -set_option backward.isDefEq.respectTransparency false in theorem IsNNRat.of_raw (α) [DivisionSemiring α] (n : ℕ) (d : ℕ) (h : (d : α) ≠ 0) : IsNNRat (NNRat.rawCast n d : α) n d := have := invertibleOfNonzero h ⟨this, by simp [div_eq_mul_inv]⟩ -set_option backward.isDefEq.respectTransparency false in theorem IsRat.of_raw (α) [DivisionRing α] (n : ℤ) (d : ℕ) (h : (d : α) ≠ 0) : IsRat (Rat.rawCast n d : α) n d := have := invertibleOfNonzero h diff --git a/Mathlib/Tactic/Ring/Common.lean b/Mathlib/Tactic/Ring/Common.lean index aa34d0d14330cb..b5815bfd36ad92 100644 --- a/Mathlib/Tactic/Ring/Common.lean +++ b/Mathlib/Tactic/Ring/Common.lean @@ -1066,12 +1066,10 @@ theorem cast_neg {n : ℕ} {R} [Ring R] {a : R} : IsInt a (.negOfNat n) → a = (Int.negOfNat n).rawCast + 0 | ⟨e⟩ => by simp [e] -set_option backward.isDefEq.respectTransparency false in theorem cast_nnrat {n : ℕ} {d : ℕ} {R} [DivisionSemiring R] {a : R} : IsNNRat a n d → a = NNRat.rawCast n d + 0 | ⟨_, e⟩ => by simp [e, div_eq_mul_inv] -set_option backward.isDefEq.respectTransparency false in theorem cast_rat {n : ℤ} {d : ℕ} {R} [DivisionRing R] {a : R} : IsRat a n d → a = Rat.rawCast n d + 0 | ⟨_, e⟩ => by simp [e, div_eq_mul_inv] diff --git a/Mathlib/Tactic/Translate/Core.lean b/Mathlib/Tactic/Translate/Core.lean index 3be0736a367168..17b2f28f653a44 100644 --- a/Mathlib/Tactic/Translate/Core.lean +++ b/Mathlib/Tactic/Translate/Core.lean @@ -838,8 +838,8 @@ def copyInstanceAttribute (src tgt : Name) : CoreM Unit := do if let some prio ← getInstancePriority? src then let attr_kind := (← getInstanceAttrKind? src).getD .global -- Copy instance_reducible status before adding instance attribute - if (← getReducibilityStatus src) matches .instanceReducible then - setReducibilityStatus tgt .instanceReducible + if (← getReducibilityStatus src) matches .implicitReducible then + setReducibilityStatus tgt .implicitReducible trace[translate_detail] "Making {tgt} an instance with priority {prio}." addInstance tgt attr_kind prio |>.run' diff --git a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean index ce2d1d3ea2b741..81fdd94a603c71 100644 --- a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean +++ b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Basic.lean @@ -43,7 +43,7 @@ set with a topological group structure. @[pp_with_univ] structure ProfiniteGrp where /-- The underlying profinite topological space. -/ - toProfinite : Profinite + toProfinite : Profinite.{u} /-- The group structure. -/ [group : Group toProfinite] /-- The above data together form a topological group. -/ @@ -56,7 +56,7 @@ set with a topological additive group structure. @[pp_with_univ] structure ProfiniteAddGrp where /-- The underlying profinite topological space. -/ - toProfinite : Profinite + toProfinite : Profinite.{u} /-- The additive group structure. -/ [addGroup : AddGroup toProfinite] /-- The above data together form a topological additive group. -/ diff --git a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean index f1d41fe7910cae..2e28e91d8a8bd0 100644 --- a/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean +++ b/Mathlib/Topology/Algebra/Category/ProfiniteGrp/Completion.lean @@ -139,7 +139,6 @@ def lift (f : G ⟶ GrpCat.of P) : completion G ⟶ P := exact this }⟩ -set_option backward.isDefEq.respectTransparency false in @[reassoc (attr := simp)] lemma lift_eta (f : G ⟶ GrpCat.of P) : eta G ≫ (forget₂ _ _).map (lift f) = f := by let e := isoLimittoFiniteQuotientFunctor P @@ -160,7 +159,6 @@ lemma lift_unique (f g : completion G ⟶ P) end ProfiniteCompletion -set_option backward.isDefEq.respectTransparency false in /-- The profinite completion functor. -/ @[simps] noncomputable def profiniteCompletion : GrpCat.{u} ⥤ ProfiniteGrp.{u} where @@ -175,7 +173,6 @@ noncomputable def profiniteCompletion : GrpCat.{u} ⥤ ProfiniteGrp.{u} where namespace ProfiniteCompletion -set_option backward.isDefEq.respectTransparency false in /-- The hom-set equivalence exhibiting the adjunction. -/ noncomputable def homEquiv (G : GrpCat.{u}) (P : ProfiniteGrp.{u}) : diff --git a/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean b/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean index 9a16d3e200196f..a77292075775c4 100644 --- a/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean +++ b/Mathlib/Topology/Algebra/IsUniformGroup/DiscreteSubgroup.lean @@ -23,7 +23,6 @@ open Filter Topology Uniformity variable {G : Type*} [Group G] [TopologicalSpace G] -set_option backward.isDefEq.respectTransparency false in /-- If `G` has a topology, and `H ≤ K` are subgroups, then `H` as a subgroup of `K` is isomorphic, as a topological group, to `H` as a subgroup of `G`. This is `subgroupOfEquivOfLe` upgraded to a `ContinuousMulEquiv`. -/ diff --git a/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean b/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean index 79b9b8a0634eca..78b3712c7800df 100644 --- a/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean +++ b/Mathlib/Topology/Algebra/Valued/LocallyCompact.lean @@ -42,7 +42,6 @@ namespace Valued.integer -- should we do this all in the Valuation namespace instead? -set_option backward.isDefEq.respectTransparency false in /-- An element is in the valuation ring if the norm is bounded by 1. This is a variant of `Valuation.mem_integer_iff`, phrased using norms instead of the valuation. -/ lemma mem_iff {x : K} : x ∈ 𝒪[K] ↔ ‖x‖ ≤ 1 := by @@ -327,7 +326,6 @@ lemma compactSpace_iff_completeSpace_and_isDiscreteValuationRing_and_finite_resi rw [isCompact_iff_totallyBounded_isComplete] exact ⟨h, completeSpace_iff_isComplete_univ.mp ‹_›⟩ -set_option backward.isDefEq.respectTransparency false in lemma properSpace_iff_compactSpace_integer [(Valued.v : Valuation K Γ₀).RankOne] : ProperSpace K ↔ CompactSpace 𝒪[K] := by simp only [← isCompact_univ_iff, Subtype.isCompact_iff, Set.image_univ, Subtype.range_coe_subtype, @@ -338,7 +336,6 @@ lemma properSpace_iff_compactSpace_integer [(Valued.v : Valuation K Γ₀).RankO exact IsCompact.locallyCompactSpace_of_mem_nhds_of_addGroup h <| Metric.closedBall_mem_nhds 0 zero_lt_one -set_option backward.isDefEq.respectTransparency false in lemma properSpace_iff_completeSpace_and_isDiscreteValuationRing_integer_and_finite_residueField [(Valued.v : Valuation K Γ₀).RankOne] : ProperSpace K ↔ CompleteSpace K ∧ IsDiscreteValuationRing 𝒪[K] ∧ Finite 𝓀[K] := by diff --git a/Mathlib/Topology/Algebra/Valued/NormedValued.lean b/Mathlib/Topology/Algebra/Valued/NormedValued.lean index 7eab0dfd1c40bb..10477e68abd762 100644 --- a/Mathlib/Topology/Algebra/Valued/NormedValued.lean +++ b/Mathlib/Topology/Algebra/Valued/NormedValued.lean @@ -204,7 +204,6 @@ theorem one_le_norm_iff : 1 ≤ ‖x‖ ↔ 1 ≤ val.v x := by theorem one_lt_norm_iff : 1 < ‖x‖ ↔ 1 < val.v x := by simpa only [map_one] using (Valuation.RankOne.strictMono val.v).lt_iff_lt (a := 1) -set_option backward.isDefEq.respectTransparency false in lemma setOf_mem_integer_eq_closedBall : { x : L | x ∈ Valued.v.integer } = Metric.closedBall 0 1 := by ext x diff --git a/Mathlib/Topology/Homotopy/HomotopyGroup.lean b/Mathlib/Topology/Homotopy/HomotopyGroup.lean index e4064a411935cd..cfd61f8b354aab 100644 --- a/Mathlib/Topology/Homotopy/HomotopyGroup.lean +++ b/Mathlib/Topology/Homotopy/HomotopyGroup.lean @@ -294,7 +294,6 @@ theorem homotopicTo (i : N) {p q : Ω^ N X x} : (ContinuousMap.comp ⟨Subtype.val, by fun_prop⟩ H.toContinuousMap).curry).uncurry.comp <| (ContinuousMap.id I).prodMap (Cube.splitAt i) -set_option backward.isDefEq.respectTransparency false in theorem homotopicFrom (i : N) {p q : Ω^ N X x} : (toLoop i p).Homotopic (toLoop i q) → Homotopic p q := by refine Nonempty.map fun H ↦ ⟨⟨homotopyFrom i H, ?_, ?_⟩, ?_⟩ diff --git a/Mathlib/Topology/Homotopy/Path.lean b/Mathlib/Topology/Homotopy/Path.lean index 36ff671a42fb86..f6862d9a89230b 100644 --- a/Mathlib/Topology/Homotopy/Path.lean +++ b/Mathlib/Topology/Homotopy/Path.lean @@ -69,7 +69,6 @@ theorem target (F : Homotopy p₀ p₁) (t : I) : F (t, 1) = x₁ := calc F (t, 1) = p₀ 1 := ContinuousMap.HomotopyRel.eq_fst _ _ (.inr rfl) _ = x₁ := p₀.target -set_option backward.isDefEq.respectTransparency false in /-- Evaluating a path homotopy at an intermediate point, giving us a `Path`. -/ @[simps] diff --git a/Mathlib/Topology/Instances/AddCircle/Defs.lean b/Mathlib/Topology/Instances/AddCircle/Defs.lean index 73d3036fb30cf0..99c08026889679 100644 --- a/Mathlib/Topology/Instances/AddCircle/Defs.lean +++ b/Mathlib/Topology/Instances/AddCircle/Defs.lean @@ -720,7 +720,6 @@ theorem equivIccQuot_comp_mk_eq_toIocMod : exact Quot.sound EndpointIdent.mk · simp_rw [(not_modEq_iff_toIcoMod_eq_toIocMod hp.out).1 h] -set_option backward.isDefEq.respectTransparency false in /-- The natural map from `[a, a + p] ⊂ 𝕜` with endpoints identified to `𝕜 / ℤ • p`, as a homeomorphism of topological spaces. -/ def homeoIccQuot [TopologicalSpace 𝕜] [OrderTopology 𝕜] : 𝕋 ≃ₜ Quot (EndpointIdent p a) where diff --git a/Mathlib/Topology/IsClosedRestrict.lean b/Mathlib/Topology/IsClosedRestrict.lean index 183fd1d83c50fc..b3d866052c8eb0 100644 --- a/Mathlib/Topology/IsClosedRestrict.lean +++ b/Mathlib/Topology/IsClosedRestrict.lean @@ -139,7 +139,6 @@ lemma isClosedMap_restrict_of_compactSpace [∀ i, CompactSpace (α i)] : rw [this, image_comp] exact isClosedMap_fst_of_compactSpace _ <| (Homeomorph.isClosed_image _).mpr hs -set_option backward.isDefEq.respectTransparency false in lemma IsClosed.isClosed_image_eval (i : ι) (hs_compact : IsCompact s) (hs_closed : IsClosed s) : IsClosed ((fun x ↦ x i) '' s) := by diff --git a/Mathlib/Topology/LocalAtTarget.lean b/Mathlib/Topology/LocalAtTarget.lean index ac49777994839d..a82bd00955cf8b 100644 --- a/Mathlib/Topology/LocalAtTarget.lean +++ b/Mathlib/Topology/LocalAtTarget.lean @@ -108,7 +108,6 @@ theorem isOpen_iff_inter : · intro H simpa [← inter_iUnion, hU.iSup_set_eq_univ] using isOpen_iUnion H -set_option backward.isDefEq.respectTransparency false in theorem isOpen_iff_coe_preimage : IsOpen s ↔ ∀ i, IsOpen ((↑) ⁻¹' s : Set (U i)) := by simp [hU.isOpen_iff_inter (s := s), (U _).2.isOpenEmbedding_subtypeVal.isOpen_iff_image_isOpen, @@ -124,7 +123,6 @@ theorem isLocallyClosed_iff_coe_preimage {s : Set β} : (U i).isOpen.isOpenEmbedding_subtypeVal.coborder_preimage _ simp [isLocallyClosed_iff_isOpen_coborder, hU.isOpen_iff_coe_preimage, this] -set_option backward.isDefEq.respectTransparency false in theorem isOpenMap_iff_restrictPreimage : IsOpenMap f ↔ ∀ i, IsOpenMap ((U i).1.restrictPreimage f) := by refine ⟨fun h i ↦ h.restrictPreimage _, fun H s hs ↦ ?_⟩ @@ -135,7 +133,6 @@ theorem isOpenMap_iff_restrictPreimage : suffices (∃ y, y ∈ s ∧ f y = x) ↔ ∃ y, y ∈ s ∧ f y ∈ U i ∧ f y = x by simpa [← Subtype.coe_inj] exact ⟨fun ⟨a, b, c⟩ ↦ ⟨a, b, c.symm ▸ hx, c⟩, by tauto⟩ -set_option backward.isDefEq.respectTransparency false in theorem isClosedMap_iff_restrictPreimage : IsClosedMap f ↔ ∀ i, IsClosedMap ((U i).1.restrictPreimage f) := by refine ⟨fun h i => h.restrictPreimage _, fun H s hs ↦ ?_⟩ @@ -146,7 +143,6 @@ theorem isClosedMap_iff_restrictPreimage : suffices (∃ y, y ∈ s ∧ f y = x) ↔ ∃ y, y ∈ s ∧ f y ∈ U i ∧ f y = x by simpa [← Subtype.coe_inj] exact ⟨fun ⟨a, b, c⟩ => ⟨a, b, c.symm ▸ hx, c⟩, by tauto⟩ -set_option backward.isDefEq.respectTransparency false in theorem isInducing_iff_restrictPreimage (h : Continuous f) : IsInducing f ↔ ∀ i, IsInducing ((U i).1.restrictPreimage f) := by simp_rw [← IsInducing.subtypeVal.of_comp_iff, isInducing_iff_nhds, restrictPreimage, @@ -186,7 +182,6 @@ theorem isHomeomorph_iff_restrictPreimage (h : Continuous f) : ← isEmbedding_iff_restrictPreimage hU h, surjective_iff_surjective_of_iUnion_eq_univ hU.iSup_set_eq_univ, Opens.carrier_eq_coe] -set_option backward.isDefEq.respectTransparency false in omit [TopologicalSpace α] in theorem denseRange_iff_restrictPreimage : DenseRange f ↔ ∀ i, DenseRange ((U i).1.restrictPreimage f) := by diff --git a/Mathlib/Topology/MetricSpace/GromovHausdorff.lean b/Mathlib/Topology/MetricSpace/GromovHausdorff.lean index 92adfee0cc31e4..702689528ca372 100644 --- a/Mathlib/Topology/MetricSpace/GromovHausdorff.lean +++ b/Mathlib/Topology/MetricSpace/GromovHausdorff.lean @@ -97,7 +97,6 @@ instance : Inhabited GHSpace := def GHSpace.Rep (p : GHSpace) : Type := (Quotient.out p : NonemptyCompacts ℓ_infty_ℝ) -set_option backward.isDefEq.respectTransparency false in theorem eq_toGHSpace_iff {X : Type u} [MetricSpace X] [CompactSpace X] [Nonempty X] {p : NonemptyCompacts ℓ_infty_ℝ} : ⟦p⟧ = toGHSpace X ↔ ∃ Ψ : X → ℓ_infty_ℝ, Isometry Ψ ∧ range Ψ = p := by diff --git a/Mathlib/Topology/OpenPartialHomeomorph/Basic.lean b/Mathlib/Topology/OpenPartialHomeomorph/Basic.lean index 580abf4036e233..65522397e5de97 100644 --- a/Mathlib/Topology/OpenPartialHomeomorph/Basic.lean +++ b/Mathlib/Topology/OpenPartialHomeomorph/Basic.lean @@ -298,7 +298,6 @@ theorem openPartialHomeomorphSubtypeCoe_source : @[deprecated (since := "2025-08-29")] alias partialHomeomorphSubtypeCoe_source := openPartialHomeomorphSubtypeCoe_source -set_option backward.isDefEq.respectTransparency false in @[simp, mfld_simps] theorem openPartialHomeomorphSubtypeCoe_target : (s.openPartialHomeomorphSubtypeCoe hs).target = s := by diff --git a/Mathlib/Topology/Order.lean b/Mathlib/Topology/Order.lean index 19f986d170b6c4..b07d83ede9527e 100644 --- a/Mathlib/Topology/Order.lean +++ b/Mathlib/Topology/Order.lean @@ -744,7 +744,7 @@ theorem continuous_iff_le_induced {t₁ : TopologicalSpace α} {t₂ : Topologic lemma continuous_generateFrom_iff {t : TopologicalSpace α} {b : Set (Set β)} : Continuous[t, generateFrom b] f ↔ ∀ s ∈ b, IsOpen (f ⁻¹' s) := by rw [continuous_iff_coinduced_le, le_generateFrom_iff_subset_isOpen] - simp only [isOpen_coinduced, preimage_id', subset_def, mem_setOf] + simp only [isOpen_coinduced, subset_def, mem_setOf] @[continuity, fun_prop] theorem continuous_induced_dom {t : TopologicalSpace β} : Continuous[induced f t, t] f := diff --git a/Mathlib/Topology/UnitInterval.lean b/Mathlib/Topology/UnitInterval.lean index f672cee51e3dbd..201111985ed02c 100644 --- a/Mathlib/Topology/UnitInterval.lean +++ b/Mathlib/Topology/UnitInterval.lean @@ -566,10 +566,8 @@ open NNReal /-- The coercion from `I` to `ℝ≥0`. -/ def toNNReal : I → ℝ≥0 := fun i ↦ ⟨i.1, i.2.1⟩ -set_option backward.isDefEq.respectTransparency false in @[simp] lemma toNNReal_zero : toNNReal 0 = 0 := rfl -set_option backward.isDefEq.respectTransparency false in @[simp] lemma toNNReal_one : toNNReal 1 = 1 := rfl @[fun_prop] lemma toNNReal_continuous : Continuous toNNReal := by delta toNNReal; fun_prop diff --git a/Mathlib/Topology/UrysohnsLemma.lean b/Mathlib/Topology/UrysohnsLemma.lean index 642ae8d570225b..530808e9817767 100644 --- a/Mathlib/Topology/UrysohnsLemma.lean +++ b/Mathlib/Topology/UrysohnsLemma.lean @@ -184,7 +184,6 @@ theorem approx_nonneg (c : CU P) (n : ℕ) (x : X) : 0 ≤ c.approx n x := by simp only [approx, midpoint_eq_smul_add] refine mul_nonneg (inv_nonneg.2 zero_le_two) (add_nonneg ?_ ?_) <;> apply ihn -set_option backward.isDefEq.respectTransparency false in theorem approx_le_one (c : CU P) (n : ℕ) (x : X) : c.approx n x ≤ 1 := by induction n generalizing c with | zero => exact indicator_apply_le' (fun _ => le_rfl) fun _ => zero_le_one diff --git a/MathlibTest/fast_instance.lean b/MathlibTest/fast_instance.lean index 41ace62e3ace0c..19c462f3af13d1 100644 --- a/MathlibTest/fast_instance.lean +++ b/MathlibTest/fast_instance.lean @@ -62,14 +62,14 @@ instance instCommSemigroup [CommSemigroup α] : CommSemigroup (Wrapped α) := fast_instance% Function.Injective.commSemigroup _ val_injective (fun _ _ => rfl) /-- -info: @[instance_reducible] def testing.instSemigroup.{u_1} : {α : Type u_1} → [Semigroup α] → Semigroup (Wrapped α) := +info: @[implicit_reducible] def testing.instSemigroup.{u_1} : {α : Type u_1} → [Semigroup α] → Semigroup (Wrapped α) := fun {α} [inst : Semigroup α] => @Semigroup.mk (Wrapped α) (@instMulWrapped α (@Semigroup.toMul α inst)) ⋯ -/ #guard_msgs in set_option pp.explicit true in #print instSemigroup /-- -info: @[instance_reducible] def testing.instCommSemigroup.{u_1} : {α : Type u_1} → +info: @[implicit_reducible] def testing.instCommSemigroup.{u_1} : {α : Type u_1} → [CommSemigroup α] → CommSemigroup (Wrapped α) := fun {α} [inst : CommSemigroup α] => @CommSemigroup.mk (Wrapped α) (@instSemigroup α (@CommSemigroup.toSemigroup α inst)) ⋯ diff --git a/MathlibTest/push.lean b/MathlibTest/push.lean index 240eb577ae445d..df0b6647f0b1b4 100644 --- a/MathlibTest/push.lean +++ b/MathlibTest/push.lean @@ -58,24 +58,16 @@ end logic section lambda -#adaptation_note -/-- -leanprover/lean4#12341 adds `unif_hint (n * 0 =?= 0)`, so simp now unifies -`1 * 0` with `0` during congruence proofs. This means `with_reducible rfl` no longer -works after push/pull. We use `rfl` now, which handles the definitional equality, -but this would have closed the goal before the `push`, so this is a regression. --/ example : (fun x : ℕ ↦ x ^ 2 + 1 * 0 - 5 • 6) = id ^ 2 + 1 * 0 - 5 • 6 := by push fun x ↦ _ - rfl + with_reducible rfl example : (fun x : ℕ ↦ x ^ 2 + 1 * 0 - 5 • 6) = id ^ 2 + 1 * 0 - 5 • 6 := by simp only [pushFun] - rfl example : (fun x : ℕ ↦ x ^ 2 + 1 * 0 - 5 • 6) = id ^ 2 + 1 * 0 - 5 • 6 := by pull fun _ ↦ _ - rfl + with_reducible rfl example : (fun x : ℕ ↦ x ^ 2 + 1 * 0 - 5 • 6) = id ^ 2 + 1 * 0 - 5 • 6 := by simp only [pullFun] diff --git a/lake-manifest.json b/lake-manifest.json index 1d343d94bc8831..54e184617b92f3 100644 --- a/lake-manifest.json +++ b/lake-manifest.json @@ -5,80 +5,80 @@ "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "a8191ec244102f576a8cd93399cdd8cc489e47cd", + "rev": "0498c368a58d22f723580e062afa488ac59b6d63", "name": "plausible", "manifestFile": "lake-manifest.json", - "inputRev": "main", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover-community/LeanSearchClient", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "c5d5b8fe6e5158def25cd28eb94e4141ad97c843", + "rev": "368243f6a97d18db0d5a2a8568aa44e261496ef7", "name": "LeanSearchClient", "manifestFile": "lake-manifest.json", - "inputRev": "main", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover-community/import-graph", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "7ccd5e026eb2b3581915ff3f0d1cd918e18c2ab9", + "rev": "4cf313410e037baf5eacedeb8600eb9734e12b0d", "name": "importGraph", "manifestFile": "lake-manifest.json", - "inputRev": "main", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover-community/ProofWidgets4", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "06c949a3f4a3b2eb0bd8601e31269b9f4f820aa6", + "rev": "be3b2e63b1bbf496c478cef98b86972a37c1417d", "name": "proofwidgets", "manifestFile": "lake-manifest.json", - "inputRev": "v0.0.88", + "inputRev": "v0.0.87", "inherited": false, "configFile": "lakefile.lean"}, {"url": "https://github.com/leanprover-community/aesop", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "eb165126bfb2988738792c9ae37e09d58e2fec83", + "rev": "ba20130d91701b1c1c015103697234c6498f093e", "name": "aesop", "manifestFile": "lake-manifest.json", - "inputRev": "master", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover-community/quote4", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "90217e10b2db6c6c445d30faae7fea453d9782c0", + "rev": "0a83ad726ee0236e9574ef48098beedca30aa5a0", "name": "Qq", "manifestFile": "lake-manifest.json", - "inputRev": "master", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover-community/batteries", "type": "git", "subDir": null, "scope": "leanprover-community", - "rev": "77d10578945b31d794214a66937b75a6d4311674", + "rev": "de1daadac3fa45be28c44c24415fc12797ed2bc5", "name": "batteries", "manifestFile": "lake-manifest.json", - "inputRev": "main", + "inputRev": "nightly-testing", "inherited": false, "configFile": "lakefile.toml"}, {"url": "https://github.com/leanprover/lean4-cli", "type": "git", "subDir": null, "scope": "leanprover", - "rev": "474983579ecce1ca7d8a63e65c7ae0b1a22db6a3", + "rev": "d9fc8ae23024be37424a189982c92356e37935c8", "name": "Cli", "manifestFile": "lake-manifest.json", - "inputRev": "v4.29.0-rc1", + "inputRev": "nightly-testing", "inherited": true, "configFile": "lakefile.toml"}], "name": "mathlib", diff --git a/lakefile.lean b/lakefile.lean index 0cb271318c53e4..cf0841546f433b 100644 --- a/lakefile.lean +++ b/lakefile.lean @@ -6,17 +6,17 @@ open Lake DSL ## Mathlib dependencies on upstream projects -/ -require "leanprover-community" / "batteries" @ git "main" -require "leanprover-community" / "Qq" @ git "master" -require "leanprover-community" / "aesop" @ git "master" -require "leanprover-community" / "proofwidgets" @ git "v0.0.88" -- ProofWidgets should always be pinned to a specific version +require "leanprover-community" / "batteries" @ git "nightly-testing" +require "leanprover-community" / "Qq" @ git "nightly-testing" +require "leanprover-community" / "aesop" @ git "nightly-testing" +require "leanprover-community" / "proofwidgets" @ git "v0.0.87" -- ProofWidgets should always be pinned to a specific version with NameMap.empty.insert `errorOnBuild "ProofWidgets not up-to-date. \ Please run `lake exe cache get` to fetch the latest ProofWidgets. \ If this does not work, report your issue on the Lean Zulip." -require "leanprover-community" / "importGraph" @ git "main" -require "leanprover-community" / "LeanSearchClient" @ git "main" -require "leanprover-community" / "plausible" @ git "main" +require "leanprover-community" / "importGraph" @ git "nightly-testing" +require "leanprover-community" / "LeanSearchClient" @ git "nightly-testing" +require "leanprover-community" / "plausible" @ git "nightly-testing" /-! @@ -47,7 +47,6 @@ abbrev mathlibLeanOptions := #[ -- This feature is broken, see -- https://leanprover.zulipchat.com/#narrow/channel/113488-general/topic/backward.2EisDefEq.2ErespectTransparency/near/574421640. -- We disable it here to avoid tripping over new contributors. - ⟨`backward.isDefEq.respectTransparency, false⟩, ] ++ -- options that are used in `lake build` mathlibOnlyLinters.map fun s ↦ { s with name := `weak ++ s.name } diff --git a/lean-toolchain b/lean-toolchain index 686c07e6af9fe9..914e66b91132a7 100644 --- a/lean-toolchain +++ b/lean-toolchain @@ -1 +1 @@ -leanprover/lean4:nightly-2026-02-17 \ No newline at end of file +leanprover/lean4:nightly-2026-02-21