tasksource/leandojo huggingface dataset:
Theorem: AbsoluteValue.map_units_int
File: Mathlib/Data/Int/AbsoluteValue.lean

tactic: rcases Int.units_eq_one_or x with (rfl | rfl) <;> simp
state_before: R : Type ?u.14
S : Type u_1
inst✝¹ : Ring R
inst✝ : LinearOrderedCommRing S
abv : AbsoluteValue ℤ S
x : ℤˣ
⊢ ↑abv ↑x = 1
Theorem: MeasureTheory.FiniteMeasure.normalize_eq_of_nonzero
File: Mathlib/MeasureTheory/Measure/ProbabilityMeasure.lean

tactic: simp only [μ.self_eq_mass_mul_normalize, μ.mass_nonzero_iff.mpr nonzero, inv_mul_cancel_left₀,
  Ne.def, not_false_iff]
state_before: Ω : Type u_1
inst✝ : Nonempty Ω
m0 : MeasurableSpace Ω
μ : FiniteMeasure Ω
nonzero : μ ≠ 0
s : Set Ω
⊢ (fun s => ENNReal.toNNReal (↑↑↑(normalize μ) s)) s = (mass μ)⁻¹ * (fun s => ENNReal.toNNReal (↑↑↑μ s)) s
Theorem: Nat.two_pow_sub_pow
File: Mathlib/NumberTheory/Multiplicity.lean

tactic: obtain hyx | hyx := le_total y x
state_before: R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
⊢ multiplicity 2 (x ^ n - y ^ n) + 1 = multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 n

tactic: iterate 3 rw [← multiplicity.Int.coe_nat_multiplicity]
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity 2 (x ^ n - y ^ n) + 1 = multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 n

tactic: simp only [Int.ofNat_sub hyx, Int.ofNat_sub (pow_le_pow_of_le_left' hyx _), Int.ofNat_add,
  Int.coe_nat_pow]
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity ↑2 ↑(x ^ n - y ^ n) + 1 = multiplicity ↑2 ↑(x + y) + multiplicity ↑2 ↑(x - y) + multiplicity 2 n

tactic: rw [← Int.coe_nat_dvd] at hx
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity (↑2) (↑x ^ n - ↑y ^ n) + 1 = multiplicity (↑2) (↑x + ↑y) + multiplicity (↑2) (↑x - ↑y) + multiplicity 2 n

tactic: rw [← Int.coe_nat_dvd, Int.ofNat_sub hyx] at hxy
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬↑2 ∣ ↑x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity (↑2) (↑x ^ n - ↑y ^ n) + 1 = multiplicity (↑2) (↑x + ↑y) + multiplicity (↑2) (↑x - ↑y) + multiplicity 2 n

tactic: convert Int.two_pow_sub_pow hxy hx hn using 2
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : ↑2 ∣ ↑x - ↑y
hx : ¬↑2 ∣ ↑x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity (↑2) (↑x ^ n - ↑y ^ n) + 1 = multiplicity (↑2) (↑x + ↑y) + multiplicity (↑2) (↑x - ↑y) + multiplicity 2 n

tactic: rw [← multiplicity.Int.coe_nat_multiplicity]
state_before: case h.e'_3.h.e'_6
R : Type ?u.872951
n✝ x y : ℕ
hxy : ↑2 ∣ ↑x - ↑y
hx : ¬↑2 ∣ ↑x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity 2 n = multiplicity 2 ↑n

tactic: rfl
state_before: case h.e'_3.h.e'_6
R : Type ?u.872951
n✝ x y : ℕ
hxy : ↑2 ∣ ↑x - ↑y
hx : ¬↑2 ∣ ↑x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity ↑2 ↑n = multiplicity 2 ↑n

tactic: rw [← multiplicity.Int.coe_nat_multiplicity]
state_before: case inl
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
hyx : y ≤ x
⊢ multiplicity ↑2 ↑(x ^ n - y ^ n) + 1 = multiplicity ↑2 ↑(x + y) + multiplicity 2 (x - y) + multiplicity 2 n

tactic: simp only [Nat.sub_eq_zero_iff_le.mpr hyx,
  Nat.sub_eq_zero_iff_le.mpr (pow_le_pow_of_le_left' hyx n), multiplicity.zero,
  PartENat.top_add, PartENat.add_top]
state_before: case inr
R : Type ?u.872951
n✝ x y : ℕ
hxy : 2 ∣ x - y
hx : ¬2 ∣ x
n : ℕ
hn : Even n
hyx : x ≤ y
⊢ multiplicity 2 (x ^ n - y ^ n) + 1 = multiplicity 2 (x + y) + multiplicity 2 (x - y) + multiplicity 2 n
Theorem: add_div_two_lt_right
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: simp [div_lt_iff, mul_two]
state_before: ι : Type ?u.101700
α : Type u_1
β : Type ?u.101706
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
⊢ (a + b) / 2 < b ↔ a < b
Theorem: Real.exp_lt_one_iff
File: Mathlib/Data/Complex/Exponential.lean

tactic: rw [← exp_zero, exp_lt_exp]
state_before: x✝ y x : ℝ
⊢ exp x < 1 ↔ x < 0
Theorem: MeasureTheory.Measure.sum_coe_finset
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [sum_fintype, Finset.sum_coe_sort s μ]
state_before: α : Type u_2
β : Type ?u.342451
γ : Type ?u.342454
δ : Type ?u.342457
ι : Type u_1
R : Type ?u.342463
R' : Type ?u.342466
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
s : Finset ι
μ : ι → Measure α
⊢ (sum fun i => μ ↑i) = ∑ i in s, μ i
Theorem: MeasureTheory.AEEqFun.integrable_coeFn
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: rw [← integrable_mk, mk_coeFn]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.1263055
δ : Type ?u.1263058
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α →ₘ[μ] β
⊢ MeasureTheory.Integrable ↑f ↔ Integrable f
Theorem: DoubleQuot.quotQuotEquivComm_symmₐ
File: Mathlib/RingTheory/Ideal/QuotientOperations.lean

tactic: ext
state_before: R : Type u
A : Type u_1
inst✝² : CommSemiring R
inst✝¹ : CommRing A
inst✝ : Algebra R A
I J : Ideal A
⊢ AlgEquiv.symm (quotQuotEquivCommₐ R I J) = quotQuotEquivCommₐ R J I

tactic: unfold quotQuotEquivCommₐ
state_before: case h
R : Type u
A : Type u_1
inst✝² : CommSemiring R
inst✝¹ : CommRing A
inst✝ : Algebra R A
I J : Ideal A
a✝ : (A ⧸ J) ⧸ map (Quotient.mkₐ R J) I
⊢ ↑(AlgEquiv.symm (quotQuotEquivCommₐ R I J)) a✝ = ↑(quotQuotEquivCommₐ R J I) a✝

tactic: congr
state_before: case h
R : Type u
A : Type u_1
inst✝² : CommSemiring R
inst✝¹ : CommRing A
inst✝ : Algebra R A
I J : Ideal A
a✝ : (A ⧸ J) ⧸ map (Quotient.mkₐ R J) I
⊢ ↑(AlgEquiv.symm
          (AlgEquiv.ofRingEquiv
            (_ :
              ∀ (x : R),
                ↑(quotQuotEquivComm I J) (↑(algebraMap R ((A ⧸ I) ⧸ map (Quotient.mkₐ R I) J)) x) =
                  ↑(quotQuotEquivComm I J) (↑(algebraMap R ((A ⧸ I) ⧸ map (Quotient.mkₐ R I) J)) x))))
      a✝ =
    ↑(AlgEquiv.ofRingEquiv
          (_ :
            ∀ (x : R),
              ↑(quotQuotEquivComm J I) (↑(algebraMap R ((A ⧸ J) ⧸ map (Quotient.mkₐ R J) I)) x) =
                ↑(quotQuotEquivComm J I) (↑(algebraMap R ((A ⧸ J) ⧸ map (Quotient.mkₐ R J) I)) x)))
      a✝
Theorem: CircleDeg1Lift.map_fract_sub_fract_eq
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: rw [Int.fract, f.map_sub_int, sub_sub_sub_cancel_right]
state_before: f g : CircleDeg1Lift
x : ℝ
⊢ ↑f (fract x) - fract x = ↑f x - x
Theorem: toIntermediateField'_toSubalgebra
File: Mathlib/FieldTheory/IntermediateField.lean

tactic: ext
state_before: K : Type u_1
L : Type u_2
L' : Type ?u.81019
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field L'
inst✝¹ : Algebra K L
inst✝ : Algebra K L'
S✝ S : IntermediateField K L
⊢ Subalgebra.toIntermediateField' S.toSubalgebra (_ : IsField { x // x ∈ S }) = S

tactic: rfl
state_before: case h
K : Type u_1
L : Type u_2
L' : Type ?u.81019
inst✝⁴ : Field K
inst✝³ : Field L
inst✝² : Field L'
inst✝¹ : Algebra K L
inst✝ : Algebra K L'
S✝ S : IntermediateField K L
x✝ : L
⊢ x✝ ∈ Subalgebra.toIntermediateField' S.toSubalgebra (_ : IsField { x // x ∈ S }) ↔ x✝ ∈ S
Theorem: Matrix.IsDiag.kronecker
File: Mathlib/LinearAlgebra/Matrix/IsDiag.lean

tactic: rintro ⟨a, b⟩ ⟨c, d⟩ h
state_before: α : Type u_1
β : Type ?u.20075
R : Type ?u.20078
n : Type u_3
m : Type u_2
inst✝ : MulZeroClass α
A : Matrix m m α
B : Matrix n n α
hA : IsDiag A
hB : IsDiag B
⊢ IsDiag (kroneckerMap (fun x x_1 => x * x_1) A B)

tactic: simp only [Prod.mk.inj_iff, Ne.def, not_and_or] at h
state_before: case mk.mk
α : Type u_1
β : Type ?u.20075
R : Type ?u.20078
n : Type u_3
m : Type u_2
inst✝ : MulZeroClass α
A : Matrix m m α
B : Matrix n n α
hA : IsDiag A
hB : IsDiag B
a : m
b : n
c : m
d : n
h : (a, b) ≠ (c, d)
⊢ kroneckerMap (fun x x_1 => x * x_1) A B (a, b) (c, d) = 0

tactic: cases' h with hac hbd
state_before: case mk.mk
α : Type u_1
β : Type ?u.20075
R : Type ?u.20078
n : Type u_3
m : Type u_2
inst✝ : MulZeroClass α
A : Matrix m m α
B : Matrix n n α
hA : IsDiag A
hB : IsDiag B
a : m
b : n
c : m
d : n
h : ¬a = c ∨ ¬b = d
⊢ kroneckerMap (fun x x_1 => x * x_1) A B (a, b) (c, d) = 0

tactic: simp [hA hac]
state_before: case mk.mk.inl
α : Type u_1
β : Type ?u.20075
R : Type ?u.20078
n : Type u_3
m : Type u_2
inst✝ : MulZeroClass α
A : Matrix m m α
B : Matrix n n α
hA : IsDiag A
hB : IsDiag B
a : m
b : n
c : m
d : n
hac : ¬a = c
⊢ kroneckerMap (fun x x_1 => x * x_1) A B (a, b) (c, d) = 0

tactic: simp [hB hbd]
state_before: case mk.mk.inr
α : Type u_1
β : Type ?u.20075
R : Type ?u.20078
n : Type u_3
m : Type u_2
inst✝ : MulZeroClass α
A : Matrix m m α
B : Matrix n n α
hA : IsDiag A
hB : IsDiag B
a : m
b : n
c : m
d : n
hbd : ¬b = d
⊢ kroneckerMap (fun x x_1 => x * x_1) A B (a, b) (c, d) = 0
Theorem: AList.singleton_lookupFinsupp
File: Mathlib/Data/Finsupp/AList.lean

tactic: classical
simp only [← AList.insert_empty, insert_lookupFinsupp, empty_lookupFinsupp, Finsupp.zero_update]
state_before: α : Type u_1
M : Type u_2
inst✝ : Zero M
a : α
m : M
⊢ lookupFinsupp (singleton a m) = Finsupp.single a m

tactic: simp only [← AList.insert_empty, insert_lookupFinsupp, empty_lookupFinsupp, Finsupp.zero_update]
state_before: α : Type u_1
M : Type u_2
inst✝ : Zero M
a : α
m : M
⊢ lookupFinsupp (singleton a m) = Finsupp.single a m
Theorem: ZMod.χ₄_nat_mod_four
File: Mathlib/NumberTheory/LegendreSymbol/ZModChar.lean

tactic: rw [← ZMod.nat_cast_mod n 4]
state_before: n : ℕ
⊢ ↑χ₄ ↑n = ↑χ₄ ↑(n % 4)
Theorem: MeasureTheory.aemeasurable_ofReal_abs_det_fderivWithin
File: Mathlib/MeasureTheory/Function/Jacobian.lean

tactic: apply ENNReal.measurable_ofReal.comp_aemeasurable
state_before: E : Type u_1
F : Type ?u.732733
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => ENNReal.ofReal (abs (ContinuousLinearMap.det (f' x)))

tactic: refine' continuous_abs.measurable.comp_aemeasurable _
state_before: E : Type u_1
F : Type ?u.732733
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => abs (ContinuousLinearMap.det (f' x))

tactic: refine' ContinuousLinearMap.continuous_det.measurable.comp_aemeasurable _
state_before: E : Type u_1
F : Type ?u.732733
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => ContinuousLinearMap.det (f' x)

tactic: exact aemeasurable_fderivWithin μ hs hf'
state_before: E : Type u_1
F : Type ?u.732733
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s : Set E
f : E → E
f' : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : IsAddHaarMeasure μ
hs : MeasurableSet s
hf' : ∀ (x : E), x ∈ s → HasFDerivWithinAt f (f' x) s x
⊢ AEMeasurable fun x => f' x
Theorem: Multiset.ndinter_cons_of_not_mem
File: Mathlib/Data/Multiset/FinsetOps.lean

tactic: simp [ndinter, h]
state_before: α : Type u_1
inst✝ : DecidableEq α
s✝ : Multiset α
a : α
s t : Multiset α
h : ¬a ∈ t
⊢ ndinter (a ::ₘ s) t = ndinter s t
Theorem: Heyting.isRegular_top
File: Mathlib/Order/Heyting/Regular.lean

tactic: rw [IsRegular, compl_top, compl_bot]
state_before: α : Type u_1
inst✝ : HeytingAlgebra α
a b : α
⊢ IsRegular ⊤
Theorem: CompleteLattice.independent_iff_supIndep
File: Mathlib/Order/SupIndep.lean

tactic: classical
  rw [Finset.supIndep_iff_disjoint_erase]
  refine' Subtype.forall.trans (forall₂_congr fun a b => _)
  rw [Finset.sup_eq_iSup]
  congr! 1
  refine' iSup_subtype.trans _
  congr! 1
  simp [iSup_and, @iSup_comm _ (_ ∈ s)]
state_before: α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
⊢ Independent (f ∘ Subtype.val) ↔ Finset.SupIndep s f

tactic: rw [Finset.supIndep_iff_disjoint_erase]
state_before: α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
⊢ Independent (f ∘ Subtype.val) ↔ Finset.SupIndep s f

tactic: refine' Subtype.forall.trans (forall₂_congr fun a b => _)
state_before: α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
⊢ Independent (f ∘ Subtype.val) ↔ ∀ (i : ι), i ∈ s → Disjoint (f i) (Finset.sup (Finset.erase s i) f)

tactic: rw [Finset.sup_eq_iSup]
state_before: α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
a : ι
b : a ∈ s
⊢ Disjoint ((f ∘ Subtype.val) { val := a, property := b })
      (⨆ (j : { x // x ∈ s }) (_ : j ≠ { val := a, property := b }), (f ∘ Subtype.val) j) ↔
    Disjoint (f a) (Finset.sup (Finset.erase s a) f)

tactic: congr! 1
state_before: α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
a : ι
b : a ∈ s
⊢ Disjoint ((f ∘ Subtype.val) { val := a, property := b })
      (⨆ (j : { x // x ∈ s }) (_ : j ≠ { val := a, property := b }), (f ∘ Subtype.val) j) ↔
    Disjoint (f a) (⨆ (a_1 : ι) (_ : a_1 ∈ Finset.erase s a), f a_1)

tactic: refine' iSup_subtype.trans _
state_before: case a.h.e'_5
α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
a : ι
b : a ∈ s
⊢ (⨆ (j : { x // x ∈ s }) (_ : j ≠ { val := a, property := b }), (f ∘ Subtype.val) j) =
    ⨆ (a_1 : ι) (_ : a_1 ∈ Finset.erase s a), f a_1

tactic: congr! 1
state_before: case a.h.e'_5
α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
a : ι
b : a ∈ s
⊢ (⨆ (i : ι) (h : i ∈ s) (_ : { val := i, property := h } ≠ { val := a, property := b }),
      (f ∘ Subtype.val) { val := i, property := h }) =
    ⨆ (a_1 : ι) (_ : a_1 ∈ Finset.erase s a), f a_1

tactic: simp [iSup_and, @iSup_comm _ (_ ∈ s)]
state_before: case a.h.e'_5.h.e'_4
α : Type u_1
β : Type ?u.57697
ι : Type u_2
ι' : Type ?u.57703
inst✝ : CompleteLattice α
s : Finset ι
f : ι → α
a : ι
b : a ∈ s
⊢ (fun i =>
      ⨆ (h : i ∈ s) (_ : { val := i, property := h } ≠ { val := a, property := b }),
        (f ∘ Subtype.val) { val := i, property := h }) =
    fun a_1 => ⨆ (_ : a_1 ∈ Finset.erase s a), f a_1
Theorem: IsLocalizedModule.mk'_add_mk'
File: Mathlib/Algebra/Module/LocalizedModule.lean

tactic: delta mk'
state_before: R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
M : Type u_3
M' : Type u_2
M'' : Type ?u.813645
inst✝⁶ : AddCommMonoid M
inst✝⁵ : AddCommMonoid M'
inst✝⁴ : AddCommMonoid M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
f : M →ₗ[R] M'
g : M →ₗ[R] M''
inst✝ : IsLocalizedModule S f
m₁ m₂ : M
s₁ s₂ : { x // x ∈ S }
⊢ mk' f m₁ s₁ + mk' f m₂ s₂ = mk' f (s₂ • m₁ + s₁ • m₂) (s₁ * s₂)

tactic: rw [← map_add, LocalizedModule.mk_add_mk]
state_before: R : Type u_1
inst✝⁷ : CommRing R
S : Submonoid R
M : Type u_3
M' : Type u_2
M'' : Type ?u.813645
inst✝⁶ : AddCommMonoid M
inst✝⁵ : AddCommMonoid M'
inst✝⁴ : AddCommMonoid M''
inst✝³ : Module R M
inst✝² : Module R M'
inst✝¹ : Module R M''
f : M →ₗ[R] M'
g : M →ₗ[R] M''
inst✝ : IsLocalizedModule S f
m₁ m₂ : M
s₁ s₂ : { x // x ∈ S }
⊢ ↑(fromLocalizedModule S f) (LocalizedModule.mk m₁ s₁) + ↑(fromLocalizedModule S f) (LocalizedModule.mk m₂ s₂) =
    ↑(fromLocalizedModule S f) (LocalizedModule.mk (s₂ • m₁ + s₁ • m₂) (s₁ * s₂))
Theorem: Real.div_sqrt
File: Mathlib/Data/Real/Sqrt.lean

tactic: cases' le_or_lt x 0 with h h
state_before: x : ℝ
⊢ x / sqrt x = sqrt x

tactic: rw [sqrt_eq_zero'.mpr h, div_zero]
state_before: case inl
x : ℝ
h : x ≤ 0
⊢ x / sqrt x = sqrt x

tactic: rw [div_eq_iff (sqrt_ne_zero'.mpr h), mul_self_sqrt h.le]
state_before: case inr
x : ℝ
h : 0 < x
⊢ x / sqrt x = sqrt x
Theorem: Matrix.circulant_injective
File: Mathlib/LinearAlgebra/Matrix/Circulant.lean

tactic: intro v w h
state_before: α : Type u_2
β : Type ?u.1368
m : Type ?u.1371
n : Type u_1
R : Type ?u.1377
inst✝ : AddGroup n
⊢ Injective circulant

tactic: ext k
state_before: α : Type u_2
β : Type ?u.1368
m : Type ?u.1371
n : Type u_1
R : Type ?u.1377
inst✝ : AddGroup n
v w : n → α
h : circulant v = circulant w
⊢ v = w

tactic: rw [← circulant_col_zero_eq v, ← circulant_col_zero_eq w, h]
state_before: case h
α : Type u_2
β : Type ?u.1368
m : Type ?u.1371
n : Type u_1
R : Type ?u.1377
inst✝ : AddGroup n
v w : n → α
h : circulant v = circulant w
k : n
⊢ v k = w k
Theorem: quotientMap_projIcc
File: Mathlib/Topology/Algebra/Order/ProjIcc.lean

tactic: ext
state_before: α : Type u_1
β : Type ?u.7984
γ : Type ?u.7987
inst✝⁴ : LinearOrder α
inst✝³ : TopologicalSpace γ
a b c : α
h : a ≤ b
inst✝² : TopologicalSpace α
inst✝¹ : OrderTopology α
inst✝ : TopologicalSpace β
s : Set ↑(Icc a b)
hs : IsOpen (projIcc a b h ⁻¹' s)
⊢ Subtype.val ⁻¹' (projIcc a b h ⁻¹' s) = s

tactic: simp
state_before: case h
α : Type u_1
β : Type ?u.7984
γ : Type ?u.7987
inst✝⁴ : LinearOrder α
inst✝³ : TopologicalSpace γ
a b c : α
h : a ≤ b
inst✝² : TopologicalSpace α
inst✝¹ : OrderTopology α
inst✝ : TopologicalSpace β
s : Set ↑(Icc a b)
hs : IsOpen (projIcc a b h ⁻¹' s)
x✝ : { x // x ∈ Icc a b }
⊢ x✝ ∈ Subtype.val ⁻¹' (projIcc a b h ⁻¹' s) ↔ x✝ ∈ s
Theorem: Filter.disjoint_cofinite_left
File: Mathlib/Order/Filter/Cofinite.lean

tactic: simp only [hasBasis_cofinite.disjoint_iff l.basis_sets, id, disjoint_compl_left_iff_subset]
state_before: ι : Type ?u.4585
α : Type u_1
β : Type ?u.4591
l : Filter α
⊢ Disjoint cofinite l ↔ ∃ s, s ∈ l ∧ Set.Finite s

tactic: exact ⟨fun ⟨s, hs, t, ht, hts⟩ => ⟨t, ht, hs.subset hts⟩,
  fun ⟨s, hs, hsf⟩ => ⟨s, hsf, s, hs, Subset.rfl⟩⟩
state_before: ι : Type ?u.4585
α : Type u_1
β : Type ?u.4591
l : Filter α
⊢ (∃ i, Set.Finite i ∧ ∃ i', i' ∈ l ∧ i' ⊆ i) ↔ ∃ s, s ∈ l ∧ Set.Finite s
Theorem: Int.fract_add_int
File: Mathlib/Algebra/Order/Floor.lean

tactic: rw [fract]
state_before: F : Type ?u.145603
α : Type u_1
β : Type ?u.145609
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a : α
m : ℤ
⊢ fract (a + ↑m) = fract a

tactic: simp
state_before: F : Type ?u.145603
α : Type u_1
β : Type ?u.145609
inst✝¹ : LinearOrderedRing α
inst✝ : FloorRing α
z : ℤ
a✝ a : α
m : ℤ
⊢ a + ↑m - ↑⌊a + ↑m⌋ = fract a
Theorem: CategoryTheory.Limits.imageSubobject_iso_comp
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: simp
state_before: C : Type u
inst✝⁴ : Category C
X Y Z : C
f✝ : X ⟶ Y
inst✝³ : HasImage f✝
inst✝² : HasEqualizers C
X' : C
h : X' ⟶ X
inst✝¹ : IsIso h
f : X ⟶ Y
inst✝ : HasImage f
⊢ inv (image.preComp h f) ≫ image.ι (h ≫ f) = image.ι f
Theorem: ftaylorSeriesWithin_univ
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: ext1 x
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
⊢ ftaylorSeriesWithin 𝕜 f univ = ftaylorSeries 𝕜 f

tactic: ext1 n
state_before: case h
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
x : E
⊢ ftaylorSeriesWithin 𝕜 f univ x = ftaylorSeries 𝕜 f x

tactic: change iteratedFDerivWithin 𝕜 n f univ x = iteratedFDeriv 𝕜 n f x
state_before: case h.h
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
x : E
n : ℕ
⊢ ftaylorSeriesWithin 𝕜 f univ x n = ftaylorSeries 𝕜 f x n

tactic: rw [iteratedFDerivWithin_univ]
state_before: case h.h
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
x : E
n : ℕ
⊢ iteratedFDerivWithin 𝕜 n f univ x = iteratedFDeriv 𝕜 n f x
Theorem: Filter.Tendsto.smallSets_mono
File: Mathlib/Order/Filter/SmallSets.lean

tactic: rw [tendsto_smallSets_iff] at ht ⊢
state_before: α : Type u_2
β : Type u_1
ι : Sort ?u.3977
l l' la : Filter α
lb : Filter β
s t : α → Set β
ht : Tendsto t la (smallSets lb)
hst : ∀ᶠ (x : α) in la, s x ⊆ t x
⊢ Tendsto s la (smallSets lb)

tactic: exact fun u hu => (ht u hu).mp (hst.mono fun _ hst ht => hst.trans ht)
state_before: α : Type u_2
β : Type u_1
ι : Sort ?u.3977
l l' la : Filter α
lb : Filter β
s t : α → Set β
ht : ∀ (t_1 : Set β), t_1 ∈ lb → ∀ᶠ (x : α) in la, t x ⊆ t_1
hst : ∀ᶠ (x : α) in la, s x ⊆ t x
⊢ ∀ (t : Set β), t ∈ lb → ∀ᶠ (x : α) in la, s x ⊆ t
Theorem: DiscreteQuotient.proj_bot_inj
File: Mathlib/Topology/DiscreteQuotient.lean

tactic: simp
state_before: α : Type ?u.22242
X : Type u_1
Y : Type ?u.22248
Z : Type ?u.22251
inst✝³ : TopologicalSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : TopologicalSpace Z
S : DiscreteQuotient X
inst✝ : DiscreteTopology X
x y : X
⊢ proj ⊥ x = proj ⊥ y ↔ x = y
Theorem: Cardinal.nat_mul_aleph0
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rwa [← Nat.cast_one, natCast_le, Nat.one_le_iff_ne_zero]
state_before: α β : Type u
n : ℕ
hn : n ≠ 0
⊢ 1 ≤ ↑n
Theorem: Unitization.inl_mul_inr
File: Mathlib/Algebra/Algebra/Unitization.lean

tactic: rw [smul_zero, add_zero, MulZeroClass.zero_mul, add_zero]
state_before: R : Type u_1
A : Type u_2
inst✝² : Semiring R
inst✝¹ : NonUnitalNonAssocSemiring A
inst✝ : DistribMulAction R A
r : R
a : A
⊢ r • a + 0 • 0 + 0 * a = r • a
Theorem: real_inner_div_norm_mul_norm_eq_one_of_ne_zero_of_pos_mul
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [real_inner_smul_self_right, norm_smul, Real.norm_eq_abs, ← mul_assoc ‖x‖, mul_comm _ (|r|),
  mul_assoc, abs_of_nonneg hr.le, div_self]
state_before: 𝕜 : Type ?u.3154828
E : Type ?u.3154831
F : Type u_1
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x : F
r : ℝ
hx : x ≠ 0
hr : 0 < r
⊢ inner x (r • x) / (‖x‖ * ‖r • x‖) = 1

tactic: exact mul_ne_zero hr.ne' (mul_self_ne_zero.2 (norm_ne_zero_iff.2 hx))
state_before: 𝕜 : Type ?u.3154828
E : Type ?u.3154831
F : Type u_1
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x : F
r : ℝ
hx : x ≠ 0
hr : 0 < r
⊢ r * (‖x‖ * ‖x‖) ≠ 0
Theorem: CategoryTheory.eqToHom_trans
File: Mathlib/CategoryTheory/EqToHom.lean

tactic: cases p
state_before: C : Type u₁
inst✝ : Category C
X Y Z : C
p : X = Y
q : Y = Z
⊢ eqToHom p ≫ eqToHom q = eqToHom (_ : X = Z)

tactic: cases q
state_before: case refl
C : Type u₁
inst✝ : Category C
X Z : C
q : X = Z
⊢ eqToHom (_ : X = X) ≫ eqToHom q = eqToHom (_ : X = Z)

tactic: simp
state_before: case refl.refl
C : Type u₁
inst✝ : Category C
X : C
⊢ eqToHom (_ : X = X) ≫ eqToHom (_ : X = X) = eqToHom (_ : X = X)