ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: CompleteOrthogonalIdempotents.bijective_pi'
File: Mathlib/RingTheory/Idempotents.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
inst✝² : CommRing R
inst✝¹ : Ring S
f : R →+* S
I : Type u_3
inst✝ : Fintype I
e : I → R
he : CompleteOrthogonalIdempotents fun x => 1 - e x
⊢ Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e i}))
state_after: case intro.intro
R : Type u_1
S : Type u_2
inst✝² : CommRing R
inst✝¹ : Ring S
f : R →+* S
I : Type u_3
inst✝ : Fintype I
e' : I → R
h : Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e' i}))
he : CompleteOrthogonalIdempotents fun x => 1 - e' x
⊢ Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e' i}))
tactic: obtain ⟨e', rfl, h⟩ : ∃ e' : I → R, (e' = e) ∧ Function.Bijective (Pi.ringHom fun i ↦
      Ideal.Quotient.mk (Ideal.span {e' i})) := ⟨_, funext (by simp), he.bijective_pi⟩
state_before: case intro.intro
R : Type u_1
S : Type u_2
inst✝² : CommRing R
inst✝¹ : Ring S
f : R →+* S
I : Type u_3
inst✝ : Fintype I
e' : I → R
h : Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e' i}))
he : CompleteOrthogonalIdempotents fun x => 1 - e' x
⊢ Function.Bijective ⇑(Pi.ringHom fun i => Ideal.Quotient.mk (Ideal.span {e' i}))
state_after: no goals
tactic: exact h
Theorem: CategoryTheory.ShortComplex.cyclesMap'_add
File: Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean

Proof steps:
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
⊢ cyclesMap' (φ + φ') h₁ h₂ = cyclesMap' φ h₁ h₂ + cyclesMap' φ' h₁ h₂
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
⊢ cyclesMap' (φ + φ') h₁ h₂ = cyclesMap' φ h₁ h₂ + cyclesMap' φ' h₁ h₂
tactic: have γ : LeftHomologyMapData φ h₁ h₂ := default
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
⊢ cyclesMap' (φ + φ') h₁ h₂ = cyclesMap' φ h₁ h₂ + cyclesMap' φ' h₁ h₂
state_after: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
γ' : LeftHomologyMapData φ' h₁ h₂
⊢ cyclesMap' (φ + φ') h₁ h₂ = cyclesMap' φ h₁ h₂ + cyclesMap' φ' h₁ h₂
tactic: have γ' : LeftHomologyMapData φ' h₁ h₂ := default
state_before: C : Type u_1
inst✝¹ : Category.{u_2, u_1} C
inst✝ : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ φ' : S₁ ⟶ S₂
h₁ : S₁.LeftHomologyData
h₂ : S₂.LeftHomologyData
γ : LeftHomologyMapData φ h₁ h₂
γ' : LeftHomologyMapData φ' h₁ h₂
⊢ cyclesMap' (φ + φ') h₁ h₂ = cyclesMap' φ h₁ h₂ + cyclesMap' φ' h₁ h₂
state_after: no goals
tactic: simp only [γ.cyclesMap'_eq, γ'.cyclesMap'_eq,
    (γ.add γ').cyclesMap'_eq, LeftHomologyMapData.add_φK]
Theorem: CliffordAlgebra.evenOdd_map_reverse
File: Mathlib/LinearAlgebra/CliffordAlgebra/Conjugation.lean

Proof steps:
state_before: R : Type u_1
inst✝² : CommRing R
M : Type u_2
inst✝¹ : AddCommGroup M
inst✝ : Module R M
Q : QuadraticForm R M
n : ZMod 2
⊢ Submodule.map reverse (evenOdd Q n) = evenOdd Q n
state_after: no goals
tactic: simp_rw [evenOdd, Submodule.map_iSup, submodule_map_pow_reverse, ι_range_map_reverse]
Theorem: lt_update_self_iff
File: Mathlib/Order/Basic.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
π : ι → Type u_4
inst✝¹ : DecidableEq ι
inst✝ : (i : ι) → Preorder (π i)
x y : (i : ι) → π i
i : ι
a b : π i
⊢ x < update x i a ↔ x i < a
state_after: no goals
tactic: simp [lt_iff_le_not_le]
Theorem: hasStrictDerivAt_exp_of_mem_ball
File: Mathlib/Analysis/SpecialFunctions/Exponential.lean

Proof steps:
state_before: 𝕂 : Type u_1
inst✝² : NontriviallyNormedField 𝕂
inst✝¹ : CompleteSpace 𝕂
inst✝ : CharZero 𝕂
x : 𝕂
hx : x ∈ EMetric.ball 0 (expSeries 𝕂 𝕂).radius
⊢ HasStrictDerivAt (exp 𝕂) (exp 𝕂 x) x
state_after: no goals
tactic: simpa using (hasStrictFDerivAt_exp_of_mem_ball hx).hasStrictDerivAt
Theorem: CategoryTheory.BraidedCategory.op_tensor_μ
File: Mathlib/CategoryTheory/Monoidal/Braided/Opposite.lean

Proof steps:
state_before: C✝ : Type u_1
inst✝⁵ : Category.{?u.4955, u_1} C✝
inst✝⁴ : MonoidalCategory C✝
inst✝³ : BraidedCategory C✝
C : Type u_2
inst✝² : Category.{u_3, u_2} C
inst✝¹ : MonoidalCategory C
inst✝ : BraidedCategory C
X Y W Z : C
⊢ (tensor_μ C (X, W) (Y, Z)).op = tensor_μ Cᵒᵖ (op X, op Y) (op W, op Z)
state_after: no goals
tactic: simp only [op_tensorObj, tensor_μ, op_comp, op_inv_associator, op_whiskerLeft, op_hom_associator,
    op_whiskerRight, op_hom_braiding, Category.assoc]
Theorem: Ordinal.bounded_singleton
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x : α
⊢ Bounded r {x}
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x : α
⊢ ∀ b ∈ {x}, r b (enum r (succ (typein r x)) ⋯)
tactic: refine ⟨enum r (succ (typein r x)) (hr.2 _ (typein_lt_type r x)), ?_⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x : α
⊢ ∀ b ∈ {x}, r b (enum r (succ (typein r x)) ⋯)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r b (enum r (succ (typein r x)) ⋯)
tactic: intro b hb
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r b (enum r (succ (typein r x)) ⋯)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r x (enum r (succ (typein r x)) ⋯)
tactic: rw [mem_singleton_iff.1 hb]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r x (enum r (succ (typein r x)) ⋯)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r (enum r (typein r x) ⋯) (enum r (succ (typein r x)) ⋯)
tactic: nth_rw 1 [← enum_typein r x]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ r (enum r (typein r x) ⋯) (enum r (succ (typein r x)) ⋯)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ typein r x < succ (typein r x)
tactic: rw [@enum_lt_enum _ r]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r✝ : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
r : α → α → Prop
inst✝ : IsWellOrder α r
hr : (type r).IsLimit
x b : α
hb : b ∈ {x}
⊢ typein r x < succ (typein r x)
state_after: no goals
tactic: apply lt_succ
Theorem: IsIntegral.algebraMap
File: Mathlib/RingTheory/IntegralClosure/IsIntegralClosure/Basic.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : Ring B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
h : IsIntegral R x
⊢ IsIntegral R ((algebraMap A B) x)
state_after: case intro.intro
R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : Ring B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : f.Monic
hx : eval₂ (algebraMap R A) x f = 0
⊢ IsIntegral R ((algebraMap A B) x)
tactic: rcases h with ⟨f, hf, hx⟩
state_before: case intro.intro
R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : Ring B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : f.Monic
hx : eval₂ (algebraMap R A) x f = 0
⊢ IsIntegral R ((algebraMap A B) x)
state_after: case right
R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : Ring B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : f.Monic
hx : eval₂ (algebraMap R A) x f = 0
⊢ eval₂ (algebraMap R B) ((algebraMap A B) x) f = 0
tactic: use f, hf
state_before: case right
R : Type u_1
A : Type u_2
B : Type u_3
S : Type u_4
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : Ring B
inst✝⁴ : CommRing S
inst✝³ : Algebra R A
inst✝² : Algebra R B
f✝ : R →+* S
inst✝¹ : Algebra A B
inst✝ : IsScalarTower R A B
x : A
f : R[X]
hf : f.Monic
hx : eval₂ (algebraMap R A) x f = 0
⊢ eval₂ (algebraMap R B) ((algebraMap A B) x) f = 0
state_after: no goals
tactic: rw [IsScalarTower.algebraMap_eq R A B, ← hom_eval₂, hx, RingHom.map_zero]
Theorem: SimpleGraph.Walk.IsCircuit.rotate
File: Mathlib/Combinatorics/SimpleGraph/Path.lean

Proof steps:
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝ w : V
inst✝ : DecidableEq V
u v : V
c : G.Walk v v
hc : c.IsCircuit
h : u ∈ c.support
⊢ (c.rotate h).IsCircuit
state_after: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝ w : V
inst✝ : DecidableEq V
u v : V
c : G.Walk v v
hc : c.IsCircuit
h : u ∈ c.support
⊢ c.rotate h ≠ nil
tactic: refine ⟨hc.isTrail.rotate _, ?_⟩
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝ w : V
inst✝ : DecidableEq V
u v : V
c : G.Walk v v
hc : c.IsCircuit
h : u ∈ c.support
⊢ c.rotate h ≠ nil
state_after: case nil
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝ w : V
inst✝ : DecidableEq V
u v : V
hc : nil.IsCircuit
h : u ∈ nil.support
⊢ nil.rotate h ≠ nil

case cons
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝¹ w : V
inst✝ : DecidableEq V
u v v✝ : V
h✝ : G.Adj v v✝
p✝ : G.Walk v✝ v
hc : (cons h✝ p✝).IsCircuit
h : u ∈ (cons h✝ p✝).support
⊢ (cons h✝ p✝).rotate h ≠ nil
tactic: cases c
Theorem: FirstOrder.Language.Substructure.subset_closure_withConstants
File: Mathlib/ModelTheory/Substructures.lean

Proof steps:
state_before: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
⊢ A ⊆ ↑((closure (L[[↑A]])).toFun s)
state_after: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ ↑((closure (L[[↑A]])).toFun s)
tactic: intro a ha
state_before: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ ↑((closure (L[[↑A]])).toFun s)
state_after: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ (closure (L[[↑A]])).toFun s
tactic: simp only [SetLike.mem_coe]
state_before: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
⊢ a ∈ (closure (L[[↑A]])).toFun s
state_after: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
a' : L[[↑A]].Constants := Sum.inr ⟨a, ha⟩
⊢ a ∈ (closure (L[[↑A]])).toFun s
tactic: let a' : L[[A]].Constants := Sum.inr ⟨a, ha⟩
state_before: 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
S : L.Substructure M
A s : Set M
h : A ⊆ ↑S
a : M
ha : a ∈ A
a' : L[[↑A]].Constants := Sum.inr ⟨a, ha⟩
⊢ a ∈ (closure (L[[↑A]])).toFun s
state_after: no goals
tactic: exact constants_mem a'
Theorem: Rel.codom_inv
File: Mathlib/Data/Rel.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
r : Rel α β
⊢ r.inv.codom = r.dom
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
r : Rel α β
x : α
⊢ x ∈ r.inv.codom ↔ x ∈ r.dom
tactic: ext x
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
r : Rel α β
x : α
⊢ x ∈ r.inv.codom ↔ x ∈ r.dom
state_after: no goals
tactic: rfl
Theorem: Asymptotics.IsBigO.eq_zero_of_norm_pow
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f✝ : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f : E'' → F''
x₀ : E''
n : ℕ
h : f =O[𝓝 x₀] fun x => ‖x - x₀‖ ^ n
hn : n ≠ 0
⊢ f x₀ = 0
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f✝ : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f : E'' → F''
x₀ : E''
n : ℕ
h : f =O[𝓝[univ] x₀] fun x => ‖x - x₀‖ ^ n
hn : n ≠ 0
⊢ f x₀ = 0
tactic: rw [← nhdsWithin_univ] at h
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
G : Type u_5
E' : Type u_6
F' : Type u_7
G' : Type u_8
E'' : Type u_9
F'' : Type u_10
G'' : Type u_11
E''' : Type u_12
R : Type u_13
R' : Type u_14
𝕜 : Type u_15
𝕜' : Type u_16
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedAddGroup E'''
inst✝² : SeminormedRing R'
inst✝¹ : NormedDivisionRing 𝕜
inst✝ : NormedDivisionRing 𝕜'
c c' c₁ c₂ : ℝ
f✝ : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
f : E'' → F''
x₀ : E''
n : ℕ
h : f =O[𝓝[univ] x₀] fun x => ‖x - x₀‖ ^ n
hn : n ≠ 0
⊢ f x₀ = 0
state_after: no goals
tactic: exact h.eq_zero_of_norm_pow_within (mem_univ _) hn
Theorem: LinearEquiv.ofIsUnitDet_symm_apply
File: Mathlib/LinearAlgebra/Determinant.lean

Proof steps:
state_before: R : Type u_1
inst✝⁶ : CommRing R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
ι : Type u_4
inst✝¹ : DecidableEq ι
inst✝ : Fintype ι
e : Basis ι R M
f : M →ₗ[R] M'
v : Basis ι R M
v' : Basis ι R M'
h : IsUnit ((toMatrix v v') f).det
x : M
⊢ ((toLin v' v) ((toMatrix v v') f)⁻¹) (f x) = ((toLin v v) (((toMatrix v v') f)⁻¹ * (toMatrix v v') f)) x
state_after: no goals
tactic: rw [toLin_mul v v' v, toLin_toMatrix, LinearMap.comp_apply]
state_before: R : Type u_1
inst✝⁶ : CommRing R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
ι : Type u_4
inst✝¹ : DecidableEq ι
inst✝ : Fintype ι
e : Basis ι R M
f : M →ₗ[R] M'
v : Basis ι R M
v' : Basis ι R M'
h : IsUnit ((toMatrix v v') f).det
x : M
⊢ ((toLin v v) (((toMatrix v v') f)⁻¹ * (toMatrix v v') f)) x = x
state_after: no goals
tactic: simp [h]
state_before: R : Type u_1
inst✝⁶ : CommRing R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
ι : Type u_4
inst✝¹ : DecidableEq ι
inst✝ : Fintype ι
e : Basis ι R M
f : M →ₗ[R] M'
v : Basis ι R M
v' : Basis ι R M'
h : IsUnit ((toMatrix v v') f).det
x : M'
⊢ f (((toLin v' v) ((toMatrix v v') f)⁻¹) x) = ((toLin v' v') ((toMatrix v v') f * ((toMatrix v v') f)⁻¹)) x
state_after: no goals
tactic: rw [toLin_mul v' v v', LinearMap.comp_apply, toLin_toMatrix v v']
state_before: R : Type u_1
inst✝⁶ : CommRing R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
ι : Type u_4
inst✝¹ : DecidableEq ι
inst✝ : Fintype ι
e : Basis ι R M
f : M →ₗ[R] M'
v : Basis ι R M
v' : Basis ι R M'
h : IsUnit ((toMatrix v v') f).det
x : M'
⊢ ((toLin v' v') ((toMatrix v v') f * ((toMatrix v v') f)⁻¹)) x = x
state_after: no goals
tactic: simp [h]
Theorem: Seminorm.ball_comp
File: Mathlib/Analysis/Seminorm.lean

Proof steps:
state_before: R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
⊢ (p.comp f).ball x r = ⇑f ⁻¹' p.ball (f x) r
state_after: case h
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
x✝ : E
⊢ x✝ ∈ (p.comp f).ball x r ↔ x✝ ∈ ⇑f ⁻¹' p.ball (f x) r
tactic: ext
state_before: case h
R : Type u_1
R' : Type u_2
𝕜 : Type u_3
𝕜₂ : Type u_4
𝕜₃ : Type u_5
𝕝 : Type u_6
E : Type u_7
E₂ : Type u_8
E₃ : Type u_9
F : Type u_10
G : Type u_11
ι : Type u_12
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
x✝ : E
⊢ x✝ ∈ (p.comp f).ball x r ↔ x✝ ∈ ⇑f ⁻¹' p.ball (f x) r
state_after: no goals
tactic: simp_rw [ball, mem_preimage, comp_apply, Set.mem_setOf_eq, map_sub]
Theorem: Rat.uniformContinuous_add
File: Mathlib/Topology/Instances/Rat.lean

Proof steps:
state_before: ⊢ UniformContinuous fun x => ↑x.1 + ↑x.2
state_after: no goals
tactic: exact Real.uniformContinuous_add.comp
      (Rat.uniformContinuous_coe_real.prod_map Rat.uniformContinuous_coe_real)
Theorem: Algebra.trace_prod
File: Mathlib/RingTheory/Trace/Defs.lean

Proof steps:
state_before: R : Type u_1
S : Type u_2
T : Type u_3
inst✝⁹ : CommRing R
inst✝⁸ : CommRing S
inst✝⁷ : CommRing T
inst✝⁶ : Algebra R S
inst✝⁵ : Algebra R T
ι κ : Type w
inst✝⁴ : Fintype ι
b : Basis ι R S
inst✝³ : Module.Free R S
inst✝² : Module.Free R T
inst✝¹ : Module.Finite R S
inst✝ : Module.Finite R T
p : S × T
⊢ (trace R (S × T)) p = ((trace R S).coprod (trace R T)) p
state_after: no goals
tactic: rw [coprod_apply, trace_prod_apply]
Theorem: CompHausLike.isIso_of_bijective
File: Mathlib/Topology/Category/CompHausLike/Basic.lean

Proof steps:
state_before: P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
⊢ IsIso f
state_after: P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
⊢ IsIso f
tactic: let E := Equiv.ofBijective _ bij
state_before: P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
⊢ IsIso f
state_after: P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
hE : Continuous ⇑E.symm
⊢ IsIso f
tactic: have hE : Continuous E.symm := by
    rw [continuous_iff_isClosed]
    intro S hS
    rw [← E.image_eq_preimage]
    exact isClosedMap f S hS
state_before: P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
hE : Continuous ⇑E.symm
⊢ IsIso f
state_after: case refine_1
P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
hE : Continuous ⇑E.symm
⊢ f ≫ { toFun := ⇑E.symm, continuous_toFun := hE } = 𝟙 X

case refine_2
P : TopCat → Prop
X✝ : Type u
inst✝³ : TopologicalSpace X✝
inst✝² : CompactSpace X✝
inst✝¹ : T2Space X✝
inst✝ : HasProp P X✝
X Y : CompHausLike P
f : X ⟶ Y
bij : Function.Bijective ⇑f
E : (forget (CompHausLike P)).obj X ≃ (forget (CompHausLike P)).obj Y := Equiv.ofBijective (⇑f) bij
hE : Continuous ⇑E.symm
⊢ { toFun := ⇑E.symm, continuous_toFun := hE } ≫ f = 𝟙 Y
tactic: refine ⟨⟨⟨E.symm, hE⟩, ?_, ?_⟩⟩
Theorem: Antitone.iInf
File: Mathlib/Order/CompleteLattice.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι✝ : Sort u_5
ι' : Sort u_6
κ : ι✝ → Sort u_7
κ' : ι' → Sort u_8
ι : Sort u_9
inst✝¹ : Preorder α
inst✝ : CompleteLattice β
s : Set (α → β)
f : ι → α → β
hf : ∀ (i : ι), Antitone (f i)
⊢ ∀ f_1 ∈ range fun i => f i, Antitone f_1
state_after: no goals
tactic: simpa
Theorem: div_le_div₀
File: Mathlib/Algebra/Order/GroupWithZero/Canonical.lean

Proof steps:
state_before: α : Type u_1
inst✝ : LinearOrderedCommGroupWithZero α
a✝ b✝ c✝ d✝ : α
m n : ℕ
a b c d : α
hb : b ≠ 0
hd : d ≠ 0
⊢ a * b⁻¹ ≤ c * d⁻¹ ↔ a * d ≤ c * b
state_after: no goals
tactic: rw [mul_inv_le_iff₀ hb, mul_right_comm, le_mul_inv_iff₀ hd]