1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.MeasurePreserving.preErgodic_conjugate_iff
File: Mathlib/Dynamics/Ergodic/Ergodic.lean

tactic: refine ⟨fun hf => preErgodic_of_preErgodic_conjugate (h.symm e) hf ?_,
    fun hf => preErgodic_of_preErgodic_conjugate h hf ?_⟩
state_before: α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
⊢ PreErgodic (⇑e ∘ f ∘ ⇑e.symm) μ' ↔ PreErgodic f μ
state_after: case refine_1
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic (⇑e ∘ f ∘ ⇑e.symm) μ'
⊢ ⇑e.symm ∘ ⇑e ∘ f ∘ ⇑e.symm = f ∘ ⇑e.symm

case refine_2
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic f μ
⊢ ⇑e ∘ f = (⇑e ∘ f ∘ ⇑e.symm) ∘ ⇑e

tactic: change (e.symm ∘ e) ∘ f ∘ e.symm = f ∘ e.symm
state_before: case refine_1
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic (⇑e ∘ f ∘ ⇑e.symm) μ'
⊢ ⇑e.symm ∘ ⇑e ∘ f ∘ ⇑e.symm = f ∘ ⇑e.symm
state_after: case refine_1
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic (⇑e ∘ f ∘ ⇑e.symm) μ'
⊢ (⇑e.symm ∘ ⇑e) ∘ f ∘ ⇑e.symm = f ∘ ⇑e.symm

tactic: rw [MeasurableEquiv.symm_comp_self, id_comp]
state_before: case refine_1
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic (⇑e ∘ f ∘ ⇑e.symm) μ'
⊢ (⇑e.symm ∘ ⇑e) ∘ f ∘ ⇑e.symm = f ∘ ⇑e.symm
state_after: no goals

tactic: change e ∘ f = e ∘ f ∘ e.symm ∘ e
state_before: case refine_2
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic f μ
⊢ ⇑e ∘ f = (⇑e ∘ f ∘ ⇑e.symm) ∘ ⇑e
state_after: case refine_2
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic f μ
⊢ ⇑e ∘ f = ⇑e ∘ f ∘ ⇑e.symm ∘ ⇑e

tactic: rw [MeasurableEquiv.symm_comp_self, comp_id]
state_before: case refine_2
α : Type u_1
m : MeasurableSpace α
f : α → α
s : Set α
μ : Measure α
β : Type u_2
m' : MeasurableSpace β
μ' : Measure β
s' : Set β
g : α → β
e : α ≃ᵐ β
h : MeasurePreserving (⇑e) μ μ'
hf : PreErgodic f μ
⊢ ⇑e ∘ f = ⇑e ∘ f ∘ ⇑e.symm ∘ ⇑e
state_after: no goals
Theorem: IsClosed.not_mem_iff_infDist_pos
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: simp [h.mem_iff_infDist_zero hs, infDist_nonneg.gt_iff_ne]
state_before: ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : IsClosed s
hs : s.Nonempty
⊢ x ∉ s ↔ 0 < infDist x s
state_after: no goals
Theorem: SimpleGraph.Walk.IsEulerian.edgesFinset_eq
File: Mathlib/Combinatorics/SimpleGraph/Trails.lean

tactic: ext e
state_before: V : Type u_1
G : SimpleGraph V
inst✝¹ : DecidableEq V
inst✝ : Fintype ↑G.edgeSet
u v : V
p : G.Walk u v
h : p.IsEulerian
⊢ ⋯.edgesFinset = G.edgeFinset
state_after: case a
V : Type u_1
G : SimpleGraph V
inst✝¹ : DecidableEq V
inst✝ : Fintype ↑G.edgeSet
u v : V
p : G.Walk u v
h : p.IsEulerian
e : Sym2 V
⊢ e ∈ ⋯.edgesFinset ↔ e ∈ G.edgeFinset

tactic: simp [h.mem_edges_iff]
state_before: case a
V : Type u_1
G : SimpleGraph V
inst✝¹ : DecidableEq V
inst✝ : Fintype ↑G.edgeSet
u v : V
p : G.Walk u v
h : p.IsEulerian
e : Sym2 V
⊢ e ∈ ⋯.edgesFinset ↔ e ∈ G.edgeFinset
state_after: no goals
Theorem: Acc.of_fibration
File: Mathlib/Logic/Relation.lean

tactic: induction' ha with a _ ih
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a : α
ha : Acc rα a
⊢ Acc rβ (f a)
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
⊢ Acc rβ (f a)

tactic: refine Acc.intro (f a) fun b hr ↦ ?_
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
⊢ Acc rβ (f a)
state_after: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
b : β
hr : rβ b (f a)
⊢ Acc rβ b

tactic: obtain ⟨a', hr', rfl⟩ := fib hr
state_before: case intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
b : β
hr : rβ b (f a)
⊢ Acc rβ b
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
a' : α
hr' : rα a' a
hr : rβ (f a') (f a)
⊢ Acc rβ (f a')

tactic: exact ih a' hr'
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ε : Type u_5
ζ : Type u_6
rα : α → α → Prop
rβ : β → β → Prop
f : α → β
fib : Fibration rα rβ f
a✝ a : α
h✝ : ∀ (y : α), rα y a → Acc rα y
ih : ∀ (y : α), rα y a → Acc rβ (f y)
a' : α
hr' : rα a' a
hr : rβ (f a') (f a)
⊢ Acc rβ (f a')
state_after: no goals
Theorem: Real.cauchy_neg
File: Mathlib/Data/Real/Basic.lean

tactic: rw [neg_def]
state_before: x y : ℝ
a : Cauchy abs
⊢ (Real.neg { cauchy := a }).cauchy = -{ cauchy := a }.cauchy
state_after: no goals
Theorem: Int.abs_negOnePow
File: Mathlib/Algebra/Ring/NegOnePow.lean

tactic: rw [abs_eq_natAbs, Int.units_natAbs, Nat.cast_one]
state_before: n : ℤ
⊢ |↑n.negOnePow| = 1
state_after: no goals
Theorem: Ideal.span_zero
File: Mathlib/RingTheory/Ideal/Basic.lean

tactic: rw [← Set.singleton_zero, span_singleton_eq_bot]
state_before: α : Type u
β : Type v
inst✝ : Semiring α
I : Ideal α
a b : α
⊢ span 0 = ⊥
state_after: no goals
Theorem: Matrix.toLin_transpose
File: Mathlib/LinearAlgebra/Matrix/Dual.lean

tactic: apply (LinearMap.toMatrix B₁.dualBasis B₂.dualBasis).injective
state_before: K : Type u_1
V₁ : Type u_2
V₂ : Type u_3
ι₁ : Type u_4
ι₂ : Type u_5
inst✝⁸ : Field K
inst✝⁷ : AddCommGroup V₁
inst✝⁶ : Module K V₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module K V₂
inst✝³ : Fintype ι₁
inst✝² : Fintype ι₂
inst✝¹ : DecidableEq ι₁
inst✝ : DecidableEq ι₂
B₁ : Basis ι₁ K V₁
B₂ : Basis ι₂ K V₂
M : Matrix ι₁ ι₂ K
⊢ (toLin B₁.dualBasis B₂.dualBasis) Mᵀ = Module.Dual.transpose ((toLin B₂ B₁) M)
state_after: case a
K : Type u_1
V₁ : Type u_2
V₂ : Type u_3
ι₁ : Type u_4
ι₂ : Type u_5
inst✝⁸ : Field K
inst✝⁷ : AddCommGroup V₁
inst✝⁶ : Module K V₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module K V₂
inst✝³ : Fintype ι₁
inst✝² : Fintype ι₂
inst✝¹ : DecidableEq ι₁
inst✝ : DecidableEq ι₂
B₁ : Basis ι₁ K V₁
B₂ : Basis ι₂ K V₂
M : Matrix ι₁ ι₂ K
⊢ (LinearMap.toMatrix B₁.dualBasis B₂.dualBasis) ((toLin B₁.dualBasis B₂.dualBasis) Mᵀ) =
    (LinearMap.toMatrix B₁.dualBasis B₂.dualBasis) (Module.Dual.transpose ((toLin B₂ B₁) M))

tactic: rw [LinearMap.toMatrix_toLin, LinearMap.toMatrix_transpose, LinearMap.toMatrix_toLin]
state_before: case a
K : Type u_1
V₁ : Type u_2
V₂ : Type u_3
ι₁ : Type u_4
ι₂ : Type u_5
inst✝⁸ : Field K
inst✝⁷ : AddCommGroup V₁
inst✝⁶ : Module K V₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module K V₂
inst✝³ : Fintype ι₁
inst✝² : Fintype ι₂
inst✝¹ : DecidableEq ι₁
inst✝ : DecidableEq ι₂
B₁ : Basis ι₁ K V₁
B₂ : Basis ι₂ K V₂
M : Matrix ι₁ ι₂ K
⊢ (LinearMap.toMatrix B₁.dualBasis B₂.dualBasis) ((toLin B₁.dualBasis B₂.dualBasis) Mᵀ) =
    (LinearMap.toMatrix B₁.dualBasis B₂.dualBasis) (Module.Dual.transpose ((toLin B₂ B₁) M))
state_after: no goals
Theorem: tendsto_norm'
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simpa using tendsto_id.dist (tendsto_const_nhds : Tendsto (fun _a => (1 : E)) _ _)
state_before: 𝓕 : Type u_1
𝕜 : Type u_2
α : Type u_3
ι : Type u_4
κ : Type u_5
E : Type u_6
F : Type u_7
G : Type u_8
inst✝³ : SeminormedGroup E
inst✝² : SeminormedGroup F
inst✝¹ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝ : FunLike 𝓕 E F
x : E
⊢ Tendsto (fun a => ‖a‖) (𝓝 x) (𝓝 ‖x‖)
state_after: no goals
Theorem: Polynomial.support_C_mul_X'
File: Mathlib/Algebra/Polynomial/Basic.lean

tactic: simpa only [C_mul_X_eq_monomial] using support_monomial' 1 c
state_before: R : Type u
a b : R
m n : ℕ
inst✝ : Semiring R
p q : R[X]
c : R
⊢ (C c * X).support ⊆ {1}
state_after: no goals
Theorem: MeasureTheory.Measure.map_of_not_aemeasurable
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: simp [map, hf]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ✝ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f : α → β
μ : Measure α
hf : ¬AEMeasurable f μ
⊢ map f μ = 0
state_after: no goals
Theorem: SimpleGraph.TripartiteFromTriangles.Graph.in₀₂_iff
File: Mathlib/Combinatorics/SimpleGraph/Triangle/Tripartite.lean

tactic: rintro ⟨⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
⊢ (graph t).Adj (in₀ a) (in₂ c) → ∃ b, (a, b, c) ∈ t
state_after: case in₀₂
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
b✝ : β
a✝ : (a, b✝, c) ∈ t
⊢ ∃ b, (a, b, c) ∈ t

tactic: exact ⟨_, ‹_›⟩
state_before: case in₀₂
α : Type u_1
β : Type u_2
γ : Type u_3
𝕜 : Type u_4
inst✝ : LinearOrderedField 𝕜
t : Finset (α × β × γ)
a a' : α
b b' : β
c c' : γ
x : α × β × γ
ε : 𝕜
b✝ : β
a✝ : (a, b✝, c) ∈ t
⊢ ∃ b, (a, b, c) ∈ t
state_after: no goals
Theorem: Finsupp.single_apply_left
File: Mathlib/Data/Finsupp/Defs.lean

tactic: classical simp only [single_apply, hf.eq_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a a' : α
b : M
f : α → β
hf : Injective f
x z : α
y : M
⊢ (single (f x) y) (f z) = (single x y) z
state_after: no goals

tactic: simp only [single_apply, hf.eq_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : Zero M
a a' : α
b : M
f : α → β
hf : Injective f
x z : α
y : M
⊢ (single (f x) y) (f z) = (single x y) z
state_after: no goals
Theorem: Cardinal.ord_univ
File: Mathlib/SetTheory/Ordinal/Basic.lean

tactic: refine le_antisymm (ord_card_le _) <| le_of_forall_lt fun o h => lt_ord.2 ?_
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
⊢ univ.{u, v}.ord = Ordinal.univ.{u, v}
state_after: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{max (u + 1) v}
h : o < Ordinal.univ.{u, v}
⊢ o.card < univ.{u, v}

tactic: have := lift.principalSeg.{u, v}.down.1 (by simpa only [lift.principalSeg_coe] using h)
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{max (u + 1) v}
h : o < Ordinal.univ.{u, v}
⊢ o.card < univ.{u, v}
state_after: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{max (u + 1) v}
h : o < Ordinal.univ.{u, v}
this : ∃ a, lift.principalSeg.toRelEmbedding a = o
⊢ o.card < univ.{u, v}

tactic: rcases this with ⟨o, h'⟩
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{max (u + 1) v}
h : o < Ordinal.univ.{u, v}
this : ∃ a, lift.principalSeg.toRelEmbedding a = o
⊢ o.card < univ.{u, v}
state_after: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o✝ : Ordinal.{max (u + 1) v}
h : o✝ < Ordinal.univ.{u, v}
o : Ordinal.{u}
h' : lift.principalSeg.toRelEmbedding o = o✝
⊢ o✝.card < univ.{u, v}

tactic: rw [← h', lift.principalSeg_coe, ← lift_card]
state_before: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o✝ : Ordinal.{max (u + 1) v}
h : o✝ < Ordinal.univ.{u, v}
o : Ordinal.{u}
h' : lift.principalSeg.toRelEmbedding o = o✝
⊢ o✝.card < univ.{u, v}
state_after: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o✝ : Ordinal.{max (u + 1) v}
h : o✝ < Ordinal.univ.{u, v}
o : Ordinal.{u}
h' : lift.principalSeg.toRelEmbedding o = o✝
⊢ lift.{max (u + 1) v, u} o.card < univ.{u, v}

tactic: apply lift_lt_univ'
state_before: case intro
α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o✝ : Ordinal.{max (u + 1) v}
h : o✝ < Ordinal.univ.{u, v}
o : Ordinal.{u}
h' : lift.principalSeg.toRelEmbedding o = o✝
⊢ lift.{max (u + 1) v, u} o.card < univ.{u, v}
state_after: no goals

tactic: simpa only [lift.principalSeg_coe] using h
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{max (u + 1) v}
h : o < Ordinal.univ.{u, v}
⊢ ?m.134606 < lift.principalSeg.top
state_after: no goals
Theorem: AddMonoidAlgebra.mem_gradeBy_iff
File: Mathlib/Algebra/MonoidAlgebra/Grading.lean

tactic: rfl
state_before: M : Type u_1
ι : Type u_2
R : Type u_3
inst✝ : CommSemiring R
f : M → ι
i : ι
a : R[M]
⊢ a ∈ gradeBy R f i ↔ ↑a.support ⊆ f ⁻¹' {i}
state_after: no goals
Theorem: Nat.sqrt_succ_le_succ_sqrt
File: Mathlib/Data/Nat/Defs.lean

tactic: refine add_le_add (Nat.mul_le_mul_right _ ?_) ?_ <;> exact Nat.le_add_right _ 2
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
⊢ n.sqrt * n.sqrt + n.sqrt ≤ n.sqrt.succ.succ.mul (n.sqrt + 1)
state_after: no goals
Theorem: div_div_div_cancel_left
File: Mathlib/Algebra/Group/Basic.lean

tactic: rw [← inv_div b c, div_inv_eq_mul, mul_comm, div_mul_div_cancel']
state_before: α : Type u_1
β : Type u_2
G : Type u_3
M : Type u_4
inst✝ : CommGroup G
a✝ b✝ c✝ d a b c : G
⊢ c / a / (c / b) = b / a
state_after: no goals
Theorem: padicNormE.eq_padicNorm
File: Mathlib/NumberTheory/Padics/PadicNumbers.lean

tactic: dsimp [norm]
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
⊢ ‖↑q‖ = ↑(padicNorm p q)
state_after: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
⊢ ↑(padicNormE ↑q) = ↑(padicNorm p q)

tactic: rw [← padicNormE.eq_padic_norm']
state_before: p : ℕ
hp : Fact (Nat.Prime p)
q : ℚ
⊢ ↑(padicNormE ↑q) = ↑(padicNorm p q)
state_after: no goals
Theorem: finrank_eq_nat_card_basis
File: Mathlib/LinearAlgebra/Dimension/StrongRankCondition.lean

tactic: rw [Nat.card, ← toNat_lift.{v}, h.mk_eq_rank, toNat_lift, finrank]
state_before: R : Type u
M : Type v
inst✝³ : Ring R
inst✝² : AddCommGroup M
inst✝¹ : Module R M
ι : Type w
ι' : Type w'
inst✝ : StrongRankCondition R
h : Basis ι R M
⊢ finrank R M = Nat.card ι
state_after: no goals
Theorem: MeasureTheory.smul_convolution
File: Mathlib/Analysis/Convolution.lean

tactic: ext
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y✝ y' : E
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace 𝕜 E''
inst✝⁴ : NormedSpace 𝕜 F
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : MeasurableSpace G
μ ν : Measure G
inst✝² : NormedSpace ℝ F
inst✝¹ : AddGroup G
inst✝ : SMulCommClass ℝ 𝕜 F
y : 𝕜
⊢ y • f ⋆[L, μ] g = y • (f ⋆[L, μ] g)
state_after: case h
𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y✝ y' : E
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace 𝕜 E''
inst✝⁴ : NormedSpace 𝕜 F
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : MeasurableSpace G
μ ν : Measure G
inst✝² : NormedSpace ℝ F
inst✝¹ : AddGroup G
inst✝ : SMulCommClass ℝ 𝕜 F
y : 𝕜
x✝ : G
⊢ (y • f ⋆[L, μ] g) x✝ = (y • (f ⋆[L, μ] g)) x✝

tactic: simp only [Pi.smul_apply, convolution_def, ← integral_smul, L.map_smul₂]
state_before: case h
𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedAddCommGroup E'
inst✝¹⁰ : NormedAddCommGroup E''
inst✝⁹ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y✝ y' : E
inst✝⁸ : NontriviallyNormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 E'
inst✝⁵ : NormedSpace 𝕜 E''
inst✝⁴ : NormedSpace 𝕜 F
L : E →L[𝕜] E' →L[𝕜] F
inst✝³ : MeasurableSpace G
μ ν : Measure G
inst✝² : NormedSpace ℝ F
inst✝¹ : AddGroup G
inst✝ : SMulCommClass ℝ 𝕜 F
y : 𝕜
x✝ : G
⊢ (y • f ⋆[L, μ] g) x✝ = (y • (f ⋆[L, μ] g)) x✝
state_after: no goals
Theorem: Computable.cond
File: Mathlib/Computability/Partrec.lean

tactic: cases c a <;> rfl
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
σ : Type u_4
inst✝³ : Primcodable α
inst✝² : Primcodable β
inst✝¹ : Primcodable γ
inst✝ : Primcodable σ
c : α → Bool
f g : α → σ
hc : Computable c
hf : Computable f
hg : Computable g
a : α
⊢ (Nat.casesOn (encode (c a)) (g a) fun b => f (a, b).1) = bif c a then f a else g a
state_after: no goals
Theorem: MeasureTheory.Measure.restrict_apply_eq_zero
File: Mathlib/MeasureTheory/Measure/Restrict.lean

tactic: rw [restrict_apply ht]
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
ht : MeasurableSet t
⊢ (μ.restrict s) t = 0 ↔ μ (t ∩ s) = 0
state_after: no goals
Theorem: HasStrictFDerivAt.implicitFunctionOfComplemented_apply_image
File: Mathlib/Analysis/Calculus/Implicit.lean

tactic: simpa only [implicitToPartialHomeomorphOfComplemented_self] using
    (hf.implicitToPartialHomeomorphOfComplemented f f' hf' hker).left_inv
    (hf.mem_implicitToPartialHomeomorphOfComplemented_source hf' hker)
state_before: 𝕜 : Type u_1
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : CompleteSpace E
F : Type u_3
inst✝² : NormedAddCommGroup F
inst✝¹ : NormedSpace 𝕜 F
inst✝ : CompleteSpace F
f : E → F
f' : E →L[𝕜] F
a : E
hf : HasStrictFDerivAt f f' a
hf' : range f' = ⊤
hker : (LinearMap.ker f').ClosedComplemented
⊢ implicitFunctionOfComplemented f f' hf hf' hker (f a) 0 = a
state_after: no goals
Theorem: Polynomial.monic_X_pow_sub_C
File: Mathlib/Algebra/Polynomial/Monic.lean

tactic: simpa only [map_neg, ← sub_eq_add_neg] using monic_X_pow_add_C (-a) h
state_before: R✝ : Type u
S : Type v
a✝ b : R✝
m n✝ : ℕ
ι : Type y
inst✝¹ : Ring R✝
p : R✝[X]
R : Type u
inst✝ : Ring R
a : R
n : ℕ
h : n ≠ 0
⊢ (X ^ n - C a).Monic
state_after: no goals
Theorem: Fintype.filter_piFinset_of_not_mem
File: Mathlib/Data/Fintype/Pi.lean

tactic: simp only [filter_eq_empty_iff, mem_piFinset]
state_before: α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
γ : α → Type u_2
δ : α → Type u_3
s : (a : α) → Finset (γ a)
inst✝ : (a : α) → DecidableEq (δ a)
t : (a : α) → Finset (δ a)
a : α
x : δ a
hx : x ∉ t a
⊢ filter (fun x_1 => x_1 a = x) (piFinset t) = ∅
state_after: α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
γ : α → Type u_2
δ : α → Type u_3
s : (a : α) → Finset (γ a)
inst✝ : (a : α) → DecidableEq (δ a)
t : (a : α) → Finset (δ a)
a : α
x : δ a
hx : x ∉ t a
⊢ ∀ ⦃x_1 : (a : α) → δ a⦄, (∀ (a : α), x_1 a ∈ t a) → ¬x_1 a = x

tactic: rintro f hf rfl
state_before: α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
γ : α → Type u_2
δ : α → Type u_3
s : (a : α) → Finset (γ a)
inst✝ : (a : α) → DecidableEq (δ a)
t : (a : α) → Finset (δ a)
a : α
x : δ a
hx : x ∉ t a
⊢ ∀ ⦃x_1 : (a : α) → δ a⦄, (∀ (a : α), x_1 a ∈ t a) → ¬x_1 a = x
state_after: α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
γ : α → Type u_2
δ : α → Type u_3
s : (a : α) → Finset (γ a)
inst✝ : (a : α) → DecidableEq (δ a)
t : (a : α) → Finset (δ a)
a : α
f : (a : α) → δ a
hf : ∀ (a : α), f a ∈ t a
hx : f a ∉ t a
⊢ False

tactic: exact hx (hf _)
state_before: α : Type u_1
inst✝² : DecidableEq α
inst✝¹ : Fintype α
γ : α → Type u_2
δ : α → Type u_3
s : (a : α) → Finset (γ a)
inst✝ : (a : α) → DecidableEq (δ a)
t : (a : α) → Finset (δ a)
a : α
f : (a : α) → δ a
hf : ∀ (a : α), f a ∈ t a
hx : f a ∉ t a
⊢ False
state_after: no goals
Theorem: Multiset.prod_eq_foldl
File: Mathlib/Algebra/BigOperators/Group/Multiset.lean

tactic: simp [mul_right_comm]
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : CommMonoid α
inst✝ : CommMonoid β
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
s : Multiset α
x y z : α
⊢ (fun x x_1 => x * x_1) ((fun x x_1 => x * x_1) x y) z = (fun x x_1 => x * x_1) ((fun x x_1 => x * x_1) x z) y
state_after: no goals

tactic: simp [mul_comm]
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
γ : Type u_5
inst✝¹ : CommMonoid α
inst✝ : CommMonoid β
s✝ t : Multiset α
a : α
m : Multiset ι
f g : ι → α
s : Multiset α
⊢ foldl (fun x y => y * x) ⋯ 1 s = foldl (fun x x_1 => x * x_1) ⋯ 1 s
state_after: no goals
Theorem: LipschitzOnWith.ae_differentiableWithinAt
File: Mathlib/Analysis/Calculus/Rademacher.lean

tactic: rw [ae_restrict_iff' hs]
state_before: E : Type u_1
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
inst✝⁵ : MeasurableSpace E
inst✝⁴ : BorelSpace E
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
C D : ℝ≥0
f✝ g : E → ℝ
s : Set E
μ : Measure E
inst✝¹ : μ.IsAddHaarMeasure
inst✝ : FiniteDimensional ℝ F
f : E → F
hf : LipschitzOnWith C f s
hs : MeasurableSet s
⊢ ∀ᵐ (x : E) ∂μ.restrict s, DifferentiableWithinAt ℝ f s x
state_after: E : Type u_1
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
inst✝⁵ : MeasurableSpace E
inst✝⁴ : BorelSpace E
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
C D : ℝ≥0
f✝ g : E → ℝ
s : Set E
μ : Measure E
inst✝¹ : μ.IsAddHaarMeasure
inst✝ : FiniteDimensional ℝ F
f : E → F
hf : LipschitzOnWith C f s
hs : MeasurableSet s
⊢ ∀ᵐ (x : E) ∂μ, x ∈ s → DifferentiableWithinAt ℝ f s x

tactic: exact hf.ae_differentiableWithinAt_of_mem
state_before: E : Type u_1
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedSpace ℝ E
inst✝⁶ : FiniteDimensional ℝ E
inst✝⁵ : MeasurableSpace E
inst✝⁴ : BorelSpace E
F : Type u_2
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℝ F
C D : ℝ≥0
f✝ g : E → ℝ
s : Set E
μ : Measure E
inst✝¹ : μ.IsAddHaarMeasure
inst✝ : FiniteDimensional ℝ F
f : E → F
hf : LipschitzOnWith C f s
hs : MeasurableSet s
⊢ ∀ᵐ (x : E) ∂μ, x ∈ s → DifferentiableWithinAt ℝ f s x
state_after: no goals
Theorem: Subgroup.exists_ne_one_of_nontrivial
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

tactic: rwa [← Subgroup.nontrivial_iff_exists_ne_one]
state_before: G : Type u_1
G' : Type u_2
G'' : Type u_3
inst✝⁴ : Group G
inst✝³ : Group G'
inst✝² : Group G''
A : Type u_4
inst✝¹ : AddGroup A
H✝ K H : Subgroup G
inst✝ : Nontrivial ↥H
⊢ ∃ x ∈ H, x ≠ 1
state_after: no goals