1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.condexp_bot
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/Basic.lean

tactic: refine (condexp_bot' f).trans ?_
state_before: α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁷ : RCLike 𝕜
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f✝ g : α → F'
s : Set α
inst✝ : IsProbabilityMeasure μ
f : α → F'
⊢ μ[f|⊥] = fun x => ∫ (x : α), f x ∂μ
state_after: α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁷ : RCLike 𝕜
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f✝ g : α → F'
s : Set α
inst✝ : IsProbabilityMeasure μ
f : α → F'
⊢ (fun x => (μ Set.univ).toReal⁻¹ • ∫ (x : α), f x ∂μ) = fun x => ∫ (x : α), f x ∂μ

tactic: rw [measure_univ, ENNReal.one_toReal, inv_one, one_smul]
state_before: α : Type u_1
F : Type u_2
F' : Type u_3
𝕜 : Type u_4
p : ℝ≥0∞
inst✝⁷ : RCLike 𝕜
inst✝⁶ : NormedAddCommGroup F
inst✝⁵ : NormedSpace 𝕜 F
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace 𝕜 F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f✝ g : α → F'
s : Set α
inst✝ : IsProbabilityMeasure μ
f : α → F'
⊢ (fun x => (μ Set.univ).toReal⁻¹ • ∫ (x : α), f x ∂μ) = fun x => ∫ (x : α), f x ∂μ
state_after: no goals
Theorem: cfcHom_le_iff
File: Mathlib/Topology/ContinuousFunction/FunctionalCalculus.lean

tactic: rw [← sub_nonneg, ← map_sub, cfcHom_nonneg_iff, sub_nonneg]
state_before: R : Type u_1
A : Type u_2
p : A → Prop
inst✝¹⁴ : OrderedCommRing R
inst✝¹³ : StarRing R
inst✝¹² : MetricSpace R
inst✝¹¹ : TopologicalRing R
inst✝¹⁰ : ContinuousStar R
inst✝⁹ : ∀ (α : Type ?u.771498) [inst : TopologicalSpace α], StarOrderedRing C(α, R)
inst✝⁸ : TopologicalSpace A
inst✝⁷ : Ring A
inst✝⁶ : StarRing A
inst✝⁵ : PartialOrder A
inst✝⁴ : StarOrderedRing A
inst✝³ : Algebra R A
inst✝² : StarModule R A
inst✝¹ : ContinuousFunctionalCalculus R p
inst✝ : NonnegSpectrumClass R A
a : A
ha : p a
f g : C(↑(spectrum R a), R)
⊢ (cfcHom ha) f ≤ (cfcHom ha) g ↔ f ≤ g
state_after: no goals
Theorem: Set.swap_mem_mulAntidiagonal
File: Mathlib/Data/Set/MulAntidiagonal.lean

tactic: simp [mul_comm, and_left_comm]
state_before: α : Type u_1
inst✝ : CommSemigroup α
s t : Set α
a : α
x : α × α
⊢ x.swap ∈ s.mulAntidiagonal t a ↔ x ∈ t.mulAntidiagonal s a
state_after: no goals
Theorem: Multiset.multinomial_filter_ne
File: Mathlib/Data/Nat/Choose/Multinomial.lean

tactic: dsimp only [multinomial]
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ m.multinomial = (card m).choose (count a m) * (filter (fun x => a ≠ x) m).multinomial
state_after: α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ (toFinsupp m).multinomial = (card m).choose (count a m) * (toFinsupp (filter (fun x => a ≠ x) m)).multinomial

tactic: convert Finsupp.multinomial_update a _
state_before: α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ (toFinsupp m).multinomial = (card m).choose (count a m) * (toFinsupp (filter (fun x => a ≠ x) m)).multinomial
state_after: case h.e'_3.h.e'_5.h.e'_1
α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ card m = (toFinsupp m).sum fun x => id

case h.e'_3.h.e'_6.h.e'_2
α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ toFinsupp (filter (fun x => a ≠ x) m) = (toFinsupp m).update a 0

tactic: rw [← Finsupp.card_toMultiset, m.toFinsupp_toMultiset]
state_before: case h.e'_3.h.e'_5.h.e'_1
α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ card m = (toFinsupp m).sum fun x => id
state_after: no goals

tactic: ext1 a
state_before: case h.e'_3.h.e'_6.h.e'_2
α : Type u_1
inst✝ : DecidableEq α
a : α
m : Multiset α
⊢ toFinsupp (filter (fun x => a ≠ x) m) = (toFinsupp m).update a 0
state_after: case h.e'_3.h.e'_6.h.e'_2.h
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
⊢ (toFinsupp (filter (fun x => a✝ ≠ x) m)) a = ((toFinsupp m).update a✝ 0) a

tactic: rw [toFinsupp_apply, count_filter, Finsupp.coe_update]
state_before: case h.e'_3.h.e'_6.h.e'_2.h
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
⊢ (toFinsupp (filter (fun x => a✝ ≠ x) m)) a = ((toFinsupp m).update a✝ 0) a
state_after: case h.e'_3.h.e'_6.h.e'_2.h
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
⊢ (if a✝ ≠ a then count a m else 0) = Function.update (⇑(toFinsupp m)) a✝ 0 a

tactic: split_ifs with h
state_before: case h.e'_3.h.e'_6.h.e'_2.h
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
⊢ (if a✝ ≠ a then count a m else 0) = Function.update (⇑(toFinsupp m)) a✝ 0 a
state_after: case pos
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
h : a✝ ≠ a
⊢ count a m = Function.update (⇑(toFinsupp m)) a✝ 0 a

case neg
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
h : ¬a✝ ≠ a
⊢ 0 = Function.update (⇑(toFinsupp m)) a✝ 0 a

tactic: rw [Function.update_noteq h.symm, toFinsupp_apply]
state_before: case pos
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
h : a✝ ≠ a
⊢ count a m = Function.update (⇑(toFinsupp m)) a✝ 0 a
state_after: no goals

tactic: rw [not_ne_iff.1 h, Function.update_same]
state_before: case neg
α : Type u_1
inst✝ : DecidableEq α
a✝ : α
m : Multiset α
a : α
h : ¬a✝ ≠ a
⊢ 0 = Function.update (⇑(toFinsupp m)) a✝ 0 a
state_after: no goals
Theorem: LinearMap.tailing_le_tunnel
File: Mathlib/LinearAlgebra/Prod.lean

tactic: dsimp [tailing, tunnelAux]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝⁴ : Ring R
N : Type u_3
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
f : M × N →ₗ[R] M
i : Injective ⇑f
n : ℕ
⊢ f.tailing i n ≤ OrderDual.ofDual ((f.tunnel i) n)
state_after: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝⁴ : Ring R
N : Type u_3
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
f : M × N →ₗ[R] M
i : Injective ⇑f
n : ℕ
⊢ Submodule.map (((f.tunnel' i n).fst.subtype ∘ₗ ↑(f.tunnel' i n).snd.symm) ∘ₗ f) (Submodule.snd R M N) ≤
    OrderDual.ofDual ((f.tunnel i) n)

tactic: rw [Submodule.map_comp, Submodule.map_comp]
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝⁴ : Ring R
N : Type u_3
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
f : M × N →ₗ[R] M
i : Injective ⇑f
n : ℕ
⊢ Submodule.map (((f.tunnel' i n).fst.subtype ∘ₗ ↑(f.tunnel' i n).snd.symm) ∘ₗ f) (Submodule.snd R M N) ≤
    OrderDual.ofDual ((f.tunnel i) n)
state_after: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝⁴ : Ring R
N : Type u_3
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
f : M × N →ₗ[R] M
i : Injective ⇑f
n : ℕ
⊢ Submodule.map (f.tunnel' i n).fst.subtype
      (Submodule.map (↑(f.tunnel' i n).snd.symm) (Submodule.map f (Submodule.snd R M N))) ≤
    OrderDual.ofDual ((f.tunnel i) n)

tactic: apply Submodule.map_subtype_le
state_before: R : Type u
K : Type u'
M : Type v
V : Type v'
M₂ : Type w
V₂ : Type w'
M₃ : Type y
V₃ : Type y'
M₄ : Type z
ι : Type x
M₅ : Type u_1
M₆ : Type u_2
inst✝⁴ : Ring R
N : Type u_3
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : AddCommGroup N
inst✝ : Module R N
f : M × N →ₗ[R] M
i : Injective ⇑f
n : ℕ
⊢ Submodule.map (f.tunnel' i n).fst.subtype
      (Submodule.map (↑(f.tunnel' i n).snd.symm) (Submodule.map f (Submodule.snd R M N))) ≤
    OrderDual.ofDual ((f.tunnel i) n)
state_after: no goals
Theorem: Orientation.oangle_sign_smul_add_smul_right
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Basic.lean

tactic: rw [← o.oangle_sign_smul_add_right x (r₁ • x + r₂ • y) (-r₁)]
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
r₁ r₂ : ℝ
⊢ (o.oangle x (r₁ • x + r₂ • y)).sign = SignType.sign r₂ * (o.oangle x y).sign
state_after: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
r₁ r₂ : ℝ
⊢ (o.oangle x (-r₁ • x + (r₁ • x + r₂ • y))).sign = SignType.sign r₂ * (o.oangle x y).sign

tactic: simp
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
x y : V
r₁ r₂ : ℝ
⊢ (o.oangle x (-r₁ • x + (r₁ • x + r₂ • y))).sign = SignType.sign r₂ * (o.oangle x y).sign
state_after: no goals
Theorem: Nat.gcd_eq_gcd_ab
File: Mathlib/Data/Int/GCD.lean

tactic: have := @xgcdAux_P x y x y 1 0 0 1 (by simp [P]) (by simp [P])
state_before: x y : ℕ
⊢ ↑(x.gcd y) = ↑x * x.gcdA y + ↑y * x.gcdB y
state_after: x y : ℕ
this : Nat.P x y (x.xgcdAux 1 0 y 0 1)
⊢ ↑(x.gcd y) = ↑x * x.gcdA y + ↑y * x.gcdB y

tactic: rwa [xgcdAux_val, xgcd_val] at this
state_before: x y : ℕ
this : Nat.P x y (x.xgcdAux 1 0 y 0 1)
⊢ ↑(x.gcd y) = ↑x * x.gcdA y + ↑y * x.gcdB y
state_after: no goals

tactic: simp [P]
state_before: x y : ℕ
⊢ Nat.P x y (x, 1, 0)
state_after: no goals

tactic: simp [P]
state_before: x y : ℕ
⊢ Nat.P x y (y, 0, 1)
state_after: no goals
Theorem: HurwitzKernelBounds.isBigO_one_aux
File: Mathlib/NumberTheory/ModularForms/JacobiTheta/Bounds.lean

tactic: refine ((Tendsto.const_sub _ ?_).inv₀ (by norm_num)).isBigO_one ℝ (c := ((1 - 0)⁻¹ : ℝ))
state_before: ⊢ (fun t => (1 - rexp (-π * t))⁻¹) =O[atTop] fun x => 1
state_after: ⊢ Tendsto (fun x => rexp (-π * x)) atTop (𝓝 0)

tactic: simpa only [neg_mul, tendsto_exp_comp_nhds_zero, tendsto_neg_atBot_iff]
  using tendsto_id.const_mul_atTop pi_pos
state_before: ⊢ Tendsto (fun x => rexp (-π * x)) atTop (𝓝 0)
state_after: no goals

tactic: norm_num
state_before: ⊢ 1 - 0 ≠ 0
state_after: no goals
Theorem: HasProd.map
File: Mathlib/Topology/Algebra/InfiniteSum/Basic.lean

tactic: have : (g ∘ fun s : Finset β ↦ ∏ b ∈ s, f b) = fun s : Finset β ↦ ∏ b ∈ s, (g ∘ f) b :=
  funext <| map_prod g _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
⊢ HasProd (⇑g ∘ f) (g a)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ HasProd (⇑g ∘ f) (g a)

tactic: unfold HasProd
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ HasProd (⇑g ∘ f) (g a)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ Tendsto (fun s => ∏ b ∈ s, (⇑g ∘ f) b) atTop (𝓝 (g a))

tactic: rw [← this]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ Tendsto (fun s => ∏ b ∈ s, (⇑g ∘ f) b) atTop (𝓝 (g a))
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ Tendsto (⇑g ∘ fun s => ∏ b ∈ s, f b) atTop (𝓝 (g a))

tactic: exact (hg.tendsto a).comp hf
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
inst✝⁵ : CommMonoid α
inst✝⁴ : TopologicalSpace α
f g✝ : β → α
a b : α
s : Finset β
inst✝³ : CommMonoid γ
inst✝² : TopologicalSpace γ
hf : HasProd f a
G : Type u_5
inst✝¹ : FunLike G α γ
inst✝ : MonoidHomClass G α γ
g : G
hg : Continuous ⇑g
this : (⇑g ∘ fun s => ∏ b ∈ s, f b) = fun s => ∏ b ∈ s, (⇑g ∘ f) b
⊢ Tendsto (⇑g ∘ fun s => ∏ b ∈ s, f b) atTop (𝓝 (g a))
state_after: no goals
Theorem: IsLocalization.ringEquivOfRingEquiv_eq
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: simp
state_before: R : Type u_1
inst✝⁷ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝⁶ : CommSemiring S
inst✝⁵ : Algebra R S
P : Type u_3
inst✝⁴ : CommSemiring P
inst✝³ : IsLocalization M S
g : R →+* P
hg : ∀ (y : ↥M), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝² : CommSemiring Q
hy : M ≤ Submonoid.comap g T
inst✝¹ : Algebra P Q
inst✝ : IsLocalization T Q
j : R ≃+* P
H : Submonoid.map j.toMonoidHom M = T
x : R
⊢ (ringEquivOfRingEquiv S Q j H) ((algebraMap R S) x) = (algebraMap P Q) (j x)
state_after: no goals
Theorem: Filter.map₂_left
File: Mathlib/Order/Filter/NAry.lean

tactic: rw [← map_prod_eq_map₂, map_fst_prod]
state_before: α : Type u_1
α' : Type u_2
β : Type u_3
β' : Type u_4
γ : Type u_5
γ' : Type u_6
δ : Type u_7
δ' : Type u_8
ε : Type u_9
ε' : Type u_10
m : α → β → γ
f f₁ f₂ : Filter α
g g₁ g₂ : Filter β
h h₁ h₂ : Filter γ
s s₁ s₂ : Set α
t t₁ t₂ : Set β
u : Set γ
v : Set δ
a : α
b : β
c : γ
inst✝ : g.NeBot
⊢ map₂ (fun x x_1 => x) f g = f
state_after: no goals
Theorem: Complex.dist_conj_comm
File: Mathlib/Analysis/Complex/Basic.lean

tactic: rw [← dist_conj_conj, conj_conj]
state_before: z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
z w : ℂ
⊢ dist ((starRingEnd ℂ) z) w = dist z ((starRingEnd ℂ) w)
state_after: no goals
Theorem: MeasureTheory.lintegral_add_compl
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

tactic: rw [← lintegral_add_measure, Measure.restrict_add_restrict_compl hA]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
f : α → ℝ≥0∞
A : Set α
hA : MeasurableSet A
⊢ ∫⁻ (x : α) in A, f x ∂μ + ∫⁻ (x : α) in Aᶜ, f x ∂μ = ∫⁻ (x : α), f x ∂μ
state_after: no goals
Theorem: FreeMonoid.mrange_lift
File: Mathlib/Algebra/Group/Submonoid/Membership.lean

tactic: rw [mrange_eq_map, ← FreeMonoid.closure_range_of, map_mclosure, ← Set.range_comp,
  FreeMonoid.lift_comp_of]
state_before: M : Type u_1
A : Type u_2
B : Type u_3
inst✝ : Monoid M
a : M
α : Type u_4
f : α → M
⊢ mrange (FreeMonoid.lift f) = closure (Set.range f)
state_after: no goals
Theorem: Real.Angle.two_nsmul_coe_pi
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean

tactic: simp [← natCast_mul_eq_nsmul]
state_before: ⊢ 2 • ↑π = 0
state_after: no goals
Theorem: norm_image_sub_le_of_norm_deriv_le_segment
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: refine norm_image_sub_le_of_norm_deriv_le_segment' ?_ bound
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f : ℝ → E
a b C : ℝ
hf : DifferentiableOn ℝ f (Icc a b)
bound : ∀ x ∈ Ico a b, ‖derivWithin f (Icc a b) x‖ ≤ C
⊢ ∀ x ∈ Icc a b, ‖f x - f a‖ ≤ C * (x - a)
state_after: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f : ℝ → E
a b C : ℝ
hf : DifferentiableOn ℝ f (Icc a b)
bound : ∀ x ∈ Ico a b, ‖derivWithin f (Icc a b) x‖ ≤ C
⊢ ∀ x ∈ Icc a b, HasDerivWithinAt f (derivWithin f (Icc a b) x) (Icc a b) x

tactic: exact fun x hx => (hf x hx).hasDerivWithinAt
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f : ℝ → E
a b C : ℝ
hf : DifferentiableOn ℝ f (Icc a b)
bound : ∀ x ∈ Ico a b, ‖derivWithin f (Icc a b) x‖ ≤ C
⊢ ∀ x ∈ Icc a b, HasDerivWithinAt f (derivWithin f (Icc a b) x) (Icc a b) x
state_after: no goals
Theorem: PMF.mem_support_map_iff
File: Mathlib/Probability/ProbabilityMassFunction/Constructions.lean

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
f : α → β
p : PMF α
b : β
⊢ b ∈ (map f p).support ↔ ∃ a ∈ p.support, f a = b
state_after: no goals
Theorem: monotone_of_hasDerivAt_nonneg
File: Mathlib/Analysis/Calculus/MeanValue.lean

tactic: rw [(hf _).deriv]
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f f' : ℝ → ℝ
hf : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : 0 ≤ f'
x : ℝ
⊢ 0 ≤ deriv f x
state_after: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f f' : ℝ → ℝ
hf : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : 0 ≤ f'
x : ℝ
⊢ 0 ≤ f' x

tactic: exact hf' _
state_before: E : Type u_1
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
F : Type u_2
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
f f' : ℝ → ℝ
hf : ∀ (x : ℝ), HasDerivAt f (f' x) x
hf' : 0 ≤ f'
x : ℝ
⊢ 0 ≤ f' x
state_after: no goals
Theorem: List.getElem_finRange
File: Mathlib/Data/List/Range.lean

tactic: simp only [finRange, getElem_range, getElem_pmap]
state_before: α : Type u
n i : ℕ
h : i < (finRange n).length
⊢ (finRange n)[i] = ⟨i, ⋯⟩
state_after: no goals
Theorem: Filter.map_sigma_mk_comap
File: Mathlib/Order/Filter/Bases.lean

tactic: refine (((basis_sets _).comap _).map _).eq_of_same_basis ?_
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
π : α → Type u_6
π' : β → Type u_7
f : α → β
hf : Function.Injective f
g : (a : α) → π a → π' (f a)
a : α
l : Filter (π' (f a))
⊢ map (Sigma.mk a) (comap (g a) l) = comap (Sigma.map f g) (map (Sigma.mk (f a)) l)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
π : α → Type u_6
π' : β → Type u_7
f : α → β
hf : Function.Injective f
g : (a : α) → π a → π' (f a)
a : α
l : Filter (π' (f a))
⊢ (comap (Sigma.map f g) (map (Sigma.mk (f a)) l)).HasBasis (fun s => s ∈ l) fun i => Sigma.mk a '' (g a ⁻¹' id i)

tactic: convert ((basis_sets l).map (Sigma.mk (f a))).comap (Sigma.map f g)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
π : α → Type u_6
π' : β → Type u_7
f : α → β
hf : Function.Injective f
g : (a : α) → π a → π' (f a)
a : α
l : Filter (π' (f a))
⊢ (comap (Sigma.map f g) (map (Sigma.mk (f a)) l)).HasBasis (fun s => s ∈ l) fun i => Sigma.mk a '' (g a ⁻¹' id i)
state_after: case h.e'_5.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
π : α → Type u_6
π' : β → Type u_7
f : α → β
hf : Function.Injective f
g : (a : α) → π a → π' (f a)
a : α
l : Filter (π' (f a))
x✝ : Set (π' (f a))
⊢ Sigma.mk a '' (g a ⁻¹' id x✝) = Sigma.map f g ⁻¹' (Sigma.mk (f a) '' id x✝)

tactic: apply image_sigmaMk_preimage_sigmaMap hf
state_before: case h.e'_5.h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
π : α → Type u_6
π' : β → Type u_7
f : α → β
hf : Function.Injective f
g : (a : α) → π a → π' (f a)
a : α
l : Filter (π' (f a))
x✝ : Set (π' (f a))
⊢ Sigma.mk a '' (g a ⁻¹' id x✝) = Sigma.map f g ⁻¹' (Sigma.mk (f a) '' id x✝)
state_after: no goals
Theorem: WithTop.add_lt_add_right
File: Mathlib/Algebra/Order/Monoid/WithTop.lean

tactic: lift a to α using ha
state_before: α : Type u
β : Type v
inst✝² : Add α
a b c d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
ha : a ≠ ⊤
h : b < c
⊢ b + a < c + a
state_after: case intro
α : Type u
β : Type v
inst✝² : Add α
b c d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
h : b < c
a : α
⊢ b + ↑a < c + ↑a

tactic: rcases lt_iff_exists_coe.1 h with ⟨b, rfl, h'⟩
state_before: case intro
α : Type u
β : Type v
inst✝² : Add α
b c d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
h : b < c
a : α
⊢ b + ↑a < c + ↑a
state_after: case intro.intro.intro
α : Type u
β : Type v
inst✝² : Add α
c d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b : α
h' h : ↑b < c
⊢ ↑b + ↑a < c + ↑a

tactic: cases c
state_before: case intro.intro.intro
α : Type u
β : Type v
inst✝² : Add α
c d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b : α
h' h : ↑b < c
⊢ ↑b + ↑a < c + ↑a
state_after: case intro.intro.intro.top
α : Type u
β : Type v
inst✝² : Add α
d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b : α
h' h : ↑b < ⊤
⊢ ↑b + ↑a < ⊤ + ↑a

case intro.intro.intro.coe
α : Type u
β : Type v
inst✝² : Add α
d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b a✝ : α
h' h : ↑b < ↑a✝
⊢ ↑b + ↑a < ↑a✝ + ↑a

tactic: exact coe_lt_top _
state_before: case intro.intro.intro.top
α : Type u
β : Type v
inst✝² : Add α
d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b : α
h' h : ↑b < ⊤
⊢ ↑b + ↑a < ⊤ + ↑a
state_after: no goals

tactic: exact coe_lt_coe.2 (add_lt_add_right (coe_lt_coe.1 h) _)
state_before: case intro.intro.intro.coe
α : Type u
β : Type v
inst✝² : Add α
d : WithTop α
x y : α
inst✝¹ : LT α
inst✝ : CovariantClass α α (swap fun x x_1 => x + x_1) fun x x_1 => x < x_1
a b a✝ : α
h' h : ↑b < ↑a✝
⊢ ↑b + ↑a < ↑a✝ + ↑a
state_after: no goals
Theorem: Equiv.Perm.IsCycleOn.apply_ne
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: obtain ⟨b, hb, hba⟩ := hs.exists_ne a
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b x y : α
hf : f.IsCycleOn s
hs : s.Nontrivial
ha : a ∈ s
⊢ f a ≠ a
state_after: case intro.intro
ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b✝ x y : α
hf : f.IsCycleOn s
hs : s.Nontrivial
ha : a ∈ s
b : α
hb : b ∈ s
hba : b ≠ a
⊢ f a ≠ a

tactic: obtain ⟨n, rfl⟩ := hf.2 ha hb
state_before: case intro.intro
ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b✝ x y : α
hf : f.IsCycleOn s
hs : s.Nontrivial
ha : a ∈ s
b : α
hb : b ∈ s
hba : b ≠ a
⊢ f a ≠ a
state_after: case intro.intro.intro
ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b x y : α
hf : f.IsCycleOn s
hs : s.Nontrivial
ha : a ∈ s
n : ℤ
hb : (f ^ n) a ∈ s
hba : (f ^ n) a ≠ a
⊢ f a ≠ a

tactic: exact fun h => hba (IsFixedPt.perm_zpow h n)
state_before: case intro.intro.intro
ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b x y : α
hf : f.IsCycleOn s
hs : s.Nontrivial
ha : a ∈ s
n : ℤ
hb : (f ^ n) a ∈ s
hba : (f ^ n) a ≠ a
⊢ f a ≠ a
state_after: no goals
Theorem: gcd_one_left'
File: Mathlib/Algebra/GCDMonoid/Basic.lean

tactic: simp
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : GCDMonoid α
a : α
⊢ Associated (gcd 1 a) 1
state_after: no goals