tasksource/leandojo huggingface dataset:
Theorem: RingHom.prod_unique
File: Mathlib/Algebra/Ring/Prod.lean

tactic: simp only [prod_apply, coe_fst, coe_snd, comp_apply, Prod.mk.eta]
state_before: α : Type ?u.36124
β : Type ?u.36127
R : Type u_1
R' : Type ?u.36133
S : Type u_3
S' : Type ?u.36139
T : Type u_2
T' : Type ?u.36145
inst✝² : NonAssocSemiring R
inst✝¹ : NonAssocSemiring S
inst✝ : NonAssocSemiring T
f✝ : R →+* S
g : R →+* T
f : R →+* S × T
x : R
⊢ ↑(RingHom.prod (comp (fst S T) f) (comp (snd S T) f)) x = ↑f x
Theorem: MonoidAlgebra.support_single_mul_subset
File: Mathlib/Algebra/MonoidAlgebra/Support.lean

tactic: intro x hx
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a : G
⊢ (single a r * f).support ⊆ image ((fun x x_1 => x * x_1) a) f.support

tactic: contrapose hx
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : x ∈ (single a r * f).support
⊢ x ∈ image ((fun x x_1 => x * x_1) a) f.support

tactic: have : ∀ y, a * y = x → f y = 0 := by
  simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
    Classical.not_not] using hx
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : ¬x ∈ image ((fun x x_1 => x * x_1) a) f.support
⊢ ¬x ∈ (single a r * f).support

tactic: simp only [mem_support_iff, mul_apply, sum_single_index, zero_mul, ite_self, sum_zero,
  Classical.not_not]
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : ¬x ∈ image ((fun x x_1 => x * x_1) a) f.support
this : ∀ (y : G), a * y = x → ↑f y = 0
⊢ ¬x ∈ (single a r * f).support

tactic: exact
  Finset.sum_eq_zero
    (by
      simp (config := { contextual := true }) only [this, mem_support_iff, mul_zero, Ne.def,
        ite_eq_right_iff, eq_self_iff_true, imp_true_iff])
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : ¬x ∈ image ((fun x x_1 => x * x_1) a) f.support
this : ∀ (y : G), a * y = x → ↑f y = 0
⊢ (sum f fun a₂ b₂ => if a * a₂ = x then r * b₂ else 0) = 0

tactic: simpa only [not_and', mem_image, mem_support_iff, exists_prop, not_exists,
  Classical.not_not] using hx
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : ¬x ∈ image ((fun x x_1 => x * x_1) a) f.support
⊢ ∀ (y : G), a * y = x → ↑f y = 0

tactic: simp (config := { contextual := true }) only [this, mem_support_iff, mul_zero, Ne.def,
  ite_eq_right_iff, eq_self_iff_true, imp_true_iff]
state_before: k : Type u₁
G : Type u₂
inst✝² : Semiring k
inst✝¹ : DecidableEq G
inst✝ : Mul G
f : MonoidAlgebra k G
r : k
a x : G
hx : ¬x ∈ image ((fun x x_1 => x * x_1) a) f.support
this : ∀ (y : G), a * y = x → ↑f y = 0
⊢ ∀ (x_1 : G), x_1 ∈ f.support → (fun a₂ b₂ => if a * a₂ = x then r * b₂ else 0) x_1 (↑f x_1) = 0
Theorem: isOfFinOrder_iff_pow_eq_one
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: simp [IsOfFinOrder, mem_periodicPts, isPeriodicPt_mul_iff_pow_eq_one]
state_before: G : Type u
A : Type v
x✝ y : G
a b : A
n m : ℕ
inst✝¹ : Monoid G
inst✝ : AddMonoid A
x : G
⊢ IsOfFinOrder x ↔ ∃ n, 0 < n ∧ x ^ n = 1
Theorem: PowerBasis.equivAdjoinSimple_symm_gen
File: Mathlib/FieldTheory/Adjoin.lean

tactic: rw [equivAdjoinSimple, equivOfMinpoly_symm, equivOfMinpoly_gen, adjoin.powerBasis_gen]
state_before: K : Type u_1
L : Type u_2
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
pb : PowerBasis K L
⊢ ↑(AlgEquiv.symm (equivAdjoinSimple pb)) pb.gen = AdjoinSimple.gen K pb.gen
Theorem: Set.preimage_injective
File: Mathlib/Data/Set/Image.lean

tactic: refine' ⟨fun h y => _, Surjective.preimage_injective⟩
state_before: α : Type u
β : Type v
f : α → β
⊢ Injective (preimage f) ↔ Surjective f

tactic: obtain ⟨x, hx⟩ : (f ⁻¹' {y}).Nonempty := by
  rw [h.nonempty_apply_iff preimage_empty]
  apply singleton_nonempty
state_before: α : Type u
β : Type v
f : α → β
h : Injective (preimage f)
y : β
⊢ ∃ a, f a = y

tactic: exact ⟨x, hx⟩
state_before: case intro
α : Type u
β : Type v
f : α → β
h : Injective (preimage f)
y : β
x : α
hx : x ∈ f ⁻¹' {y}
⊢ ∃ a, f a = y

tactic: rw [h.nonempty_apply_iff preimage_empty]
state_before: α : Type u
β : Type v
f : α → β
h : Injective (preimage f)
y : β
⊢ Set.Nonempty (f ⁻¹' {y})

tactic: apply singleton_nonempty
state_before: α : Type u
β : Type v
f : α → β
h : Injective (preimage f)
y : β
⊢ Set.Nonempty {y}
Theorem: Metric.infDist_image
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: simp [infDist, infEdist_image hΦ]
state_before: ι : Sort ?u.67433
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
hΦ : Isometry Φ
⊢ infDist (Φ x) (Φ '' t) = infDist x t
Theorem: Option.bind_eq_some
File: Std/Data/Option/Lemmas.lean

tactic: cases x <;> simp
state_before: α✝¹ : Type u_1
b : α✝¹
α✝ : Type u_2
x : Option α✝
f : α✝ → Option α✝¹
⊢ Option.bind x f = some b ↔ ∃ a, x = some a ∧ f a = some b
Theorem: Int.ofNat_fdiv
File: Std/Data/Int/DivMod.lean

tactic: simp [fdiv]
state_before: x✝ : Nat
⊢ ↑(0 / x✝) = fdiv ↑0 ↑x✝
Theorem: Prod.fst_eq_or_snd_eq_of_wcovby
File: Mathlib/Order/Cover.lean

tactic: refine' fun h => of_not_not fun hab => _
state_before: α : Type u_1
β : Type u_2
inst✝¹ : PartialOrder α
inst✝ : PartialOrder β
a a₁ a₂ : α
b b₁ b₂ : β
x y : α × β
⊢ x ⩿ y → x.fst = y.fst ∨ x.snd = y.snd

tactic: push_neg  at hab
state_before: α : Type u_1
β : Type u_2
inst✝¹ : PartialOrder α
inst✝ : PartialOrder β
a a₁ a₂ : α
b b₁ b₂ : β
x y : α × β
h : x ⩿ y
hab : ¬(x.fst = y.fst ∨ x.snd = y.snd)
⊢ False

tactic: exact
  h.2 (mk_lt_mk.2 <| Or.inl ⟨hab.1.lt_of_le h.1.1, le_rfl⟩)
    (mk_lt_mk.2 <| Or.inr ⟨le_rfl, hab.2.lt_of_le h.1.2⟩)
state_before: α : Type u_1
β : Type u_2
inst✝¹ : PartialOrder α
inst✝ : PartialOrder β
a a₁ a₂ : α
b b₁ b₂ : β
x y : α × β
h : x ⩿ y
hab : x.fst ≠ y.fst ∧ x.snd ≠ y.snd
⊢ False
Theorem: Multiset.sum_map_mul_right
File: Mathlib/Algebra/BigOperators/Multiset/Basic.lean

tactic: simp
state_before: ι : Type u_2
α : Type u_1
β : Type ?u.113460
γ : Type ?u.113463
inst✝ : NonUnitalNonAssocSemiring α
a : α
s : Multiset ι
f : ι → α
⊢ sum (map (fun i => f i * a) 0) = sum (map f 0) * a

tactic: simp [ih, add_mul]
state_before: ι : Type u_2
α : Type u_1
β : Type ?u.113460
γ : Type ?u.113463
inst✝ : NonUnitalNonAssocSemiring α
a✝ : α
s✝ : Multiset ι
f : ι → α
a : ι
s : Multiset ι
ih : sum (map (fun i => f i * a✝) s) = sum (map f s) * a✝
⊢ sum (map (fun i => f i * a✝) (a ::ₘ s)) = sum (map f (a ::ₘ s)) * a✝
Theorem: PowerSeries.coeff_monomial
File: Mathlib/RingTheory/PowerSeries/Basic.lean

tactic: simp only [Finsupp.unique_single_eq_iff]
state_before: R : Type u_1
inst✝ : Semiring R
m n : ℕ
a : R
⊢ (if single () m = single () n then a else 0) = if m = n then a else 0
Theorem: Equiv.Perm.support_inv
File: Mathlib/GroupTheory/Perm/Support.lean

tactic: simp_rw [Finset.ext_iff, mem_support, not_iff_not, inv_eq_iff_eq.trans eq_comm, imp_true_iff]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g σ : Perm α
⊢ support σ⁻¹ = support σ
Theorem: Equivalence.eqvGen_iff
File: Mathlib/Logic/Relation.lean

tactic: intro h
state_before: α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
⊢ EqvGen r a b → r a b

tactic: induction h with
| rel => assumption
| refl => exact h.1 _
| symm => apply h.symm; assumption
| trans _ _ _ _ _ hab hbc => exact h.trans hab hbc
state_before: α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h✝ : Equivalence r
h : EqvGen r a b
⊢ r a b

tactic: assumption
state_before: case rel
α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
x✝ y✝ : α
a✝ : r x✝ y✝
⊢ r x✝ y✝

tactic: exact h.1 _
state_before: case refl
α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
x✝ : α
⊢ r x✝ x✝

tactic: apply h.symm
state_before: case symm
α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
x✝ y✝ : α
a✝ : EqvGen r x✝ y✝
a_ih✝ : r x✝ y✝
⊢ r y✝ x✝

tactic: assumption
state_before: case symm
α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
x✝ y✝ : α
a✝ : EqvGen r x✝ y✝
a_ih✝ : r x✝ y✝
⊢ r x✝ y✝

tactic: exact h.trans hab hbc
state_before: case trans
α : Type u_1
β : Type ?u.30661
γ : Type ?u.30664
δ : Type ?u.30667
r : α → α → Prop
a b : α
h : Equivalence r
x✝ y✝ z✝ : α
a✝¹ : EqvGen r x✝ y✝
a✝ : EqvGen r y✝ z✝
hab : r x✝ y✝
hbc : r y✝ z✝
⊢ r x✝ z✝
Theorem: mul_inv_lt_iff'
File: Mathlib/Algebra/Order/Field/Basic.lean

tactic: rw [mul_comm, inv_mul_lt_iff' h]
state_before: ι : Type ?u.38209
α : Type u_1
β : Type ?u.38215
inst✝ : LinearOrderedSemifield α
a b c d e : α
m n : ℤ
h : 0 < b
⊢ a * b⁻¹ < c ↔ a < c * b
Theorem: stronglyMeasurable_const_smul_iff
File: Mathlib/MeasureTheory/Function/StronglyMeasurable/Basic.lean

tactic: simpa only [inv_smul_smul] using h.const_smul' c⁻¹
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.87779
ι : Type ?u.87782
inst✝¹⁰ : Countable ι
f g : α → β
M : Type ?u.87796
G : Type u_3
G₀ : Type ?u.87802
inst✝⁹ : TopologicalSpace β
inst✝⁸ : Monoid M
inst✝⁷ : MulAction M β
inst✝⁶ : ContinuousConstSMul M β
inst✝⁵ : Group G
inst✝⁴ : MulAction G β
inst✝³ : ContinuousConstSMul G β
inst✝² : GroupWithZero G₀
inst✝¹ : MulAction G₀ β
inst✝ : ContinuousConstSMul G₀ β
m : MeasurableSpace α
c : G
h : StronglyMeasurable fun x => c • f x
⊢ StronglyMeasurable f
Theorem: Coheyting.boundary_idem
File: Mathlib/Order/Heyting/Boundary.lean

tactic: rw [boundary, hnot_boundary, inf_top_eq]
state_before: α : Type u_1
inst✝ : CoheytingAlgebra α
a✝ b a : α
⊢ ∂ ∂ a = ∂ a
Theorem: MeasureTheory.continuous_of_dominated
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_1
E : Type u_2
F✝ : Type ?u.1031647
𝕜 : Type ?u.1031650
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace ℝ F✝
inst✝² : CompleteSpace F✝
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → E
bound : α → ℝ
hF_meas : ∀ (x : X), AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound
h_cont : ∀ᵐ (a : α) ∂μ, Continuous fun x => F x a
⊢ Continuous fun x => ∫ (a : α), F x a ∂μ

tactic: exact continuous_setToFun_of_dominated (dominatedFinMeasAdditive_weightedSMul μ)
  hF_meas h_bound bound_integrable h_cont
state_before: α : Type u_1
E : Type u_2
F✝ : Type ?u.1031647
𝕜 : Type ?u.1031650
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F✝
inst✝³ : NormedSpace ℝ F✝
inst✝² : CompleteSpace F✝
f g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_3
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
F : X → α → E
bound : α → ℝ
hF_meas : ∀ (x : X), AEStronglyMeasurable (F x) μ
h_bound : ∀ (x : X), ∀ᵐ (a : α) ∂μ, ‖F x a‖ ≤ bound a
bound_integrable : Integrable bound
h_cont : ∀ᵐ (a : α) ∂μ, Continuous fun x => F x a
⊢ Continuous fun x =>
    if hf : Integrable fun a => F x a then ↑L1.integralCLM (Integrable.toL1 (fun a => F x a) hf) else 0
Theorem: Mon_.one_leftUnitor
File: Mathlib/CategoryTheory/Monoidal/Mon_.lean

tactic: slice_lhs 2 3 => rw [leftUnitor_naturality]
state_before: C : Type u₁
inst✝¹ : Category C
inst✝ : MonoidalCategory C
M : Mon_ C
⊢ ((λ_ (𝟙_ C)).inv ≫ (𝟙 (𝟙_ C) ⊗ M.one)) ≫ (λ_ M.X).hom = M.one

tactic: simp
state_before: C : Type u₁
inst✝¹ : Category C
inst✝ : MonoidalCategory C
M : Mon_ C
⊢ (λ_ (𝟙_ C)).inv ≫ (λ_ (𝟙_ C)).hom ≫ M.one = M.one
Theorem: MeasureTheory.AECover.integrable_of_lintegral_nnnorm_tendsto'
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

tactic: simpa only [ENNReal.ofReal_coe_nnreal] using htendsto
state_before: α : Type u_2
ι : Type u_1
E : Type u_3
inst✝³ : MeasurableSpace α
μ : Measure α
l : Filter ι
inst✝² : NormedAddCommGroup E
inst✝¹ : NeBot l
inst✝ : IsCountablyGenerated l
φ : ι → Set α
hφ : AECover μ l φ
f : α → E
I : ℝ≥0
hfm : AEStronglyMeasurable f μ
htendsto : Tendsto (fun i => ∫⁻ (x : α) in φ i, ↑‖f x‖₊ ∂μ) l (𝓝 ↑I)
⊢ Tendsto (fun i => ∫⁻ (x : α) in φ i, ↑‖f x‖₊ ∂μ) l (𝓝 (ENNReal.ofReal ↑I))
Theorem: finEquivZpowers_symm_apply
File: Mathlib/GroupTheory/OrderOfElement.lean

tactic: rw [finEquivZpowers, Equiv.symm_trans_apply]
state_before: G : Type u
A : Type v
x✝ y : G
a b : A
n✝ m : ℕ
inst✝² : Group G
inst✝¹ : AddGroup A
inst✝ : Finite G
x : G
n : ℕ
hn : ∃ m, x ^ m = x ^ n
⊢ ↑(finEquivZpowers x).symm { val := x ^ n, property := hn } =
    { val := n % orderOf x, isLt := (_ : n % orderOf x < orderOf x) }

tactic: exact finEquivPowers_symm_apply x n
state_before: G : Type u
A : Type v
x✝ y : G
a b : A
n✝ m : ℕ
inst✝² : Group G
inst✝¹ : AddGroup A
inst✝ : Finite G
x : G
n : ℕ
hn : ∃ m, x ^ m = x ^ n
⊢ ↑(finEquivPowers x).symm
      (↑(Equiv.Set.ofEq (_ : ↑(Submonoid.powers x) = ↑(zpowers x))).symm { val := x ^ n, property := hn }) =
    { val := n % orderOf x, isLt := (_ : n % orderOf x < orderOf x) }
Theorem: Set.range_inr
File: Mathlib/Data/Set/Image.lean

tactic: ext (_|_) <;> simp
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.80560
ι : Sort ?u.80563
ι' : Sort ?u.80566
f : ι → α
s t : Set α
⊢ range Sum.inr = {x | Sum.isRight x = true}
Theorem: IntervalIntegrable.comp_add_right
File: Mathlib/MeasureTheory/Integral/IntervalIntegral.lean

tactic: wlog h : a ≤ b generalizing a b
state_before: ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A
f g : ℝ → E
a b : ℝ
μ : MeasureTheory.Measure ℝ
hf : IntervalIntegrable f volume a b
c : ℝ
⊢ IntervalIntegrable (fun x => f (x + c)) volume (a - c) (b - c)

tactic: rw [intervalIntegrable_iff'] at hf ⊢
state_before: ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A
f g : ℝ → E
a✝ b✝ : ℝ
μ : MeasureTheory.Measure ℝ
c a b : ℝ
hf : IntervalIntegrable f volume a b
h : a ≤ b
⊢ IntervalIntegrable (fun x => f (x + c)) volume (a - c) (b - c)

tactic: have A : MeasurableEmbedding fun x => x + c :=
  (Homeomorph.addRight c).closedEmbedding.measurableEmbedding
state_before: ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A
f g : ℝ → E
a✝ b✝ : ℝ
μ : MeasureTheory.Measure ℝ
c a b : ℝ
hf : IntegrableOn f [[a, b]]
h : a ≤ b
⊢ IntegrableOn (fun x => f (x + c)) [[a - c, b - c]]

tactic: rw [← map_add_right_eq_self volume c] at hf
state_before: ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A✝ : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A✝
f g : ℝ → E
a✝ b✝ : ℝ
μ : MeasureTheory.Measure ℝ
c a b : ℝ
hf : IntegrableOn f [[a, b]]
h : a ≤ b
A : MeasurableEmbedding fun x => x + c
⊢ IntegrableOn (fun x => f (x + c)) [[a - c, b - c]]

tactic: convert (MeasurableEmbedding.integrableOn_map_iff A).mp hf using 1
state_before: ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A✝ : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A✝
f g : ℝ → E
a✝ b✝ : ℝ
μ : MeasureTheory.Measure ℝ
c a b : ℝ
hf : IntegrableOn f [[a, b]]
h : a ≤ b
A : MeasurableEmbedding fun x => x + c
⊢ IntegrableOn (fun x => f (x + c)) [[a - c, b - c]]

tactic: rw [preimage_add_const_uIcc]
state_before: case h.e'_6
ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A✝ : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A✝
f g : ℝ → E
a✝ b✝ : ℝ
μ : MeasureTheory.Measure ℝ
c a b : ℝ
hf : IntegrableOn f [[a, b]]
h : a ≤ b
A : MeasurableEmbedding fun x => x + c
⊢ [[a - c, b - c]] = (fun x => x + c) ⁻¹' [[a, b]]

tactic: exact IntervalIntegrable.symm (this hf.symm (le_of_not_le h))
state_before: case inr
ι : Type ?u.7319192
𝕜 : Type ?u.7319195
E : Type u_1
F : Type ?u.7319201
A : Type ?u.7319204
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedRing A
f g : ℝ → E
a b : ℝ
μ : MeasureTheory.Measure ℝ
hf : IntervalIntegrable f volume a b
c : ℝ
this :
  ∀ {a b : ℝ}, IntervalIntegrable f volume a b → a ≤ b → IntervalIntegrable (fun x => f (x + c)) volume (a - c) (b - c)
h : ¬a ≤ b
⊢ IntervalIntegrable (fun x => f (x + c)) volume (a - c) (b - c)
Theorem: List.ofFn_fin_repeat
File: Mathlib/Data/List/OfFn.lean

tactic: simp_rw [ofFn_mul, ← ofFn_const, Fin.repeat, Fin.modNat, add_comm,
  Nat.add_mul_mod_self_right, Nat.mod_eq_of_lt (Fin.is_lt _)]
state_before: α : Type u
m : ℕ
a : Fin m → α
n : ℕ
⊢ ofFn (Fin.repeat n a) = join (replicate n (ofFn a))
Theorem: TendstoLocallyUniformlyOn.congr_right
File: Mathlib/Topology/UniformSpace/UniformConvergence.lean

tactic: rintro u hu x hx
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g✝ : ι → α
inst✝ : TopologicalSpace α
g : α → β
hf : TendstoLocallyUniformlyOn F f p s
hg : EqOn f g s
⊢ TendstoLocallyUniformlyOn F g p s

tactic: obtain ⟨t, ht, h⟩ := hf u hu x hx
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g✝ : ι → α
inst✝ : TopologicalSpace α
g : α → β
hf : TendstoLocallyUniformlyOn F f p s
hg : EqOn f g s
u : Set (β × β)
hu : u ∈ 𝓤 β
x : α
hx : x ∈ s
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (g y, F n y) ∈ u

tactic: refine' ⟨s ∩ t, inter_mem self_mem_nhdsWithin ht, _⟩
state_before: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g✝ : ι → α
inst✝ : TopologicalSpace α
g : α → β
hf : TendstoLocallyUniformlyOn F f p s
hg : EqOn f g s
u : Set (β × β)
hu : u ∈ 𝓤 β
x : α
hx : x ∈ s
t : Set α
ht : t ∈ 𝓝[s] x
h : ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (f y, F n y) ∈ u
⊢ ∃ t, t ∈ 𝓝[s] x ∧ ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (g y, F n y) ∈ u

tactic: filter_upwards [h]with i hi y hy using hg hy.1 ▸ hi y hy.2
state_before: case intro.intro
α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x✝ : α
p : Filter ι
p' : Filter α
g✝ : ι → α
inst✝ : TopologicalSpace α
g : α → β
hf : TendstoLocallyUniformlyOn F f p s
hg : EqOn f g s
u : Set (β × β)
hu : u ∈ 𝓤 β
x : α
hx : x ∈ s
t : Set α
ht : t ∈ 𝓝[s] x
h : ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ t → (f y, F n y) ∈ u
⊢ ∀ᶠ (n : ι) in p, ∀ (y : α), y ∈ s ∩ t → (g y, F n y) ∈ u
Theorem: Matrix.det_fin_two
File: Mathlib/LinearAlgebra/Matrix/Determinant.lean

tactic: simp [Matrix.det_succ_row_zero, Fin.sum_univ_succ]
state_before: m : Type ?u.2609749
n : Type ?u.2609752
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
A : Matrix (Fin 2) (Fin 2) R
⊢ det A = A 0 0 * A 1 1 - A 0 1 * A 1 0

tactic: ring
state_before: m : Type ?u.2609749
n : Type ?u.2609752
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
A : Matrix (Fin 2) (Fin 2) R
⊢ A 0 0 * A 1 1 + -(A 0 1 * A 1 0) = A 0 0 * A 1 1 - A 0 1 * A 1 0
Theorem: LinearMap.le_ker_iff_map
File: Mathlib/LinearAlgebra/Basic.lean

tactic: rw [ker, eq_bot_iff, map_le_iff_le_comap]
state_before: R : Type u_1
R₁ : Type ?u.1229974
R₂ : Type u_2
R₃ : Type ?u.1229980
R₄ : Type ?u.1229983
S : Type ?u.1229986
K : Type ?u.1229989
K₂ : Type ?u.1229992
M : Type u_3
M' : Type ?u.1229998
M₁ : Type ?u.1230001
M₂ : Type u_4
M₃ : Type ?u.1230007
M₄ : Type ?u.1230010
N : Type ?u.1230013
N₂ : Type ?u.1230016
ι : Type ?u.1230019
V : Type ?u.1230022
V₂ : Type ?u.1230025
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : Semiring R₃
inst✝⁸ : AddCommMonoid M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : Module R M
inst✝³ : Module R₂ M₂
inst✝² : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_5
sc : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : F
p : Submodule R M
⊢ p ≤ ker f ↔ map f p = ⊥
Theorem: MeasureTheory.integral_zero_measure
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: simp only [integral, L1.integral]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1303582
𝕜 : Type ?u.1303585
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m✝ : MeasurableSpace α
μ : Measure α
X : Type ?u.1306276
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
m : MeasurableSpace α
f : α → E
⊢ (∫ (x : α), f x ∂0) = 0

tactic: exact setToFun_measure_zero (dominatedFinMeasAdditive_weightedSMul _) rfl
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1303582
𝕜 : Type ?u.1303585
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℝ E
inst✝⁸ : CompleteSpace E
inst✝⁷ : NontriviallyNormedField 𝕜
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : CompleteSpace F
f✝ g : α → E
m✝ : MeasurableSpace α
μ : Measure α
X : Type ?u.1306276
inst✝¹ : TopologicalSpace X
inst✝ : FirstCountableTopology X
ν : Measure α
m : MeasurableSpace α
f : α → E
⊢ (if hf : Integrable fun x => f x then ↑L1.integralCLM (Integrable.toL1 (fun x => f x) hf) else 0) = 0
Theorem: Filter.exists_antitone_seq
File: Mathlib/Order/Filter/Bases.lean

tactic: simp [hx.1.mem_iff]
state_before: α : Type u_1
β : Type ?u.104073
γ : Type ?u.104076
ι : Type ?u.104079
ι' : Sort ?u.104082
f : Filter α
inst✝ : IsCountablyGenerated f
x : ℕ → Set α
hx : HasAntitoneBasis f x
⊢ ∀ {s : Set α}, s ∈ f ↔ ∃ i, x i ⊆ s
Theorem: mul_left_embedding_eq_mul_right_embedding
File: Mathlib/Algebra/Hom/Embedding.lean

tactic: ext
state_before: R : Type ?u.1165
G : Type u_1
inst✝ : CancelCommMonoid G
g : G
⊢ mulLeftEmbedding g = mulRightEmbedding g

tactic: exact mul_comm _ _
state_before: case h
R : Type ?u.1165
G : Type u_1
inst✝ : CancelCommMonoid G
g x✝ : G
⊢ ↑(mulLeftEmbedding g) x✝ = ↑(mulRightEmbedding g) x✝
Theorem: String.prev_lt_of_pos
File: src/lean/Init/Data/String/Basic.lean

tactic: simp [prev, h]
state_before: s : String
i : Pos
h : i ≠ 0
⊢ (prev s i).byteIdx < i.byteIdx

tactic: exact utf8PrevAux_lt_of_pos _ _ _ h
state_before: s : String
i : Pos
h : i ≠ 0
⊢ (utf8PrevAux s.data 0 i).byteIdx < i.byteIdx
Theorem: inner_self_im
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: rw [← @ofReal_inj 𝕜, im_eq_conj_sub]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.1187584
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x : E
⊢ ↑im (inner x x) = 0

tactic: simp
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.1187584
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
dec_E : DecidableEq E
x : E
⊢ I * (↑(starRingEnd 𝕜) (inner x x) - inner x x) / 2 = ↑0
Theorem: Real.arsinh_nonpos_iff
File: Mathlib/Analysis/SpecialFunctions/Arsinh.lean

tactic: rw [← sinh_le_sinh, sinh_zero, sinh_arsinh]
state_before: x y : ℝ
⊢ arsinh x ≤ 0 ↔ x ≤ 0
Theorem: Int.neg_div
File: Std/Data/Int/DivMod.lean

tactic: simp [Int.neg_zero]
state_before: n : Int
⊢ div (-0) n = -div 0 n