ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: Subgroup.pairwiseDisjoint_leftCoset_cover_const_of_index_eq
File: Mathlib/GroupTheory/CosetCover.lean

Proof steps:
state_before: G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
⊢ (↑s).PairwiseDisjoint fun x => g x • ↑H
state_after: G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ (↑s).PairwiseDisjoint fun x => g x • ↑H
tactic: have : Fintype (G ⧸ H) := fintypeOfIndexNeZero fun h => by
    rw [hind, Finset.card_eq_zero] at h
    rw [h, ← Finset.set_biUnion_coe, Finset.coe_empty, Set.biUnion_empty] at hcovers
    exact Set.empty_ne_univ hcovers
state_before: G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ Function.Bijective fun x => ↑(g ↑x)
state_after: G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ (Function.Surjective fun x => ↑(g ↑x)) ∧ Fintype.card { x // x ∈ s } = Fintype.card (G ⧸ H)
tactic: rw [Fintype.bijective_iff_surjective_and_card]
state_before: G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ (Function.Surjective fun x => ↑(g ↑x)) ∧ Fintype.card { x // x ∈ s } = Fintype.card (G ⧸ H)
state_after: case left
G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ Function.Surjective fun x => ↑(g ↑x)

case right
G : Type u_1
inst✝ : Group G
ι : Type u_2
s : Finset ι
H : Subgroup G
g : ι → G
hcovers : ⋃ i ∈ s, g i • ↑H = Set.univ
hind : H.index = s.card
this : Fintype (G ⧸ H)
⊢ Fintype.card { x // x ∈ s } = Fintype.card (G ⧸ H)
tactic: constructor
Theorem: OrderIso.equivalence_functor
File: Mathlib/CategoryTheory/Category/Preorder.lean

Proof steps:
state_before: X : Type u
Y : Type v
inst✝¹ : Preorder X
inst✝ : Preorder Y
e : X ≃o Y
x✝ : X
⊢ (𝟭 X).obj x✝ = (⋯.functor ⋙ ⋯.functor).obj x✝
state_after: no goals
tactic: simp
state_before: X : Type u
Y : Type v
inst✝¹ : Preorder X
inst✝ : Preorder Y
e : X ≃o Y
x✝ : Y
⊢ (⋯.functor ⋙ ⋯.functor).obj x✝ = (𝟭 Y).obj x✝
state_after: no goals
tactic: simp
Theorem: BoundedContinuousFunction.norm_le
File: Mathlib/Topology/ContinuousFunction/Bounded.lean

Proof steps:
state_before: F : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝¹ : TopologicalSpace α
inst✝ : SeminormedAddCommGroup β
f g : α →ᵇ β
x : α
C : ℝ
C0 : 0 ≤ C
⊢ ‖f‖ ≤ C ↔ ∀ (x : α), ‖f x‖ ≤ C
state_after: no goals
tactic: simpa using @dist_le _ _ _ _ f 0 _ C0
Theorem: OreLocalization.expand'
File: Mathlib/RingTheory/OreLocalization/Basic.lean

Proof steps:
state_before: R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s s' : ↥S
⊢ ↑s' * ↑s ∈ S
state_after: R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s s' : ↥S
⊢ ↑(s' * s) ∈ S
tactic: norm_cast
state_before: R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
r : X
s s' : ↥S
⊢ ↑(s' * s) ∈ S
state_after: no goals
tactic: apply SetLike.coe_mem
Theorem: Nat.count_succ'
File: Mathlib/Data/Nat/Count.lean

Proof steps:
state_before: p : ℕ → Prop
inst✝ : DecidablePred p
n : ℕ
⊢ count p (n + 1) = count (fun k => p (k + 1)) n + if p 0 then 1 else 0
state_after: no goals
tactic: rw [count_add', count_one]
Theorem: abs_sub_eq_two_nsmul_negPart
File: Mathlib/Algebra/Order/Group/PosPart.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
inst✝² : Lattice α
inst✝¹ : CommGroup α
inst✝ : CovariantClass α α (fun x x_1 => x * x_1) fun x x_1 => x ≤ x_1
a : α
⊢ mabs a / a = a⁻ᵐ ^ 2
state_after: no goals
tactic: rw [sq, ← mul_div_div_cancel, oneLePart_mul_leOnePart, oneLePart_div_leOnePart]
Theorem: Algebra.TensorProduct.basis_repr_symm_apply
File: Mathlib/RingTheory/TensorProduct/Basic.lean

Proof steps:
state_before: R : Type uR
S : Type uS
A : Type uA
B : Type uB
C : Type uC
D : Type uD
E : Type uE
F : Type uF
M : Type uM
ι : Type uι
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
b : Basis ι R M
a : A
i : ι
⊢ (basis A b).repr.symm (Finsupp.single i a) = a ⊗ₜ[R] b.repr.symm (Finsupp.single i 1)
state_after: R : Type uR
S : Type uS
A : Type uA
B : Type uB
C : Type uC
D : Type uD
E : Type uE
F : Type uF
M : Type uM
ι : Type uι
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
b : Basis ι R M
a : A
i : ι
⊢ (basisAux A b).invFun (Finsupp.single i a) = a ⊗ₜ[R] b.repr.symm (Finsupp.single i 1)
tactic: rw [basis, LinearEquiv.coe_symm_mk]
state_before: R : Type uR
S : Type uS
A : Type uA
B : Type uB
C : Type uC
D : Type uD
E : Type uE
F : Type uF
M : Type uM
ι : Type uι
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Algebra R A
inst✝¹ : AddCommMonoid M
inst✝ : Module R M
b : Basis ι R M
a : A
i : ι
⊢ (basisAux A b).invFun (Finsupp.single i a) = a ⊗ₜ[R] b.repr.symm (Finsupp.single i 1)
state_after: no goals
tactic: simp [Equiv.uniqueProd_symm_apply, basisAux]
Theorem: MeasurableEquiv.withDensity_ofReal_map_symm_apply_eq_integral_abs_deriv_mul'
File: Mathlib/MeasureTheory/Function/Jacobian.lean

Proof steps:
state_before: E : Type u_1
F : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s✝ : Set E
f✝ : E → E
f'✝ : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
f : ℝ ≃ᵐ ℝ
s : Set ℝ
hs : MeasurableSet s
f' : ℝ → ℝ
hf' : ∀ (x : ℝ), HasDerivAt (⇑f) (f' x) x
g : ℝ → ℝ
hg : 0 ≤ᶠ[ae volume] g
hg_int : Integrable g volume
⊢ (Measure.map (⇑f.symm) (volume.withDensity fun x => ENNReal.ofReal (g x))) s =
    ENNReal.ofReal (∫ (x : ℝ) in s, |f' x| * g (f x))
state_after: E : Type u_1
F : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s✝ : Set E
f✝ : E → E
f'✝ : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
f : ℝ ≃ᵐ ℝ
s : Set ℝ
hs : MeasurableSet s
f' : ℝ → ℝ
hf' : ∀ (x : ℝ), HasDerivAt (⇑f) (f' x) x
g : ℝ → ℝ
hg : 0 ≤ᶠ[ae volume] g
hg_int : Integrable g volume
⊢ ENNReal.ofReal (∫ (x : ℝ) in s, |(ContinuousLinearMap.smulRight 1 (f' x)).det| * g (f x)) =
    ENNReal.ofReal (∫ (x : ℝ) in s, |f' x| * g (f x))
tactic: rw [MeasurableEquiv.withDensity_ofReal_map_symm_apply_eq_integral_abs_det_fderiv_mul volume hs
      f (by filter_upwards [hg] with x hx using fun _ ↦ hx) hg_int.integrableOn
      (fun x _ => (hf' x).hasDerivWithinAt)]
state_before: E : Type u_1
F : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : FiniteDimensional ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
s✝ : Set E
f✝ : E → E
f'✝ : E → E →L[ℝ] E
inst✝² : MeasurableSpace E
inst✝¹ : BorelSpace E
μ : Measure E
inst✝ : μ.IsAddHaarMeasure
f : ℝ ≃ᵐ ℝ
s : Set ℝ
hs : MeasurableSet s
f' : ℝ → ℝ
hf' : ∀ (x : ℝ), HasDerivAt (⇑f) (f' x) x
g : ℝ → ℝ
hg : 0 ≤ᶠ[ae volume] g
hg_int : Integrable g volume
⊢ ENNReal.ofReal (∫ (x : ℝ) in s, |(ContinuousLinearMap.smulRight 1 (f' x)).det| * g (f x)) =
    ENNReal.ofReal (∫ (x : ℝ) in s, |f' x| * g (f x))
state_after: no goals
tactic: simp only [det_one_smulRight]
Theorem: MeasureTheory.IsFundamentalDomain.setLIntegral_eq_tsum'
File: Mathlib/MeasureTheory/Group/FundamentalDomain.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
α : Type u_3
β : Type u_4
E : Type u_5
inst✝¹⁰ : Group G
inst✝⁹ : Group H
inst✝⁸ : MulAction G α
inst✝⁷ : MeasurableSpace α
inst✝⁶ : MulAction H β
inst✝⁵ : MeasurableSpace β
inst✝⁴ : NormedAddCommGroup E
s t✝ : Set α
μ : Measure α
inst✝³ : MeasurableSpace G
inst✝² : MeasurableSMul G α
inst✝¹ : SMulInvariantMeasure G α μ
inst✝ : Countable G
ν : Measure α
h : IsFundamentalDomain G s μ
f : α → ℝ≥0∞
t : Set α
⊢ ∑' (g : G), ∫⁻ (x : α) in t ∩ g⁻¹ • s, f x ∂μ = ∑' (g : G), ∫⁻ (x : α) in g⁻¹ • (g • t ∩ s), f x ∂μ
state_after: no goals
tactic: simp only [smul_set_inter, inv_smul_smul]
Theorem: MonoidHom.mk'_apply
File: Mathlib/Algebra/Group/Hom/Defs.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
M : Type u_4
N : Type u_5
P : Type u_6
G : Type u_7
H : Type u_8
F : Type u_9
inst✝¹ : Group G
inst✝ : MulOneClass M
f : M → G
map_mul : ∀ (a b : M), f (a * b) = f a * f b
⊢ f 1 = 1
state_after: no goals
tactic: rw [← mul_right_cancel_iff, ← map_mul _ 1, one_mul, one_mul]
Theorem: Ordinal.typein_lt_self
File: Mathlib/SetTheory/Ordinal/Basic.lean

Proof steps:
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{u_3}
i : (Quotient.out o).α
⊢ typein (fun x x_1 => x < x_1) i < o
state_after: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{u_3}
i : (Quotient.out o).α
⊢ typein (fun x x_1 => x < x_1) i < type fun x x_1 => x < x_1
tactic: simp_rw [← type_lt o]
state_before: α : Type u
β : Type u_1
γ : Type u_2
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal.{u_3}
i : (Quotient.out o).α
⊢ typein (fun x x_1 => x < x_1) i < type fun x x_1 => x < x_1
state_after: no goals
tactic: apply typein_lt_type
Theorem: AddAction.mem_stabilizer_set
File: Mathlib/Algebra/Pointwise/Stabilizer.lean

Proof steps:
state_before: G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
⊢ a ∈ stabilizer G s ↔ ∀ (b : α), a • b ∈ s ↔ b ∈ s
state_after: case refine_1
G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
h : a • s = s
b : α
⊢ a • b ∈ s ↔ b ∈ s

case refine_2
G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
h : ∀ (b : α), a • b ∈ s ↔ b ∈ s
⊢ a • s = s
tactic: refine mem_stabilizer_iff.trans ⟨fun h b ↦ ?_, fun h ↦ ?_⟩
state_before: case refine_2
G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
h : ∀ (b : α), a • b ∈ s ↔ b ∈ s
⊢ a • s = s
state_after: case refine_2
G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
h : ∀ (b : α), a • b ∈ s ↔ b ∈ s
⊢ ∀ (x : α), a⁻¹ • x ∈ s ↔ x ∈ s
tactic: simp_rw [Set.ext_iff, mem_smul_set_iff_inv_smul_mem]
state_before: case refine_2
G : Type u_1
H : Type u_2
α : Type u_3
inst✝² : Group G
inst✝¹ : Group H
inst✝ : MulAction G α
a : G
s : Set α
h : ∀ (b : α), a • b ∈ s ↔ b ∈ s
⊢ ∀ (x : α), a⁻¹ • x ∈ s ↔ x ∈ s
state_after: no goals
tactic: exact ((MulAction.toPerm a).forall_congr' <| by simp [Iff.comm]).1 h
Theorem: Equiv.Perm.isCycleOn_one
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

Proof steps:
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
f g : Perm α
s t : Set α
a b x y : α
⊢ IsCycleOn 1 s ↔ s.Subsingleton
state_after: no goals
tactic: simp [IsCycleOn, Set.bijOn_id, Set.Subsingleton]
Theorem: Zsqrtd.mul_star
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

Proof steps:
state_before: d x y : ℤ
⊢ { re := x, im := y } * star { re := x, im := y } = ↑x * ↑x - ↑d * ↑y * ↑y
state_after: no goals
tactic: ext <;> simp [sub_eq_add_neg, mul_comm]
Theorem: AddSubgroup.equivMapOfInjective_coe_addEquiv
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

Proof steps:
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
N : Type u_5
inst✝ : Group N
H : Subgroup G
e : G ≃* G'
⊢ H.equivMapOfInjective ↑e ⋯ = e.subgroupMap H
state_after: case h.a
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
N : Type u_5
inst✝ : Group N
H : Subgroup G
e : G ≃* G'
x✝ : ↥H
⊢ ↑((H.equivMapOfInjective ↑e ⋯) x✝) = ↑((e.subgroupMap H) x✝)
tactic: ext
state_before: case h.a
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
N : Type u_5
inst✝ : Group N
H : Subgroup G
e : G ≃* G'
x✝ : ↥H
⊢ ↑((H.equivMapOfInjective ↑e ⋯) x✝) = ↑((e.subgroupMap H) x✝)
state_after: no goals
tactic: rfl
Theorem: Multiset.inr_mem_disjSum
File: Mathlib/Data/Multiset/Sum.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a : α
b : β
x : α ⊕ β
⊢ inr b ∈ s.disjSum t ↔ b ∈ t
state_after: α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a : α
b : β
x : α ⊕ β
⊢ (∃ b_1 ∈ t, inr b_1 = inr b) ↔ b ∈ t

α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a : α
b : β
x : α ⊕ β
⊢ ¬∃ a ∈ s, inl a = inr b
tactic: rw [mem_disjSum, or_iff_right]
state_before: α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a : α
b : β
x : α ⊕ β
⊢ ¬∃ a ∈ s, inl a = inr b
state_after: case intro.intro
α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a✝ : α
b : β
x : α ⊕ β
a : α
left✝ : a ∈ s
ha : inl a = inr b
⊢ False
tactic: rintro ⟨a, _, ha⟩
state_before: case intro.intro
α : Type u_1
β : Type u_2
s : Multiset α
t : Multiset β
s₁ s₂ : Multiset α
t₁ t₂ : Multiset β
a✝ : α
b : β
x : α ⊕ β
a : α
left✝ : a ∈ s
ha : inl a = inr b
⊢ False
state_after: no goals
tactic: exact inl_ne_inr ha
Theorem: Equiv.Perm.Disjoint.card_support_mul
File: Mathlib/GroupTheory/Perm/Support.lean

Proof steps:
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g : Perm α
h : f.Disjoint g
⊢ (f * g).support.card = f.support.card + g.support.card
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g : Perm α
h : f.Disjoint g
⊢ (f * g).support.card = (f.support ∪ g.support).card

α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f g : Perm α
h : f.Disjoint g
⊢ _root_.Disjoint f.support g.support
tactic: rw [← Finset.card_union_of_disjoint]
Theorem: cfcHom_nnreal_eq_restrict
File: Mathlib/Analysis/CstarAlgebra/ContinuousFunctionalCalculus/Instances.lean

Proof steps:
state_before: A : Type u_1
inst✝¹² : TopologicalSpace A
inst✝¹¹ : Ring A
inst✝¹⁰ : PartialOrder A
inst✝⁹ : StarRing A
inst✝⁸ : StarOrderedRing A
inst✝⁷ : Algebra ℝ A
inst✝⁶ : TopologicalRing A
inst✝⁵ : ContinuousStar A
inst✝⁴ : StarModule ℝ A
inst✝³ : ContinuousFunctionalCalculus ℝ IsSelfAdjoint
inst✝² : ContinuousFunctionalCalculus ℝ≥0 fun x => 0 ≤ x
inst✝¹ : UniqueContinuousFunctionalCalculus ℝ A
inst✝ : NonnegSpectrumClass ℝ A
a : A
ha : 0 ≤ a
⊢ cfcHom ha = SpectrumRestricts.starAlgHom (cfcHom ⋯) ⋯
state_after: A : Type u_1
inst✝¹² : TopologicalSpace A
inst✝¹¹ : Ring A
inst✝¹⁰ : PartialOrder A
inst✝⁹ : StarRing A
inst✝⁸ : StarOrderedRing A
inst✝⁷ : Algebra ℝ A
inst✝⁶ : TopologicalRing A
inst✝⁵ : ContinuousStar A
inst✝⁴ : StarModule ℝ A
inst✝³ : ContinuousFunctionalCalculus ℝ IsSelfAdjoint
inst✝² : ContinuousFunctionalCalculus ℝ≥0 fun x => 0 ≤ x
inst✝¹ : UniqueContinuousFunctionalCalculus ℝ A
inst✝ : NonnegSpectrumClass ℝ A
a : A
ha : 0 ≤ a
this : CompactSpace ↑(σ ℝ a)
⊢ cfcHom ha = SpectrumRestricts.starAlgHom (cfcHom ⋯) ⋯
tactic: have := UniqueContinuousFunctionalCalculus.compactSpace_spectrum a (R := ℝ)
state_before: A : Type u_1
inst✝¹² : TopologicalSpace A
inst✝¹¹ : Ring A
inst✝¹⁰ : PartialOrder A
inst✝⁹ : StarRing A
inst✝⁸ : StarOrderedRing A
inst✝⁷ : Algebra ℝ A
inst✝⁶ : TopologicalRing A
inst✝⁵ : ContinuousStar A
inst✝⁴ : StarModule ℝ A
inst✝³ : ContinuousFunctionalCalculus ℝ IsSelfAdjoint
inst✝² : ContinuousFunctionalCalculus ℝ≥0 fun x => 0 ≤ x
inst✝¹ : UniqueContinuousFunctionalCalculus ℝ A
inst✝ : NonnegSpectrumClass ℝ A
a : A
ha : 0 ≤ a
this : CompactSpace ↑(σ ℝ a)
⊢ cfcHom ha = SpectrumRestricts.starAlgHom (cfcHom ⋯) ⋯
state_after: no goals
tactic: apply (SpectrumRestricts.nnreal_of_nonneg ha).cfcHom_eq_restrict uniformEmbedding_subtype_val
Theorem: Filter.HasBasis.forall_mem_mem
File: Mathlib/Order/Filter/Bases.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
h : l.HasBasis p s
x : α
⊢ (∀ t ∈ l, x ∈ t) ↔ ∀ (i : ι), p i → x ∈ s i
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
h : l.HasBasis p s
x : α
⊢ (∀ (t : Set α) (x_1 : ι), p x_1 → s x_1 ⊆ t → x ∈ t) ↔ ∀ (i : ι), p i → x ∈ s i
tactic: simp only [h.mem_iff, exists_imp, and_imp]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
h : l.HasBasis p s
x : α
⊢ (∀ (t : Set α) (x_1 : ι), p x_1 → s x_1 ⊆ t → x ∈ t) ↔ ∀ (i : ι), p i → x ∈ s i
state_after: no goals
tactic: exact ⟨fun h i hi => h (s i) i hi Subset.rfl, fun h t i hi ht => ht (h i hi)⟩
Theorem: TopCat.toLightCondSet_val_map
File: Mathlib/Condensed/Light/TopComparison.lean

Proof steps:
state_before: X : TopCat
⊢ EqualizerCondition (yonedaPresheaf LightProfinite.toTopCat ↑X)
state_after: X : TopCat
⊢ ∀ (Z B : LightProfinite) (π : Z ⟶ B) [inst : EffectiveEpi π], QuotientMap ⇑(LightProfinite.toTopCat.map π)
tactic: apply equalizerCondition_yonedaPresheaf LightProfinite.toTopCat.{u} X
state_before: X : TopCat
⊢ ∀ (Z B : LightProfinite) (π : Z ⟶ B) [inst : EffectiveEpi π], QuotientMap ⇑(LightProfinite.toTopCat.map π)
state_after: X : TopCat
Z B : LightProfinite
π : Z ⟶ B
he : EffectiveEpi π
⊢ QuotientMap ⇑(LightProfinite.toTopCat.map π)
tactic: intro Z B π he
state_before: X : TopCat
Z B : LightProfinite
π : Z ⟶ B
he : EffectiveEpi π
⊢ QuotientMap ⇑(LightProfinite.toTopCat.map π)
state_after: X : TopCat
Z B : LightProfinite
π : Z ⟶ B
he : Function.Surjective ⇑π
⊢ QuotientMap ⇑(LightProfinite.toTopCat.map π)
tactic: rw [LightProfinite.effectiveEpi_iff_surjective] at he
state_before: X : TopCat
Z B : LightProfinite
π : Z ⟶ B
he : Function.Surjective ⇑π
⊢ QuotientMap ⇑(LightProfinite.toTopCat.map π)
state_after: no goals
tactic: apply QuotientMap.of_surjective_continuous he π.continuous
Theorem: Multiset.singleton_disjoint
File: Mathlib/Data/Multiset/Basic.lean

Proof steps:
state_before: α : Type u_1
β : Type v
γ : Type u_2
l : Multiset α
a : α
⊢ {a}.Disjoint l ↔ a ∉ l
state_after: no goals
tactic: simp [Disjoint]
Theorem: CategoryTheory.SingleFunctors.shiftIso_zero_hom_app
File: Mathlib/CategoryTheory/Shift/SingleFunctors.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁷ : Category.{u_7, u_1} C
inst✝⁶ : Category.{u_6, u_2} D
inst✝⁵ : Category.{?u.26109, u_3} E
inst✝⁴ : Category.{?u.26113, u_4} E'
A : Type u_5
inst✝³ : AddMonoid A
inst✝² : HasShift D A
inst✝¹ : HasShift E A
inst✝ : HasShift E' A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (F.shiftIso 0 a a ⋯).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)
state_after: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁷ : Category.{u_7, u_1} C
inst✝⁶ : Category.{u_6, u_2} D
inst✝⁵ : Category.{?u.26109, u_3} E
inst✝⁴ : Category.{?u.26113, u_4} E'
A : Type u_5
inst✝³ : AddMonoid A
inst✝² : HasShift D A
inst✝¹ : HasShift E A
inst✝ : HasShift E' A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (isoWhiskerLeft (F.functor a) (shiftFunctorZero D A)).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)
tactic: rw [shiftIso_zero]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
E' : Type u_4
inst✝⁷ : Category.{u_7, u_1} C
inst✝⁶ : Category.{u_6, u_2} D
inst✝⁵ : Category.{?u.26109, u_3} E
inst✝⁴ : Category.{?u.26113, u_4} E'
A : Type u_5
inst✝³ : AddMonoid A
inst✝² : HasShift D A
inst✝¹ : HasShift E A
inst✝ : HasShift E' A
F G H : SingleFunctors C D A
a : A
X : C
⊢ (isoWhiskerLeft (F.functor a) (shiftFunctorZero D A)).hom.app X = (shiftFunctorZero D A).hom.app ((F.functor a).obj X)
state_after: no goals
tactic: rfl
Theorem: Function.comp_eq_one_iff
File: Mathlib/Algebra/Group/Pi/Basic.lean

Proof steps:
state_before: I : Type u
α : Type u_1
β : Type u_2
γ : Type u_3
f✝ : I → Type v₁
g✝ : I → Type v₂
h : I → Type v₃
x y : (i : I) → f✝ i
i : I
inst✝¹ : One β
inst✝ : One γ
f : α → β
g : β → γ
hg : Injective g
hg0 : g 1 = 1
⊢ g ∘ f = 1 ↔ f = 1
state_after: no goals
tactic: simpa [hg0, const_one] using comp_eq_const_iff 1 f hg
Theorem: CategoryTheory.PresheafOfGroups.OneCohomologyRelation.trans
File: Mathlib/CategoryTheory/Sites/NonabelianCohomology/H1.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
G : Cᵒᵖ ⥤ Grp
X : C
I : Type w'
U : I → C
γ₁ γ₂ γ₃ : OneCochain G U
α β : ZeroCochain G U
h₁₂ : OneCohomologyRelation γ₁ γ₂ α
h₂₃ : OneCohomologyRelation γ₂ γ₃ β
i j : I
T : C
a : T ⟶ U i
b : T ⟶ U j
⊢ (G.map a.op) ((β * α) i) * γ₁.ev i j a b = γ₃.ev i j a b * (G.map b.op) ((β * α) j)
state_after: C : Type u
inst✝ : Category.{v, u} C
G : Cᵒᵖ ⥤ Grp
X : C
I : Type w'
U : I → C
γ₁ γ₂ γ₃ : OneCochain G U
α β : ZeroCochain G U
h₁₂ : OneCohomologyRelation γ₁ γ₂ α
h₂₃ : OneCohomologyRelation γ₂ γ₃ β
i j : I
T : C
a : T ⟶ U i
b : T ⟶ U j
⊢ (G.map a.op) (β i * α i) * γ₁.ev i j a b = γ₃.ev i j a b * (G.map b.op) (β j * α j)
tactic: dsimp
state_before: C : Type u
inst✝ : Category.{v, u} C
G : Cᵒᵖ ⥤ Grp
X : C
I : Type w'
U : I → C
γ₁ γ₂ γ₃ : OneCochain G U
α β : ZeroCochain G U
h₁₂ : OneCohomologyRelation γ₁ γ₂ α
h₂₃ : OneCohomologyRelation γ₂ γ₃ β
i j : I
T : C
a : T ⟶ U i
b : T ⟶ U j
⊢ (G.map a.op) (β i * α i) * γ₁.ev i j a b = γ₃.ev i j a b * (G.map b.op) (β j * α j)
state_after: no goals
tactic: rw [map_mul, map_mul, mul_assoc, h₁₂ i j a b, ← mul_assoc,
    h₂₃ i j a b, mul_assoc]
Theorem: Nat.isCompl_even_odd
File: Mathlib/Algebra/Order/Ring/Nat.lean

Proof steps:
state_before: ⊢ IsCompl {n | Even n} {n | Odd n}
state_after: no goals
tactic: simp only [← Set.compl_setOf, isCompl_compl, odd_iff_not_even]
Theorem: NormedAddGroupHom.NormNoninc.normNoninc_iff_norm_le_one
File: Mathlib/Analysis/Normed/Group/Hom.lean

Proof steps:
state_before: V : Type u_1
W : Type u_2
V₁ : Type u_3
V₂ : Type u_4
V₃ : Type u_5
inst✝⁴ : SeminormedAddCommGroup V
inst✝³ : SeminormedAddCommGroup W
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f : NormedAddGroupHom V W
⊢ f.NormNoninc ↔ ‖f‖ ≤ 1
state_after: case refine_1
V : Type u_1
W : Type u_2
V₁ : Type u_3
V₂ : Type u_4
V₃ : Type u_5
inst✝⁴ : SeminormedAddCommGroup V
inst✝³ : SeminormedAddCommGroup W
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f : NormedAddGroupHom V W
h : f.NormNoninc
⊢ ‖f‖ ≤ 1

case refine_2
V : Type u_1
W : Type u_2
V₁ : Type u_3
V₂ : Type u_4
V₃ : Type u_5
inst✝⁴ : SeminormedAddCommGroup V
inst✝³ : SeminormedAddCommGroup W
inst✝² : SeminormedAddCommGroup V₁
inst✝¹ : SeminormedAddCommGroup V₂
inst✝ : SeminormedAddCommGroup V₃
f : NormedAddGroupHom V W
h : ‖f‖ ≤ 1
v : V
⊢ ‖f v‖ ≤ ‖v‖
tactic: refine ⟨fun h => ?_, fun h => fun v => ?_⟩
Theorem: Cardinal.bddAbove_range
File: Mathlib/SetTheory/Cardinal/Basic.lean

Proof steps:
state_before: α β ι : Type u
f : ι → Cardinal.{max u v}
⊢ sum f ∈ upperBounds (range f)
state_after: case intro
α β ι : Type u
f : ι → Cardinal.{max u v}
i : ι
⊢ f i ≤ sum f
tactic: rintro a ⟨i, rfl⟩
state_before: case intro
α β ι : Type u
f : ι → Cardinal.{max u v}
i : ι
⊢ f i ≤ sum f
state_after: no goals
tactic: exact le_sum f i
Theorem: lipschitzWith_one_norm'
File: Mathlib/Analysis/Normed/Group/Uniform.lean

Proof steps:
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝ : FunLike 𝓕 E F
⊢ LipschitzWith 1 norm
state_after: no goals
tactic: simpa only [dist_one_left] using LipschitzWith.dist_right (1 : E)