1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: isOrderBornology_iff_eq_orderBornology
File: Mathlib/Topology/Order/Bornology.lean

tactic: refine ⟨fun h ↦ ?_, fun h ↦ ⟨fun s ↦ by rw [h, orderBornology_isBounded]⟩⟩
state_before: α : Type u_1
inst✝² : Bornology α
s t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
⊢ IsOrderBornology α ↔ inst✝² = orderBornology
state_after: α : Type u_1
inst✝² : Bornology α
s t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
h : IsOrderBornology α
⊢ inst✝² = orderBornology

tactic: ext s
state_before: α : Type u_1
inst✝² : Bornology α
s t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
h : IsOrderBornology α
⊢ inst✝² = orderBornology
state_after: case h_cobounded.a
α : Type u_1
inst✝² : Bornology α
s✝ t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
h : IsOrderBornology α
s : Set α
⊢ s ∈ cobounded α ↔ s ∈ cobounded α

tactic: exact isBounded_compl_iff.symm.trans (h.1 _)
state_before: case h_cobounded.a
α : Type u_1
inst✝² : Bornology α
s✝ t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
h : IsOrderBornology α
s : Set α
⊢ s ∈ cobounded α ↔ s ∈ cobounded α
state_after: no goals

tactic: rw [h, orderBornology_isBounded]
state_before: α : Type u_1
inst✝² : Bornology α
s✝ t : Set α
inst✝¹ : Lattice α
inst✝ : Nonempty α
h : inst✝² = orderBornology
s : Set α
⊢ IsBounded s ↔ BddBelow s ∧ BddAbove s
state_after: no goals
Theorem: IsPrimitiveRoot.zpow_eq_one
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: rw [zpow_natCast]
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ k
⊢ ζ ^ ↑k = 1
state_after: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ k
⊢ ζ ^ k = 1

tactic: exact h.pow_eq_one
state_before: M : Type u_1
N : Type u_2
G : Type u_3
R : Type u_4
S : Type u_5
F : Type u_6
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ k
⊢ ζ ^ k = 1
state_after: no goals
Theorem: Complex.restrictScalars_one_smulRight
File: Mathlib/Analysis/Complex/Basic.lean

tactic: ext1 z
state_before: z : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
x : ℂ
⊢ restrictScalars ℝ (smulRight 1 x) = x • 1
state_after: case h
z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
x z : ℂ
⊢ (restrictScalars ℝ (smulRight 1 x)) z = (x • 1) z

tactic: dsimp
state_before: case h
z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
x z : ℂ
⊢ (restrictScalars ℝ (smulRight 1 x)) z = (x • 1) z
state_after: case h
z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
x z : ℂ
⊢ z * x = x * z

tactic: apply mul_comm
state_before: case h
z✝ : ℂ
E : Type u_1
inst✝¹ : SeminormedAddCommGroup E
inst✝ : NormedSpace ℂ E
x z : ℂ
⊢ z * x = x * z
state_after: no goals
Theorem: Option.map_map₂_right_comm
File: Mathlib/Data/Option/NAry.lean

tactic: cases a <;> cases b <;> simp [h_right_comm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
f✝ : α → β → γ
a : Option α
b : Option β
c : Option γ
α' : Type u_5
β' : Type u_6
δ' : Type u_7
ε : Type u_8
ε' : Type u_9
f : α → β' → γ
g : β → β'
f' : α → β → δ
g' : δ → γ
h_right_comm : ∀ (a : α) (b : β), f a (g b) = g' (f' a b)
⊢ map₂ f a (Option.map g b) = Option.map g' (map₂ f' a b)
state_after: no goals
Theorem: interval_average_symm
File: Mathlib/MeasureTheory/Integral/IntervalAverage.lean

tactic: rw [setAverage_eq, setAverage_eq, uIoc_comm]
state_before: E : Type u_1
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℝ E
inst✝ : CompleteSpace E
f : ℝ → E
a b : ℝ
⊢ ⨍ (x : ℝ) in a..b, f x = ⨍ (x : ℝ) in b..a, f x
state_after: no goals
Theorem: finsuppTensorFinsuppRid_single_tmul_single
File: Mathlib/LinearAlgebra/DirectSum/Finsupp.lean

tactic: simp [finsuppTensorFinsuppRid]
state_before: R : Type u_1
S : Type u_2
M : Type u_3
N : Type u_4
ι : Type u_5
κ : Type u_6
inst✝⁸ : CommSemiring R
inst✝⁷ : AddCommMonoid M
inst✝⁶ : Module R M
inst✝⁵ : AddCommMonoid N
inst✝⁴ : Module R N
inst✝³ : Semiring S
inst✝² : Algebra R S
inst✝¹ : Module S M
inst✝ : IsScalarTower R S M
a : ι
b : κ
m : M
r : R
⊢ (finsuppTensorFinsuppRid R M ι κ) (Finsupp.single a m ⊗ₜ[R] Finsupp.single b r) = Finsupp.single (a, b) (r • m)
state_after: no goals
Theorem: Finset.lcm_dvd_iff
File: Mathlib/Algebra/GCDMonoid/Finset.lean

tactic: apply Iff.trans Multiset.lcm_dvd
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f : β → α
a : α
⊢ s.lcm f ∣ a ↔ ∀ b ∈ s, f b ∣ a
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f : β → α
a : α
⊢ (∀ b ∈ Multiset.map f s.val, b ∣ a) ↔ ∀ b ∈ s, f b ∣ a

tactic: simp only [Multiset.mem_map, and_imp, exists_imp]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f : β → α
a : α
⊢ (∀ b ∈ Multiset.map f s.val, b ∣ a) ↔ ∀ b ∈ s, f b ∣ a
state_after: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f : β → α
a : α
⊢ (∀ (b : α), ∀ x ∈ s.val, f x = b → b ∣ a) ↔ ∀ b ∈ s, f b ∣ a

tactic: exact ⟨fun k b hb ↦ k _ _ hb rfl, fun k a' b hb h ↦ h ▸ k _ hb⟩
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : NormalizedGCDMonoid α
s s₁ s₂ : Finset β
f : β → α
a : α
⊢ (∀ (b : α), ∀ x ∈ s.val, f x = b → b ∣ a) ↔ ∀ b ∈ s, f b ∣ a
state_after: no goals
Theorem: RatFunc.taylor_mem_nonZeroDivisors
File: Mathlib/FieldTheory/Laurent.lean

tactic: rw [mem_nonZeroDivisors_iff]
state_before: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
⊢ (taylor r) p ∈ R[X]⁰
state_after: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
⊢ ∀ (x : R[X]), x * (taylor r) p = 0 → x = 0

tactic: intro x hx
state_before: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
⊢ ∀ (x : R[X]), x * (taylor r) p = 0 → x = 0
state_after: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
x : R[X]
hx : x * (taylor r) p = 0
⊢ x = 0

tactic: have : x = taylor (r - r) x := by simp
state_before: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
x : R[X]
hx : x * (taylor r) p = 0
⊢ x = 0
state_after: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
x : R[X]
hx : x * (taylor r) p = 0
this : x = (taylor (r - r)) x
⊢ x = 0

tactic: rwa [this, sub_eq_add_neg, ← taylor_taylor, ← taylor_mul,
  LinearMap.map_eq_zero_iff _ (taylor_injective _), mul_right_mem_nonZeroDivisors_eq_zero_iff hp,
  LinearMap.map_eq_zero_iff _ (taylor_injective _)] at hx
state_before: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
x : R[X]
hx : x * (taylor r) p = 0
this : x = (taylor (r - r)) x
⊢ x = 0
state_after: no goals

tactic: simp
state_before: R : Type u
inst✝ : CommRing R
hdomain : IsDomain R
r s : R
p q : R[X]
f : RatFunc R
hp : p ∈ R[X]⁰
x : R[X]
hx : x * (taylor r) p = 0
⊢ x = (taylor (r - r)) x
state_after: no goals
Theorem: eq_zero_or_one_of_sq_eq_self
File: Mathlib/Algebra/GroupWithZero/Defs.lean

tactic: simpa [sq] using hx
state_before: G₀ : Type u
M₀ : Type u_1
M₀' : Type u_2
G₀' : Type u_3
inst✝ : CancelMonoidWithZero M₀
x : M₀
hx : x ^ 2 = x
x✝ : ¬x = 0
⊢ (fun a => a * x) x = (fun a => a * x) 1
state_after: no goals
Theorem: SMulPosReflectLE.lift
File: Mathlib/Algebra/Order/Module/Defs.lean

tactic: simp only [← hf, ← lt_iff_lt_of_le_iff_le' hf hf, zero, smul] at *
state_before: α : Type u_1
β : Type u_2
a a₁✝ a₂✝ : α
b✝ b₁ b₂ : β
γ : Type u_3
inst✝⁸ : Zero α
inst✝⁷ : Preorder α
inst✝⁶ : Zero β
inst✝⁵ : Preorder β
inst✝⁴ : Zero γ
inst✝³ : Preorder γ
inst✝² : SMul α β
inst✝¹ : SMul α γ
f : β → γ
hf : ∀ {b₁ b₂ : β}, f b₁ ≤ f b₂ ↔ b₁ ≤ b₂
smul : ∀ (a : α) (b : β), f (a • b) = a • f b
zero : f 0 = 0
inst✝ : SMulPosReflectLE α γ
b : β
hb : 0 < b
a₁ a₂ : α
h : a₁ • b ≤ a₂ • b
⊢ a₁ ≤ a₂
state_after: α : Type u_1
β : Type u_2
a a₁✝ a₂✝ : α
b✝ b₁ b₂ : β
γ : Type u_3
inst✝⁸ : Zero α
inst✝⁷ : Preorder α
inst✝⁶ : Zero β
inst✝⁵ : Preorder β
inst✝⁴ : Zero γ
inst✝³ : Preorder γ
inst✝² : SMul α β
inst✝¹ : SMul α γ
f : β → γ
inst✝ : SMulPosReflectLE α γ
b : β
a₁ a₂ : α
hf : ∀ {b₁ b₂ : β}, True
smul : α → β → True
zero : True
hb : 0 < f b
h : a₁ • f b ≤ a₂ • f b
⊢ a₁ ≤ a₂

tactic: exact le_of_smul_le_smul_right h hb
state_before: α : Type u_1
β : Type u_2
a a₁✝ a₂✝ : α
b✝ b₁ b₂ : β
γ : Type u_3
inst✝⁸ : Zero α
inst✝⁷ : Preorder α
inst✝⁶ : Zero β
inst✝⁵ : Preorder β
inst✝⁴ : Zero γ
inst✝³ : Preorder γ
inst✝² : SMul α β
inst✝¹ : SMul α γ
f : β → γ
inst✝ : SMulPosReflectLE α γ
b : β
a₁ a₂ : α
hf : ∀ {b₁ b₂ : β}, True
smul : α → β → True
zero : True
hb : 0 < f b
h : a₁ • f b ≤ a₂ • f b
⊢ a₁ ≤ a₂
state_after: no goals
Theorem: MeasureTheory.sigmaFinite_of_measure_compl_sigmaFiniteSet_eq_zero
File: Mathlib/MeasureTheory/Measure/WithDensityFinite.lean

tactic: rw [← Measure.restrict_add_restrict_compl (μ := μ) (measurableSet_sigmaFiniteSet μ),
  Measure.restrict_eq_zero.mpr h, add_zero]
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝ : SFinite μ
h : μ μ.sigmaFiniteSetᶜ = 0
⊢ SigmaFinite μ
state_after: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝ : SFinite μ
h : μ μ.sigmaFiniteSetᶜ = 0
⊢ SigmaFinite (μ.restrict μ.sigmaFiniteSet)

tactic: infer_instance
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
s t : Set α
inst✝ : SFinite μ
h : μ μ.sigmaFiniteSetᶜ = 0
⊢ SigmaFinite (μ.restrict μ.sigmaFiniteSet)
state_after: no goals
Theorem: MeasureTheory.integrableOn_Ioi_comp_mul_right_iff
File: Mathlib/MeasureTheory/Integral/IntegralEqImproper.lean

tactic: simpa only [mul_comm, mul_zero] using integrableOn_Ioi_comp_mul_left_iff f c ha
state_before: E : Type u_1
inst✝ : NormedAddCommGroup E
f : ℝ → E
c a : ℝ
ha : 0 < a
⊢ IntegrableOn (fun x => f (x * a)) (Ioi c) volume ↔ IntegrableOn f (Ioi (c * a)) volume
state_after: no goals
Theorem: Matrix.conjTranspose_circulant
File: Mathlib/LinearAlgebra/Matrix/Circulant.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
R : Type u_5
inst✝¹ : Star α
inst✝ : AddGroup n
v : n → α
⊢ (circulant v)ᴴ = circulant (star fun i => v (-i))
state_after: case a
α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
R : Type u_5
inst✝¹ : Star α
inst✝ : AddGroup n
v : n → α
i✝ j✝ : n
⊢ (circulant v)ᴴ i✝ j✝ = circulant (star fun i => v (-i)) i✝ j✝

tactic: simp
state_before: case a
α : Type u_1
β : Type u_2
m : Type u_3
n : Type u_4
R : Type u_5
inst✝¹ : Star α
inst✝ : AddGroup n
v : n → α
i✝ j✝ : n
⊢ (circulant v)ᴴ i✝ j✝ = circulant (star fun i => v (-i)) i✝ j✝
state_after: no goals
Theorem: MeasureTheory.Measure.rnDeriv_smul_right_of_ne_top'
File: Mathlib/MeasureTheory/Decomposition/Lebesgue.lean

tactic: have h : ν.rnDeriv (r.toNNReal • μ) =ᵐ[μ] r.toNNReal⁻¹ • ν.rnDeriv μ := by
  refine rnDeriv_smul_right' ν μ ?_
  rw [ne_eq, ENNReal.toNNReal_eq_zero_iff]
  simp [hr, hr_ne_top]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ ν.rnDeriv (r • μ) =ᶠ[ae μ] r⁻¹ • ν.rnDeriv μ
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
h : ν.rnDeriv (r.toNNReal • μ) =ᶠ[ae μ] r.toNNReal⁻¹ • ν.rnDeriv μ
⊢ ν.rnDeriv (r • μ) =ᶠ[ae μ] r⁻¹ • ν.rnDeriv μ

tactic: rwa [ENNReal.smul_def, ENNReal.coe_toNNReal hr_ne_top,
  ← ENNReal.toNNReal_inv, ENNReal.smul_def, ENNReal.coe_toNNReal (ENNReal.inv_ne_top.mpr hr)] at h
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
h : ν.rnDeriv (r.toNNReal • μ) =ᶠ[ae μ] r.toNNReal⁻¹ • ν.rnDeriv μ
⊢ ν.rnDeriv (r • μ) =ᶠ[ae μ] r⁻¹ • ν.rnDeriv μ
state_after: no goals

tactic: refine rnDeriv_smul_right' ν μ ?_
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ ν.rnDeriv (r.toNNReal • μ) =ᶠ[ae μ] r.toNNReal⁻¹ • ν.rnDeriv μ
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ r.toNNReal ≠ 0

tactic: rw [ne_eq, ENNReal.toNNReal_eq_zero_iff]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ r.toNNReal ≠ 0
state_after: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ ¬(r = 0 ∨ r = ⊤)

tactic: simp [hr, hr_ne_top]
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ✝ ν✝ ν μ : Measure α
inst✝¹ : SigmaFinite ν
inst✝ : SigmaFinite μ
r : ℝ≥0∞
hr : r ≠ 0
hr_ne_top : r ≠ ⊤
⊢ ¬(r = 0 ∨ r = ⊤)
state_after: no goals
Theorem: FirstOrder.Language.Term.realize_relabel
File: Mathlib/ModelTheory/Semantics.lean

tactic: induction' t with _ n f ts ih
state_before: L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
t : L.Term α
g : α → β
v : β → M
⊢ realize v (relabel g t) = realize (v ∘ g) t
state_after: case var
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
g : α → β
v : β → M
a✝ : α
⊢ realize v (relabel g (var a✝)) = realize (v ∘ g) (var a✝)

case func
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
g : α → β
v : β → M
n : ℕ
f : L.Functions n
ts : Fin n → L.Term α
ih : ∀ (a : Fin n), realize v (relabel g (ts a)) = realize (v ∘ g) (ts a)
⊢ realize v (relabel g (func f ts)) = realize (v ∘ g) (func f ts)

tactic: rfl
state_before: case var
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
g : α → β
v : β → M
a✝ : α
⊢ realize v (relabel g (var a✝)) = realize (v ∘ g) (var a✝)
state_after: no goals

tactic: simp [ih]
state_before: case func
L : Language
L' : Language
M : Type w
N : Type u_1
P : Type u_2
inst✝² : L.Structure M
inst✝¹ : L.Structure N
inst✝ : L.Structure P
α : Type u'
β : Type v'
γ : Type u_3
g : α → β
v : β → M
n : ℕ
f : L.Functions n
ts : Fin n → L.Term α
ih : ∀ (a : Fin n), realize v (relabel g (ts a)) = realize (v ∘ g) (ts a)
⊢ realize v (relabel g (func f ts)) = realize (v ∘ g) (func f ts)
state_after: no goals
Theorem: MeasureTheory.AEStronglyMeasurable.compProd_mk_left
File: Mathlib/Probability/Kernel/IntegralCompProd.lean

tactic: filter_upwards [ae_ae_of_ae_compProd hf.ae_eq_mk] with x hx using
  ⟨fun y => hf.mk f (x, y), hf.stronglyMeasurable_mk.comp_measurable measurable_prod_mk_left, hx⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
E : Type u_4
mα : MeasurableSpace α
mβ : MeasurableSpace β
mγ : MeasurableSpace γ
inst✝³ : NormedAddCommGroup E
κ : ↥(kernel α β)
inst✝² : IsSFiniteKernel κ
η : ↥(kernel (α × β) γ)
inst✝¹ : IsSFiniteKernel η
a : α
δ : Type u_5
inst✝ : TopologicalSpace δ
f : β × γ → δ
hf : AEStronglyMeasurable f ((κ ⊗ₖ η) a)
⊢ ∀ᵐ (x : β) ∂κ a, AEStronglyMeasurable (fun y => f (x, y)) (η (a, x))
state_after: no goals
Theorem: QuadraticForm.polar_smul_right
File: Mathlib/LinearAlgebra/QuadraticForm/Basic.lean

tactic: rw [polar_comm Q x, polar_comm Q x, polar_smul_left]
state_before: S : Type u_1
T : Type u_2
R : Type u_3
M : Type u_4
N : Type u_5
inst✝² : CommRing R
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
a : R
x y : M
⊢ polar (⇑Q) x (a • y) = a * polar (⇑Q) x y
state_after: no goals
Theorem: MvPolynomial.finSuccEquiv_X_zero
File: Mathlib/Algebra/MvPolynomial/Equiv.lean

tactic: simp
state_before: R : Type u
S₁ : Type v
S₂ : Type w
S₃ : Type x
σ : Type u_1
a a' a₁ a₂ : R
e : ℕ
s : σ →₀ ℕ
inst✝ : CommSemiring R
n : ℕ
⊢ (finSuccEquiv R n) (X 0) = Polynomial.X
state_after: no goals
Theorem: DFinsupp.toMultiset_sup
File: Mathlib/Data/DFinsupp/Multiset.lean

tactic: simp
state_before: α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
f g : Π₀ (_a : α), ℕ
⊢ Multiset.toDFinsupp (toMultiset (f ⊔ g)) = Multiset.toDFinsupp (toMultiset f ∪ toMultiset g)
state_after: no goals
Theorem: HahnSeries.addVal_le_of_coeff_ne_zero
File: Mathlib/RingTheory/HahnSeries/Summable.lean

tactic: rw [addVal_apply_of_ne (ne_zero_of_coeff_ne_zero h), WithTop.coe_le_coe]
state_before: Γ : Type u_1
R : Type u_2
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Ring R
inst✝ : IsDomain R
x : HahnSeries Γ R
g : Γ
h : x.coeff g ≠ 0
⊢ (addVal Γ R) x ≤ ↑g
state_after: Γ : Type u_1
R : Type u_2
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Ring R
inst✝ : IsDomain R
x : HahnSeries Γ R
g : Γ
h : x.coeff g ≠ 0
⊢ x.order ≤ g

tactic: exact order_le_of_coeff_ne_zero h
state_before: Γ : Type u_1
R : Type u_2
inst✝² : LinearOrderedCancelAddCommMonoid Γ
inst✝¹ : Ring R
inst✝ : IsDomain R
x : HahnSeries Γ R
g : Γ
h : x.coeff g ≠ 0
⊢ x.order ≤ g
state_after: no goals
Theorem: MeasureTheory.OuterMeasure.trim_anti_measurableSpace
File: Mathlib/MeasureTheory/OuterMeasure/Induced.lean

tactic: simp only [le_trim_iff]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
m✝ m : OuterMeasure α
m0 m1 : MeasurableSpace α
h : m0 ≤ m1
⊢ m.trim ≤ m.trim
state_after: α : Type u_1
inst✝ : MeasurableSpace α
m✝ m : OuterMeasure α
m0 m1 : MeasurableSpace α
h : m0 ≤ m1
⊢ ∀ (s : Set α), MeasurableSet s → m.trim s ≤ m s

tactic: intro s hs
state_before: α : Type u_1
inst✝ : MeasurableSpace α
m✝ m : OuterMeasure α
m0 m1 : MeasurableSpace α
h : m0 ≤ m1
⊢ ∀ (s : Set α), MeasurableSet s → m.trim s ≤ m s
state_after: α : Type u_1
inst✝ : MeasurableSpace α
m✝ m : OuterMeasure α
m0 m1 : MeasurableSpace α
h : m0 ≤ m1
s : Set α
hs : MeasurableSet s
⊢ m.trim s ≤ m s

tactic: rw [trim_eq _ (h s hs)]
state_before: α : Type u_1
inst✝ : MeasurableSpace α
m✝ m : OuterMeasure α
m0 m1 : MeasurableSpace α
h : m0 ≤ m1
s : Set α
hs : MeasurableSet s
⊢ m.trim s ≤ m s
state_after: no goals
Theorem: Finset.insert_erase
File: Mathlib/Data/Finset/Basic.lean

tactic: simp only [mem_insert, mem_erase, or_and_left, dec_em, true_and_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
h : a ∈ s
x : α
⊢ x ∈ insert a (s.erase a) ↔ x ∈ s
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
h : a ∈ s
x : α
⊢ x = a ∨ x ∈ s ↔ x ∈ s

tactic: apply or_iff_right_of_imp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
h : a ∈ s
x : α
⊢ x = a ∨ x ∈ s ↔ x ∈ s
state_after: case ha
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
h : a ∈ s
x : α
⊢ x = a → x ∈ s

tactic: rintro rfl
state_before: case ha
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
h : a ∈ s
x : α
⊢ x = a → x ∈ s
state_after: case ha
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
b x : α
h : x ∈ s
⊢ x ∈ s

tactic: exact h
state_before: case ha
α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
b x : α
h : x ∈ s
⊢ x ∈ s
state_after: no goals
Theorem: FormalMultilinearSeries.mem_compPartialSumTarget_iff
File: Mathlib/Analysis/Analytic/Composition.lean

tactic: simp [compPartialSumTarget, compPartialSumTargetSet]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
H : Type u_5
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
inst✝¹ : NormedAddCommGroup H
inst✝ : NormedSpace 𝕜 H
m M N : ℕ
a : (n : ℕ) × Composition n
⊢ a ∈ compPartialSumTarget m M N ↔ m ≤ a.snd.length ∧ a.snd.length < M ∧ ∀ (j : Fin a.snd.length), a.snd.blocksFun j < N
state_after: no goals
Theorem: Cardinal.mk_le_iff_forall_finset_subset_card_le
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: refine ⟨fun H s hs ↦ by simpa using (mk_le_mk_of_subset hs).trans H, fun H ↦ ?_⟩
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
⊢ #↑t ≤ ↑n ↔ ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
state_after: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
⊢ #↑t ≤ ↑n

tactic: apply card_le_of (fun s ↦ ?_)
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
⊢ #↑t ≤ ↑n
state_after: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
⊢ s.card ≤ n

tactic: let u : Finset α := s.image Subtype.val
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
⊢ s.card ≤ n
state_after: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
⊢ s.card ≤ n

tactic: have : u.card = s.card := Finset.card_image_of_injOn Subtype.coe_injective.injOn
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
⊢ s.card ≤ n
state_after: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ s.card ≤ n

tactic: rw [← this]
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ s.card ≤ n
state_after: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ u.card ≤ n

tactic: apply H
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ u.card ≤ n
state_after: case a
α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ ↑u ⊆ t

tactic: simp only [u, Finset.coe_image, image_subset_iff, Subtype.coe_preimage_self, subset_univ]
state_before: case a
α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : ∀ (s : Finset α), ↑s ⊆ t → s.card ≤ n
s : Finset ↑t
u : Finset α := Finset.image Subtype.val s
this : u.card = s.card
⊢ ↑u ⊆ t
state_after: no goals

tactic: simpa using (mk_le_mk_of_subset hs).trans H
state_before: α✝ β : Type u
c : Cardinal.{?u.217307}
α : Type u
n : ℕ
t : Set α
H : #↑t ≤ ↑n
s : Finset α
hs : ↑s ⊆ t
⊢ s.card ≤ n
state_after: no goals