1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.L1.SimpleFunc.norm_Integral_le_one
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rw [one_mul]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type u_5
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type u_6
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : ↥(simpleFunc E 1 μ)
⊢ ‖{ toFun := integral, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ 1 * ‖f‖
state_after: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type u_5
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type u_6
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : ↥(simpleFunc E 1 μ)
⊢ ‖{ toFun := integral, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ ‖f‖

tactic: exact norm_integral_le_norm f
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedAddCommGroup F
m : MeasurableSpace α
μ : Measure α
inst✝⁸ : NormedField 𝕜
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : SMulCommClass ℝ 𝕜 E
F' : Type u_5
inst✝⁴ : NormedAddCommGroup F'
inst✝³ : NormedSpace ℝ F'
E' : Type u_6
inst✝² : NormedAddCommGroup E'
inst✝¹ : NormedSpace ℝ E'
inst✝ : NormedSpace 𝕜 E'
f : ↥(simpleFunc E 1 μ)
⊢ ‖{ toFun := integral, map_add' := ⋯, map_smul' := ⋯ } f‖ ≤ ‖f‖
state_after: no goals
Theorem: Filter.isCountablyGenerated_pure
File: Mathlib/Order/Filter/Bases.lean

tactic: rw [← principal_singleton]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Sort u_5
a : α
⊢ (pure a).IsCountablyGenerated
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Sort u_5
a : α
⊢ (𝓟 {a}).IsCountablyGenerated

tactic: exact isCountablyGenerated_principal _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Sort u_5
a : α
⊢ (𝓟 {a}).IsCountablyGenerated
state_after: no goals
Theorem: Real.logb_eq_iff_rpow_eq
File: Mathlib/Analysis/SpecialFunctions/Log/Base.lean

tactic: constructor <;> rintro rfl
state_before: b x y : ℝ
b_pos : 0 < b
b_ne_one : b ≠ 1
hy : 0 < y
⊢ logb b y = x ↔ b ^ x = y
state_after: case mp
b y : ℝ
b_pos : 0 < b
b_ne_one : b ≠ 1
hy : 0 < y
⊢ b ^ logb b y = y

case mpr
b x : ℝ
b_pos : 0 < b
b_ne_one : b ≠ 1
hy : 0 < b ^ x
⊢ logb b (b ^ x) = x

tactic: exact rpow_logb b_pos b_ne_one hy
state_before: case mp
b y : ℝ
b_pos : 0 < b
b_ne_one : b ≠ 1
hy : 0 < y
⊢ b ^ logb b y = y
state_after: no goals

tactic: exact logb_rpow b_pos b_ne_one
state_before: case mpr
b x : ℝ
b_pos : 0 < b
b_ne_one : b ≠ 1
hy : 0 < b ^ x
⊢ logb b (b ^ x) = x
state_after: no goals
Theorem: Basis.finTwoProd_one
File: Mathlib/LinearAlgebra/Basis.lean

tactic: simp [Basis.finTwoProd, LinearEquiv.finTwoArrow]
state_before: ι : Type u_1
ι' : Type u_2
R✝ : Type u_3
R₂ : Type u_4
K : Type u_5
M : Type u_6
M' : Type u_7
M'' : Type u_8
V : Type u
V' : Type u_9
v : ι → M
inst✝⁹ : Ring R✝
inst✝⁸ : CommRing R₂
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup M''
inst✝⁴ : Module R✝ M
inst✝³ : Module R₂ M
inst✝² : Module R✝ M'
inst✝¹ : Module R✝ M''
c d : R✝
x y : M
b : Basis ι R✝ M
R : Type u_10
inst✝ : Semiring R
⊢ (Basis.finTwoProd R) 1 = (0, 1)
state_after: no goals
Theorem: HasStrictDerivAt.sum
File: Mathlib/Analysis/Calculus/Deriv/Add.lean

tactic: simpa [ContinuousLinearMap.sum_apply] using (HasStrictFDerivAt.sum h).hasStrictDerivAt
state_before: 𝕜 : Type u
inst✝⁴ : NontriviallyNormedField 𝕜
F : Type v
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
E : Type w
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f f₀ f₁ g : 𝕜 → F
f' f₀' f₁' g' : F
x : 𝕜
s t : Set 𝕜
L : Filter 𝕜
ι : Type u_1
u : Finset ι
A : ι → 𝕜 → F
A' : ι → F
h : ∀ i ∈ u, HasStrictDerivAt (A i) (A' i) x
⊢ HasStrictDerivAt (fun y => ∑ i ∈ u, A i y) (∑ i ∈ u, A' i) x
state_after: no goals
Theorem: Filter.inv_cobounded₀
File: Mathlib/Analysis/Normed/Field/Basic.lean

tactic: rw [← comap_norm_atTop, ← Filter.comap_inv, ← comap_norm_nhdsWithin_Ioi_zero,
  ← inv_atTop₀, ← Filter.comap_inv]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝ : NormedDivisionRing α
a : α
⊢ (cobounded α)⁻¹ = 𝓝[≠] 0
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
inst✝ : NormedDivisionRing α
a : α
⊢ comap Inv.inv (comap norm atTop) = comap norm (comap Inv.inv atTop)
Theorem: Finset.card_Ioc_finset
File: Mathlib/Data/Finset/Interval.lean

tactic: rw [card_Ioc_eq_card_Icc_sub_one, card_Icc_finset h]
state_before: α : Type u_1
β : Type u_2
inst✝ : DecidableEq α
s t : Finset α
h : s ⊆ t
⊢ (Ioc s t).card = 2 ^ (t.card - s.card) - 1
state_after: no goals
Theorem: StructureGroupoid.LocalInvariantProp.liftPropOn_of_liftProp
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: rw [← liftPropOn_univ] at h
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : PartialHomeomorph M H
f f' : PartialHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : G.LocalInvariantProp G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftProp P g
⊢ LiftPropOn P g s
state_after: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : PartialHomeomorph M H
f f' : PartialHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : G.LocalInvariantProp G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftPropOn P g univ
⊢ LiftPropOn P g s

tactic: exact liftPropOn_mono mono h (subset_univ _)
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : PartialHomeomorph M H
f f' : PartialHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : G.LocalInvariantProp G' P
mono : ∀ ⦃s : Set H⦄ ⦃x : H⦄ ⦃t : Set H⦄ ⦃f : H → H'⦄, t ⊆ s → P f s x → P f t x
h : LiftPropOn P g univ
⊢ LiftPropOn P g s
state_after: no goals
Theorem: LinearMap.adjoint_comp
File: Mathlib/Analysis/InnerProductSpace/Adjoint.lean

tactic: ext v
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
A : F →ₗ[𝕜] G
B : E →ₗ[𝕜] F
⊢ adjoint (A ∘ₗ B) = adjoint B ∘ₗ adjoint A
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
A : F →ₗ[𝕜] G
B : E →ₗ[𝕜] F
v : G
⊢ (adjoint (A ∘ₗ B)) v = (adjoint B ∘ₗ adjoint A) v

tactic: refine ext_inner_left 𝕜 fun w => ?_
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
A : F →ₗ[𝕜] G
B : E →ₗ[𝕜] F
v : G
⊢ (adjoint (A ∘ₗ B)) v = (adjoint B ∘ₗ adjoint A) v
state_after: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
A : F →ₗ[𝕜] G
B : E →ₗ[𝕜] F
v : G
w : E
⊢ ⟪w, (adjoint (A ∘ₗ B)) v⟫_𝕜 = ⟪w, (adjoint B ∘ₗ adjoint A) v⟫_𝕜

tactic: simp only [adjoint_inner_right, LinearMap.coe_comp, Function.comp_apply]
state_before: case h
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
inst✝⁹ : RCLike 𝕜
inst✝⁸ : NormedAddCommGroup E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : InnerProductSpace 𝕜 G
inst✝² : FiniteDimensional 𝕜 E
inst✝¹ : FiniteDimensional 𝕜 F
inst✝ : FiniteDimensional 𝕜 G
A : F →ₗ[𝕜] G
B : E →ₗ[𝕜] F
v : G
w : E
⊢ ⟪w, (adjoint (A ∘ₗ B)) v⟫_𝕜 = ⟪w, (adjoint B ∘ₗ adjoint A) v⟫_𝕜
state_after: no goals
Theorem: FractionalIdeal.eq_zero_iff
File: Mathlib/RingTheory/FractionalIdeal/Basic.lean

tactic: simpa [h, mem_zero_iff] using hx
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
h : I = 0
x : P
hx : x ∈ I
⊢ x = 0
state_after: no goals
Theorem: groupCohomology.oneCocycles_map_inv
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

tactic: rw [← add_eq_zero_iff_eq_neg, ← oneCocycles_map_one f, ← mul_inv_self g,
  (mem_oneCocycles_iff f.1).1 f.2 g g⁻¹]
state_before: k G : Type u
inst✝¹ : CommRing k
inst✝ : Group G
A : Rep k G
f : ↥(oneCocycles A)
g : G
⊢ (A.ρ g) (↑f g⁻¹) = -↑f g
state_after: no goals
Theorem: LinearIndependent.span_eq_top_of_card_eq_finrank'
File: Mathlib/LinearAlgebra/FiniteDimensional.lean

tactic: by_contra ne_top
state_before: K : Type u
V : Type v
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : Module K V
ι : Type u_1
inst✝¹ : Fintype ι
inst✝ : FiniteDimensional K V
b : ι → V
lin_ind : LinearIndependent K b
card_eq : Fintype.card ι = finrank K V
⊢ span K (Set.range b) = ⊤
state_after: K : Type u
V : Type v
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : Module K V
ι : Type u_1
inst✝¹ : Fintype ι
inst✝ : FiniteDimensional K V
b : ι → V
lin_ind : LinearIndependent K b
card_eq : Fintype.card ι = finrank K V
ne_top : ¬span K (Set.range b) = ⊤
⊢ False

tactic: rw [← finrank_span_eq_card lin_ind] at card_eq
state_before: K : Type u
V : Type v
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : Module K V
ι : Type u_1
inst✝¹ : Fintype ι
inst✝ : FiniteDimensional K V
b : ι → V
lin_ind : LinearIndependent K b
card_eq : Fintype.card ι = finrank K V
ne_top : ¬span K (Set.range b) = ⊤
⊢ False
state_after: K : Type u
V : Type v
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : Module K V
ι : Type u_1
inst✝¹ : Fintype ι
inst✝ : FiniteDimensional K V
b : ι → V
lin_ind : LinearIndependent K b
card_eq : finrank K ↥(span K (Set.range b)) = finrank K V
ne_top : ¬span K (Set.range b) = ⊤
⊢ False

tactic: exact ne_of_lt (Submodule.finrank_lt <| lt_top_iff_ne_top.2 ne_top) card_eq
state_before: K : Type u
V : Type v
inst✝⁴ : DivisionRing K
inst✝³ : AddCommGroup V
inst✝² : Module K V
ι : Type u_1
inst✝¹ : Fintype ι
inst✝ : FiniteDimensional K V
b : ι → V
lin_ind : LinearIndependent K b
card_eq : finrank K ↥(span K (Set.range b)) = finrank K V
ne_top : ¬span K (Set.range b) = ⊤
⊢ False
state_after: no goals
Theorem: List.Nodup.pairwise_coe
File: Mathlib/Data/List/Nodup.lean

tactic: induction' l with a l ih
state_before: α : Type u
β : Type v
l l₁ l₂ : List α
r : α → α → Prop
a b : α
inst✝ : IsSymm α r
hl : l.Nodup
⊢ {a | a ∈ l}.Pairwise r ↔ Pairwise r l
state_after: case nil
α : Type u
β : Type v
l l₁ l₂ : List α
r : α → α → Prop
a b : α
inst✝ : IsSymm α r
hl : [].Nodup
⊢ {a | a ∈ []}.Pairwise r ↔ Pairwise r []

case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : (a :: l).Nodup
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)

tactic: rw [List.nodup_cons] at hl
state_before: case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : (a :: l).Nodup
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)
state_after: case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : a ∉ l ∧ l.Nodup
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)

tactic: have : ∀ b ∈ l, ¬a = b → r a b ↔ r a b := fun b hb =>
  imp_iff_right (ne_of_mem_of_not_mem hb hl.1).symm
state_before: case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : a ∉ l ∧ l.Nodup
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)
state_after: case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : a ∉ l ∧ l.Nodup
this : ∀ b ∈ l, ¬a = b → r a b ↔ r a b
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)

tactic: simp [Set.setOf_or, Set.pairwise_insert_of_symmetric (@symm_of _ r _), ih hl.2, and_comm,
  forall₂_congr this]
state_before: case cons
α : Type u
β : Type v
l✝ l₁ l₂ : List α
r : α → α → Prop
a✝ b : α
inst✝ : IsSymm α r
a : α
l : List α
ih : l.Nodup → ({a | a ∈ l}.Pairwise r ↔ Pairwise r l)
hl : a ∉ l ∧ l.Nodup
this : ∀ b ∈ l, ¬a = b → r a b ↔ r a b
⊢ {a_1 | a_1 ∈ a :: l}.Pairwise r ↔ Pairwise r (a :: l)
state_after: no goals

tactic: simp
state_before: case nil
α : Type u
β : Type v
l l₁ l₂ : List α
r : α → α → Prop
a b : α
inst✝ : IsSymm α r
hl : [].Nodup
⊢ {a | a ∈ []}.Pairwise r ↔ Pairwise r []
state_after: no goals
Theorem: MeasureTheory.Measure.restrict_restrict₀'
File: Mathlib/MeasureTheory/Measure/Restrict.lean

tactic: simp only [restrict_apply hu, restrict_apply₀' ht, inter_assoc]
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 : NullMeasurableSet t μ
u : Set α
hu : MeasurableSet u
⊢ ((μ.restrict t).restrict s) u = (μ.restrict (s ∩ t)) u
state_after: no goals
Theorem: Set.Finite.cofinite_inf_principal_diff
File: Mathlib/Order/Filter/Cofinite.lean

tactic: rw [diff_eq, ← inf_principal, ← inf_assoc, inf_right_comm, ht.cofinite_inf_principal_compl]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
l : Filter α
s t : Set α
ht : t.Finite
⊢ cofinite ⊓ 𝓟 (s \ t) = cofinite ⊓ 𝓟 s
state_after: no goals
Theorem: CategoryTheory.leftDistributor_inv
File: Mathlib/CategoryTheory/Monoidal/Preadditive.lean

tactic: ext
state_before: C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X : C
f : J → C
⊢ (leftDistributor X f).inv = ∑ j : J, biproduct.π (fun j => X ⊗ f j) j ≫ X ◁ biproduct.ι f j
state_after: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X : C
f : J → C
j✝ : J
⊢ biproduct.ι (fun j => X ⊗ f j) j✝ ≫ (leftDistributor X f).inv =
    biproduct.ι (fun j => X ⊗ f j) j✝ ≫ ∑ j : J, biproduct.π (fun j => X ⊗ f j) j ≫ X ◁ biproduct.ι f j

tactic: dsimp [leftDistributor, Functor.mapBiproduct, Functor.mapBicone]
state_before: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X : C
f : J → C
j✝ : J
⊢ biproduct.ι (fun j => X ⊗ f j) j✝ ≫ (leftDistributor X f).inv =
    biproduct.ι (fun j => X ⊗ f j) j✝ ≫ ∑ j : J, biproduct.π (fun j => X ⊗ f j) j ≫ X ◁ biproduct.ι f j
state_after: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X : C
f : J → C
j✝ : J
⊢ (biproduct.ι (fun j => X ⊗ f j) j✝ ≫ biproduct.desc fun j => X ◁ biproduct.ι f j) =
    biproduct.ι (fun j => X ⊗ f j) j✝ ≫ ∑ j : J, biproduct.π (fun j => X ⊗ f j) j ≫ X ◁ biproduct.ι f j

tactic: simp only [Preadditive.comp_sum, biproduct.ι_π_assoc, dite_comp, zero_comp,
  Finset.sum_dite_eq, Finset.mem_univ, ite_true, eqToHom_refl, Category.id_comp,
  biproduct.ι_desc]
state_before: case w
C : Type u_1
inst✝⁵ : Category.{u_2, u_1} C
inst✝⁴ : Preadditive C
inst✝³ : MonoidalCategory C
inst✝² : MonoidalPreadditive C
inst✝¹ : HasFiniteBiproducts C
J : Type
inst✝ : Fintype J
X : C
f : J → C
j✝ : J
⊢ (biproduct.ι (fun j => X ⊗ f j) j✝ ≫ biproduct.desc fun j => X ◁ biproduct.ι f j) =
    biproduct.ι (fun j => X ⊗ f j) j✝ ≫ ∑ j : J, biproduct.π (fun j => X ⊗ f j) j ≫ X ◁ biproduct.ι f j
state_after: no goals
Theorem: Ordinal.enumOrd_le_of_subset
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: apply Ordinal.induction a
state_before: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a : Ordinal.{u_1}
⊢ enumOrd T a ≤ enumOrd S a
state_after: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a : Ordinal.{u_1}
⊢ ∀ (j : Ordinal.{u_1}), (∀ k < j, enumOrd T k ≤ enumOrd S k) → enumOrd T j ≤ enumOrd S j

tactic: intro b H
state_before: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a : Ordinal.{u_1}
⊢ ∀ (j : Ordinal.{u_1}), (∀ k < j, enumOrd T k ≤ enumOrd S k) → enumOrd T j ≤ enumOrd S j
state_after: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a b : Ordinal.{u_1}
H : ∀ k < b, enumOrd T k ≤ enumOrd S k
⊢ enumOrd T b ≤ enumOrd S b

tactic: rw [enumOrd_def]
state_before: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a b : Ordinal.{u_1}
H : ∀ k < b, enumOrd T k ≤ enumOrd S k
⊢ enumOrd T b ≤ enumOrd S b
state_after: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a b : Ordinal.{u_1}
H : ∀ k < b, enumOrd T k ≤ enumOrd S k
⊢ sInf (T ∩ {b_1 | ∀ c < b, enumOrd T c < b_1}) ≤ enumOrd S b

tactic: exact csInf_le' ⟨hST (enumOrd_mem hS b), fun c h => (H c h).trans_lt (enumOrd_strictMono hS h)⟩
state_before: S✝ : Set Ordinal.{u}
S T : Set Ordinal.{u_1}
hS : Unbounded (fun x x_1 => x < x_1) S
hST : S ⊆ T
a b : Ordinal.{u_1}
H : ∀ k < b, enumOrd T k ≤ enumOrd S k
⊢ sInf (T ∩ {b_1 | ∀ c < b, enumOrd T c < b_1}) ≤ enumOrd S b
state_after: no goals
Theorem: Filter.eventually_smallSets_forall
File: Mathlib/Order/Filter/SmallSets.lean

tactic: simpa only [inf_top_eq, eventually_top] using @eventually_smallSets_eventually α l ⊤ p
state_before: α : Type u_1
β : Type u_2
ι : Sort u_3
l l' la : Filter α
lb : Filter β
p : α → Prop
⊢ (∀ᶠ (s : Set α) in l.smallSets, ∀ x ∈ s, p x) ↔ ∀ᶠ (x : α) in l, p x
state_after: no goals
Theorem: Finset.cons_sdiff_cons
File: Mathlib/Data/Finset/Basic.lean

tactic: rw [cons_eq_insert, cons_eq_insert, insert_sdiff_insert' hab ha]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝ : DecidableEq α
s t u v : Finset α
a b : α
hab : a ≠ b
ha : a ∉ s
hb : b ∉ s
⊢ cons a s ha \ cons b s hb = {a}
state_after: no goals
Theorem: mul_eq_mul_left_iff
File: Mathlib/Algebra/GroupWithZero/Basic.lean

tactic: by_cases ha : a = 0 <;> [simp only [ha, zero_mul, or_true]; simp [mul_right_inj', ha]]
state_before: α : Type u_1
M₀ : Type u_2
G₀ : Type u_3
M₀' : Type u_4
G₀' : Type u_5
F : Type u_6
F' : Type u_7
inst✝ : CancelMonoidWithZero M₀
a b c : M₀
⊢ a * b = a * c ↔ b = c ∨ a = 0
state_after: no goals
Theorem: Surreal.nsmul_pow_two_powHalf
File: Mathlib/SetTheory/Surreal/Dyadic.lean

tactic: induction' n with n hn
state_before: n : ℕ
⊢ 2 ^ n * powHalf n = 1
state_after: case zero

⊢ 2 ^ 0 * powHalf 0 = 1

case succ
n : ℕ
hn : 2 ^ n * powHalf n = 1
⊢ 2 ^ (n + 1) * powHalf (n + 1) = 1

tactic: simp only [pow_zero, powHalf_zero, mul_one]
state_before: case zero

⊢ 2 ^ 0 * powHalf 0 = 1
state_after: no goals

tactic: rw [← hn, ← double_powHalf_succ_eq_powHalf n, ← mul_assoc (2 ^ n) 2 (powHalf (n + 1)),
  pow_succ', mul_comm 2 (2 ^ n)]
state_before: case succ
n : ℕ
hn : 2 ^ n * powHalf n = 1
⊢ 2 ^ (n + 1) * powHalf (n + 1) = 1
state_after: no goals
Theorem: imageToKernel'_kernelSubobjectIso
File: Mathlib/Algebra/Homology/ImageToKernel.lean

tactic: ext
state_before: ι : Type u_1
V : Type u
inst✝³ : Category.{v, u} V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
w✝ : f ≫ g = 0
inst✝¹ : HasKernels V
inst✝ : HasImages V
w : f ≫ g = 0
⊢ imageToKernel' f g w ≫ (kernelSubobjectIso g).inv = (imageSubobjectIso f).inv ≫ imageToKernel f g w
state_after: case h
ι : Type u_1
V : Type u
inst✝³ : Category.{v, u} V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
w✝ : f ≫ g = 0
inst✝¹ : HasKernels V
inst✝ : HasImages V
w : f ≫ g = 0
⊢ (imageToKernel' f g w ≫ (kernelSubobjectIso g).inv) ≫ (kernelSubobject g).arrow =
    ((imageSubobjectIso f).inv ≫ imageToKernel f g w) ≫ (kernelSubobject g).arrow

tactic: simp [imageToKernel']
state_before: case h
ι : Type u_1
V : Type u
inst✝³ : Category.{v, u} V
inst✝² : HasZeroMorphisms V
A B C : V
f : A ⟶ B
g : B ⟶ C
w✝ : f ≫ g = 0
inst✝¹ : HasKernels V
inst✝ : HasImages V
w : f ≫ g = 0
⊢ (imageToKernel' f g w ≫ (kernelSubobjectIso g).inv) ≫ (kernelSubobject g).arrow =
    ((imageSubobjectIso f).inv ≫ imageToKernel f g w) ≫ (kernelSubobject g).arrow
state_after: no goals
Theorem: Rat.cast_intCast
File: Mathlib/Data/Rat/Cast/Defs.lean

tactic: rw [Nat.cast_one, div_one]
state_before: F : Type u_1
ι : Type u_2
α : Type u_3
β : Type u_4
inst✝ : DivisionRing α
p q : ℚ
n : ℤ
⊢ ↑n / ↑1 = ↑n
state_after: no goals
Theorem: norm_innerSL_le
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
⊢ ∀ (x : E), ‖(innerSL 𝕜) x‖ ≤ 1 * ‖x‖
state_after: no goals
Theorem: Profinite.NobelingProof.Products.evalCons
File: Mathlib/Topology/Category/Profinite/Nobeling.lean

tactic: simp only [eval.eq_1, List.map, List.prod_cons]
state_before: I : Type u
inst✝¹ : LinearOrder I
inst✝ : IsWellOrder I fun x x_1 => x < x_1
C : Set (I → Bool)
o : Ordinal.{u}
hC : IsClosed C
hsC : contained C (Order.succ o)
ho : o < Ordinal.type fun x x_1 => x < x_1
l : List I
a : I
hla : List.Chain' (fun x x_1 => x > x_1) (a :: l)
⊢ eval C ⟨a :: l, hla⟩ = e C a * eval C ⟨l, ⋯⟩
state_after: no goals
Theorem: Zsqrtd.mul_star
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: ext <;> simp [sub_eq_add_neg, mul_comm]
state_before: d x y : ℤ
⊢ { re := x, im := y } * star { re := x, im := y } = ↑x * ↑x - ↑d * ↑y * ↑y
state_after: no goals
Theorem: Zsqrtd.sqLe_smul
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: simpa [SqLe, mul_left_comm, mul_assoc] using Nat.mul_le_mul_left (n * n) xy
state_before: d✝ : ℤ
c d x y n : ℕ
xy : SqLe x c y d
⊢ SqLe (n * x) c (n * y) d
state_after: no goals