1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: WeierstrassCurve.Affine.baseChange_slope
File: Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean

tactic: erw [← map_slope, map_baseChange]
state_before: R✝ : Type u
inst✝²³ : CommRing R✝
W✝ : Affine R✝
R : Type r
inst✝²² : CommRing R
W : Affine R
S : Type s
inst✝²¹ : CommRing S
inst✝²⁰ : Algebra R S
A : Type u
inst✝¹⁹ : CommRing A
inst✝¹⁸ : Algebra R A
inst✝¹⁷ : Algebra S A
inst✝¹⁶ : IsScalarTower R S A
B : Type v
inst✝¹⁵ : CommRing B
inst✝¹⁴ : Algebra R B
inst✝¹³ : Algebra S B
inst✝¹² : IsScalarTower R S B
f✝ : A →ₐ[S] B
F : Type u
inst✝¹¹ : Field F
inst✝¹⁰ : Algebra R F
inst✝⁹ : Algebra S F
inst✝⁸ : IsScalarTower R S F
K : Type v
inst✝⁷ : Field K
inst✝⁶ : Algebra R K
inst✝⁵ : Algebra S K
inst✝⁴ : IsScalarTower R S K
f : F →ₐ[S] K
L : Type w
inst✝³ : Field L
inst✝² : Algebra R L
inst✝¹ : Algebra S L
inst✝ : IsScalarTower R S L
g : K →ₐ[S] L
x₁ x₂ y₁ y₂ : F
⊢ (baseChange W K).toAffine.slope (f x₁) (f x₂) (f y₁) (f y₂) = f ((baseChange W F).toAffine.slope x₁ x₂ y₁ y₂)
state_after: R✝ : Type u
inst✝²³ : CommRing R✝
W✝ : Affine R✝
R : Type r
inst✝²² : CommRing R
W : Affine R
S : Type s
inst✝²¹ : CommRing S
inst✝²⁰ : Algebra R S
A : Type u
inst✝¹⁹ : CommRing A
inst✝¹⁸ : Algebra R A
inst✝¹⁷ : Algebra S A
inst✝¹⁶ : IsScalarTower R S A
B : Type v
inst✝¹⁵ : CommRing B
inst✝¹⁴ : Algebra R B
inst✝¹³ : Algebra S B
inst✝¹² : IsScalarTower R S B
f✝ : A →ₐ[S] B
F : Type u
inst✝¹¹ : Field F
inst✝¹⁰ : Algebra R F
inst✝⁹ : Algebra S F
inst✝⁸ : IsScalarTower R S F
K : Type v
inst✝⁷ : Field K
inst✝⁶ : Algebra R K
inst✝⁵ : Algebra S K
inst✝⁴ : IsScalarTower R S K
f : F →ₐ[S] K
L : Type w
inst✝³ : Field L
inst✝² : Algebra R L
inst✝¹ : Algebra S L
inst✝ : IsScalarTower R S L
g : K →ₐ[S] L
x₁ x₂ y₁ y₂ : F
⊢ (baseChange W K).toAffine.slope (f x₁) (f x₂) (f y₁) (f y₂) =
    (baseChange W K).toAffine.slope (f.toRingHom x₁) (f.toRingHom x₂) (f.toRingHom y₁) (f.toRingHom y₂)

tactic: rfl
state_before: R✝ : Type u
inst✝²³ : CommRing R✝
W✝ : Affine R✝
R : Type r
inst✝²² : CommRing R
W : Affine R
S : Type s
inst✝²¹ : CommRing S
inst✝²⁰ : Algebra R S
A : Type u
inst✝¹⁹ : CommRing A
inst✝¹⁸ : Algebra R A
inst✝¹⁷ : Algebra S A
inst✝¹⁶ : IsScalarTower R S A
B : Type v
inst✝¹⁵ : CommRing B
inst✝¹⁴ : Algebra R B
inst✝¹³ : Algebra S B
inst✝¹² : IsScalarTower R S B
f✝ : A →ₐ[S] B
F : Type u
inst✝¹¹ : Field F
inst✝¹⁰ : Algebra R F
inst✝⁹ : Algebra S F
inst✝⁸ : IsScalarTower R S F
K : Type v
inst✝⁷ : Field K
inst✝⁶ : Algebra R K
inst✝⁵ : Algebra S K
inst✝⁴ : IsScalarTower R S K
f : F →ₐ[S] K
L : Type w
inst✝³ : Field L
inst✝² : Algebra R L
inst✝¹ : Algebra S L
inst✝ : IsScalarTower R S L
g : K →ₐ[S] L
x₁ x₂ y₁ y₂ : F
⊢ (baseChange W K).toAffine.slope (f x₁) (f x₂) (f y₁) (f y₂) =
    (baseChange W K).toAffine.slope (f.toRingHom x₁) (f.toRingHom x₂) (f.toRingHom y₁) (f.toRingHom y₂)
state_after: no goals
Theorem: MeasureTheory.norm_integral_le_of_norm_le_const
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rw [integral_const, smul_eq_mul, mul_comm]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
𝕜 : Type u_4
inst✝¹² : NormedAddCommGroup E
inst✝¹¹ : NormedSpace ℝ E
hE : CompleteSpace E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : SMulCommClass ℝ 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace ℝ F
inst✝⁵ : CompleteSpace F
G : Type u_5
inst✝⁴ : NormedAddCommGroup G
inst✝³ : NormedSpace ℝ G
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type u_6
inst✝² : TopologicalSpace X
inst✝¹ : FirstCountableTopology X
inst✝ : IsFiniteMeasure μ
f : α → G
C : ℝ
h : ∀ᵐ (x : α) ∂μ, ‖f x‖ ≤ C
⊢ ∫ (x : α), C ∂μ = C * (μ univ).toReal
state_after: no goals
Theorem: BoxIntegral.integralSum_biUnionTagged
File: Mathlib/Analysis/BoxIntegral/Basic.lean

tactic: refine (π.sum_biUnion_boxes _ _).trans <| sum_congr rfl fun J hJ => sum_congr rfl fun J' hJ' => ?_
state_before: ι : Type u
E : Type v
F : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
I J : Box ι
π✝ : TaggedPrepartition I
f : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
π : Prepartition I
πi : (J : Box ι) → TaggedPrepartition J
⊢ integralSum f vol (π.biUnionTagged πi) = ∑ J ∈ π.boxes, integralSum f vol (πi J)
state_after: ι : Type u
E : Type v
F : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
I J✝ : Box ι
π✝ : TaggedPrepartition I
f : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
π : Prepartition I
πi : (J : Box ι) → TaggedPrepartition J
J : Box ι
hJ : J ∈ π.boxes
J' : Box ι
hJ' : J' ∈ (πi J).boxes
⊢ (vol J') (f ((π.biUnionTagged πi).tag J')) = (vol J') (f ((πi J).tag J'))

tactic: rw [π.tag_biUnionTagged hJ hJ']
state_before: ι : Type u
E : Type v
F : Type w
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace ℝ F
I J✝ : Box ι
π✝ : TaggedPrepartition I
f : (ι → ℝ) → E
vol : ι →ᵇᵃ[⊤] E →L[ℝ] F
π : Prepartition I
πi : (J : Box ι) → TaggedPrepartition J
J : Box ι
hJ : J ∈ π.boxes
J' : Box ι
hJ' : J' ∈ (πi J).boxes
⊢ (vol J') (f ((π.biUnionTagged πi).tag J')) = (vol J') (f ((πi J).tag J'))
state_after: no goals
Theorem: String.data_drop
File: .lake/packages/batteries/Batteries/Data/String/Lemmas.lean

tactic: rw [drop_eq]
state_before: s : String
n : Nat
⊢ (s.drop n).data = List.drop n s.data
state_after: no goals
Theorem: MeasureTheory.lintegral_nnnorm_eq_lintegral_edist
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: simp only [edist_eq_coe_nnnorm]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
⊢ ∫⁻ (a : α), ↑‖f a‖₊ ∂μ = ∫⁻ (a : α), edist (f a) 0 ∂μ
state_after: no goals
Theorem: SimpleGraph.ComponentCompl.hom_trans
File: Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean

tactic: change C.map _ = (C.map _).map _
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : G.ComponentCompl L
h : K ⊆ L
h' : M ⊆ K
⊢ hom ⋯ C = hom h' (hom h C)
state_after: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : G.ComponentCompl L
h : K ⊆ L
h' : M ⊆ K
⊢ ConnectedComponent.map (induceHom Hom.id ⋯) C =
    ConnectedComponent.map (induceHom Hom.id ⋯) (ConnectedComponent.map (induceHom Hom.id ⋯) C)

tactic: erw [ConnectedComponent.map_comp, induceHom_comp]
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : G.ComponentCompl L
h : K ⊆ L
h' : M ⊆ K
⊢ ConnectedComponent.map (induceHom Hom.id ⋯) C =
    ConnectedComponent.map (induceHom Hom.id ⋯) (ConnectedComponent.map (induceHom Hom.id ⋯) C)
state_after: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : G.ComponentCompl L
h : K ⊆ L
h' : M ⊆ K
⊢ ConnectedComponent.map (induceHom Hom.id ⋯) C = ConnectedComponent.map (induceHom (Hom.id.comp Hom.id) ⋯) C

tactic: rfl
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : G.ComponentCompl L
h : K ⊆ L
h' : M ⊆ K
⊢ ConnectedComponent.map (induceHom Hom.id ⋯) C = ConnectedComponent.map (induceHom (Hom.id.comp Hom.id) ⋯) C
state_after: no goals
Theorem: finprod_mem_eq_one_of_forall_eq_one
File: Mathlib/Algebra/BigOperators/Finprod.lean

tactic: simp (config := { contextual := true }) [h]
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
G : Type u_4
M : Type u_5
N : Type u_6
inst✝¹ : CommMonoid M
inst✝ : CommMonoid N
f : α → M
s : Set α
h : ∀ x ∈ s, f x = 1
⊢ ∏ᶠ (i : α) (_ : i ∈ s), f i = 1
state_after: no goals
Theorem: Fin.map_valEmbedding_Icc
File: Mathlib/Order/Interval/Finset/Fin.lean

tactic: simp [Icc_eq_finset_subtype, Finset.fin, Finset.map_map, Icc_filter_lt_of_lt_right]
state_before: n : ℕ
a b : Fin n
⊢ map valEmbedding (Icc a b) = Icc ↑a ↑b
state_after: no goals
Theorem: MulAction.IsInvariantBlock.isFixedBlock
File: Mathlib/GroupTheory/GroupAction/Blocks.lean

tactic: intro g
state_before: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
⊢ IsFixedBlock G B
state_after: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
⊢ g • B = B

tactic: apply le_antisymm (hfB g)
state_before: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
⊢ g • B = B
state_after: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
⊢ B ≤ g • B

tactic: intro x hx
state_before: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
⊢ B ≤ g • B
state_after: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ x ∈ g • B

tactic: rw [Set.mem_smul_set_iff_inv_smul_mem]
state_before: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ x ∈ g • B
state_after: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ g⁻¹ • x ∈ B

tactic: apply hfB g⁻¹
state_before: G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ g⁻¹ • x ∈ B
state_after: case a
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ g⁻¹ • x ∈ g⁻¹ • B

tactic: rwa [Set.smul_mem_smul_set_iff]
state_before: case a
G : Type u_1
inst✝¹ : Group G
X : Type u_2
inst✝ : MulAction G X
B : Set X
hfB : IsInvariantBlock G B
g : G
x : X
hx : x ∈ B
⊢ g⁻¹ • x ∈ g⁻¹ • B
state_after: no goals
Theorem: Convex.cthickening
File: Mathlib/Analysis/Convex/Normed.lean

tactic: obtain hδ | hδ := le_total 0 δ
state_before: ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
⊢ Convex ℝ (Metric.cthickening δ s)
state_after: case inl
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : 0 ≤ δ
⊢ Convex ℝ (Metric.cthickening δ s)

case inr
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : δ ≤ 0
⊢ Convex ℝ (Metric.cthickening δ s)

tactic: rw [cthickening_eq_iInter_thickening hδ]
state_before: case inl
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : 0 ≤ δ
⊢ Convex ℝ (Metric.cthickening δ s)
state_after: case inl
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : 0 ≤ δ
⊢ Convex ℝ (⋂ ε, ⋂ (_ : δ < ε), Metric.thickening ε s)

tactic: exact convex_iInter₂ fun _ _ => hs.thickening _
state_before: case inl
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : 0 ≤ δ
⊢ Convex ℝ (⋂ ε, ⋂ (_ : δ < ε), Metric.thickening ε s)
state_after: no goals

tactic: rw [cthickening_of_nonpos hδ]
state_before: case inr
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : δ ≤ 0
⊢ Convex ℝ (Metric.cthickening δ s)
state_after: case inr
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : δ ≤ 0
⊢ Convex ℝ (closure s)

tactic: exact hs.closure
state_before: case inr
ι : Type u_1
E : Type u_2
P : Type u_3
inst✝³ : SeminormedAddCommGroup E
inst✝² : NormedSpace ℝ E
inst✝¹ : PseudoMetricSpace P
inst✝ : NormedAddTorsor E P
s t : Set E
hs : Convex ℝ s
δ : ℝ
hδ : δ ≤ 0
⊢ Convex ℝ (closure s)
state_after: no goals
Theorem: OreLocalization.ind
File: Mathlib/RingTheory/OreLocalization/Basic.lean

tactic: apply Quotient.ind
state_before: R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
β : OreLocalization S X → Prop
c : ∀ (r : X) (s : ↥S), β (r /ₒ s)
⊢ ∀ (q : OreLocalization S X), β q
state_after: case a
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
β : OreLocalization S X → Prop
c : ∀ (r : X) (s : ↥S), β (r /ₒ s)
⊢ ∀ (a : X × ↥S), β ⟦a⟧

tactic: rintro ⟨r, s⟩
state_before: case a
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
β : OreLocalization S X → Prop
c : ∀ (r : X) (s : ↥S), β (r /ₒ s)
⊢ ∀ (a : X × ↥S), β ⟦a⟧
state_after: case a.mk
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
β : OreLocalization S X → Prop
c : ∀ (r : X) (s : ↥S), β (r /ₒ s)
r : X
s : ↥S
⊢ β ⟦(r, s)⟧

tactic: exact c r s
state_before: case a.mk
R : Type u_1
inst✝² : Monoid R
S : Submonoid R
inst✝¹ : OreSet S
X : Type u_2
inst✝ : MulAction R X
β : OreLocalization S X → Prop
c : ∀ (r : X) (s : ↥S), β (r /ₒ s)
r : X
s : ↥S
⊢ β ⟦(r, s)⟧
state_after: no goals
Theorem: MeasureTheory.mem_lpMeas_iff_aeStronglyMeasurable'
File: Mathlib/MeasureTheory/Function/ConditionalExpectation/AEMeasurable.lean

tactic: rw [← SetLike.mem_coe, ← Submodule.mem_carrier, lpMeas, Set.mem_setOf_eq]
state_before: α : Type u_1
E' : Type u_2
F : Type u_3
F' : Type u_4
𝕜 : Type u_5
p : ℝ≥0∞
inst✝¹⁰ : RCLike 𝕜
inst✝⁹ : NormedAddCommGroup E'
inst✝⁸ : InnerProductSpace 𝕜 E'
inst✝⁷ : CompleteSpace E'
inst✝⁶ : NormedSpace ℝ E'
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace 𝕜 F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : CompleteSpace F'
m m0 : MeasurableSpace α
μ : Measure α
f : ↥(Lp F p μ)
⊢ f ∈ lpMeas F 𝕜 m p μ ↔ AEStronglyMeasurable' m (↑↑f) μ
state_after: no goals
Theorem: Finset.Ico_filter_le_of_left_le
File: Mathlib/Order/Interval/Finset/Basic.lean

tactic: ext x
state_before: ι : Type u_1
α : Type u_2
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a✝ a₁ a₂ b✝ b₁ b₂ c✝ x a b c : α
inst✝ : DecidablePred fun x => c ≤ x
hac : a ≤ c
⊢ filter (fun x => c ≤ x) (Ico a b) = Ico c b
state_after: case a
ι : Type u_1
α : Type u_2
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a✝ a₁ a₂ b✝ b₁ b₂ c✝ x✝ a b c : α
inst✝ : DecidablePred fun x => c ≤ x
hac : a ≤ c
x : α
⊢ x ∈ filter (fun x => c ≤ x) (Ico a b) ↔ x ∈ Ico c b

tactic: rw [mem_filter, mem_Ico, mem_Ico, and_comm, and_left_comm]
state_before: case a
ι : Type u_1
α : Type u_2
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a✝ a₁ a₂ b✝ b₁ b₂ c✝ x✝ a b c : α
inst✝ : DecidablePred fun x => c ≤ x
hac : a ≤ c
x : α
⊢ x ∈ filter (fun x => c ≤ x) (Ico a b) ↔ x ∈ Ico c b
state_after: case a
ι : Type u_1
α : Type u_2
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a✝ a₁ a₂ b✝ b₁ b₂ c✝ x✝ a b c : α
inst✝ : DecidablePred fun x => c ≤ x
hac : a ≤ c
x : α
⊢ a ≤ x ∧ c ≤ x ∧ x < b ↔ c ≤ x ∧ x < b

tactic: exact and_iff_right_of_imp fun h => hac.trans h.1
state_before: case a
ι : Type u_1
α : Type u_2
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a✝ a₁ a₂ b✝ b₁ b₂ c✝ x✝ a b c : α
inst✝ : DecidablePred fun x => c ≤ x
hac : a ≤ c
x : α
⊢ a ≤ x ∧ c ≤ x ∧ x < b ↔ c ≤ x ∧ x < b
state_after: no goals
Theorem: DualNumber.lift_apply_eps
File: Mathlib/Algebra/DualNumber.lean

tactic: simp only [lift_apply_apply, fst_eps, map_zero, snd_eps, map_one, one_mul, zero_add]
state_before: R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
fe : { fe // fe.2 * fe.2 = 0 ∧ ∀ (a : A), Commute fe.2 (fe.1 a) }
⊢ (lift fe) ε = (↑fe).2
state_after: no goals
Theorem: Multiset.map_univ_val_equiv
File: Mathlib/Data/Fintype/Basic.lean

tactic: rw [← congr_arg Finset.val (Finset.map_univ_equiv e), Finset.map_val, Equiv.coe_toEmbedding]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
inst✝¹ : Fintype α
inst✝ : Fintype β
e : α ≃ β
⊢ map (⇑e) univ.val = univ.val
state_after: no goals
Theorem: Subgroup.eq_bot_of_subsingleton
File: Mathlib/Algebra/Group/Subgroup/Basic.lean

tactic: rw [Subgroup.eq_bot_iff_forall]
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 : Subgroup G
inst✝ : Subsingleton ↥H
⊢ H = ⊥
state_after: 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 : Subgroup G
inst✝ : Subsingleton ↥H
⊢ ∀ x ∈ H, x = 1

tactic: intro y hy
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 : Subgroup G
inst✝ : Subsingleton ↥H
⊢ ∀ x ∈ H, x = 1
state_after: 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 : Subgroup G
inst✝ : Subsingleton ↥H
y : G
hy : y ∈ H
⊢ y = 1

tactic: rw [← Subgroup.coe_mk H y hy, Subsingleton.elim (⟨y, hy⟩ : H) 1, Subgroup.coe_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 : Subgroup G
inst✝ : Subsingleton ↥H
y : G
hy : y ∈ H
⊢ y = 1
state_after: no goals
Theorem: Mathlib.Meta.NormNum.isRat_zpow_pos
File: Mathlib/Tactic/NormNum/Pow.lean

tactic: rwa [pb.out, zpow_natCast]
state_before: α : Type u_1
inst✝ : DivisionRing α
a : α
b : ℤ
nb : ℕ
num : ℤ
den : ℕ
pb : IsNat b nb
pe' : IsRat (a ^ nb) num den
⊢ IsRat (a ^ b) num den
state_after: no goals
Theorem: EventuallyLE.countable_bInter
File: Mathlib/Order/Filter/CountableInter.lean

tactic: simp only [biInter_eq_iInter]
state_before: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
s t : (i : ι) → i ∈ S → Set α
h : ∀ (i : ι) (hi : i ∈ S), s i hi ≤ᶠ[l] t i hi
⊢ ⋂ i, ⋂ (h : i ∈ S), s i h ≤ᶠ[l] ⋂ i, ⋂ (h : i ∈ S), t i h
state_after: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
s t : (i : ι) → i ∈ S → Set α
h : ∀ (i : ι) (hi : i ∈ S), s i hi ≤ᶠ[l] t i hi
⊢ ⋂ x, s ↑x ⋯ ≤ᶠ[l] ⋂ x, t ↑x ⋯

tactic: haveI := hS.toEncodable
state_before: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
s t : (i : ι) → i ∈ S → Set α
h : ∀ (i : ι) (hi : i ∈ S), s i hi ≤ᶠ[l] t i hi
⊢ ⋂ x, s ↑x ⋯ ≤ᶠ[l] ⋂ x, t ↑x ⋯
state_after: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
s t : (i : ι) → i ∈ S → Set α
h : ∀ (i : ι) (hi : i ∈ S), s i hi ≤ᶠ[l] t i hi
this : Encodable ↑S
⊢ ⋂ x, s ↑x ⋯ ≤ᶠ[l] ⋂ x, t ↑x ⋯

tactic: exact EventuallyLE.countable_iInter fun i => h i i.2
state_before: ι✝ : Sort u_1
α : Type u_2
β : Type u_3
l : Filter α
inst✝ : CountableInterFilter l
ι : Type u_4
S : Set ι
hS : S.Countable
s t : (i : ι) → i ∈ S → Set α
h : ∀ (i : ι) (hi : i ∈ S), s i hi ≤ᶠ[l] t i hi
this : Encodable ↑S
⊢ ⋂ x, s ↑x ⋯ ≤ᶠ[l] ⋂ x, t ↑x ⋯
state_after: no goals
Theorem: nilpotencyClass_pi
File: Mathlib/GroupTheory/Nilpotent.lean

tactic: apply eq_of_forall_ge_iff
state_before: G : Type u_1
inst✝⁴ : Group G
H : Subgroup G
inst✝³ : H.Normal
η : Type u_2
Gs : η → Type u_3
inst✝² : (i : η) → Group (Gs i)
inst✝¹ : Fintype η
inst✝ : ∀ (i : η), Group.IsNilpotent (Gs i)
⊢ Group.nilpotencyClass ((i : η) → Gs i) = Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)
state_after: case H
G : Type u_1
inst✝⁴ : Group G
H : Subgroup G
inst✝³ : H.Normal
η : Type u_2
Gs : η → Type u_3
inst✝² : (i : η) → Group (Gs i)
inst✝¹ : Fintype η
inst✝ : ∀ (i : η), Group.IsNilpotent (Gs i)
⊢ ∀ (c : ℕ), Group.nilpotencyClass ((i : η) → Gs i) ≤ c ↔ (Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)) ≤ c

tactic: intro k
state_before: case H
G : Type u_1
inst✝⁴ : Group G
H : Subgroup G
inst✝³ : H.Normal
η : Type u_2
Gs : η → Type u_3
inst✝² : (i : η) → Group (Gs i)
inst✝¹ : Fintype η
inst✝ : ∀ (i : η), Group.IsNilpotent (Gs i)
⊢ ∀ (c : ℕ), Group.nilpotencyClass ((i : η) → Gs i) ≤ c ↔ (Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)) ≤ c
state_after: case H
G : Type u_1
inst✝⁴ : Group G
H : Subgroup G
inst✝³ : H.Normal
η : Type u_2
Gs : η → Type u_3
inst✝² : (i : η) → Group (Gs i)
inst✝¹ : Fintype η
inst✝ : ∀ (i : η), Group.IsNilpotent (Gs i)
k : ℕ
⊢ Group.nilpotencyClass ((i : η) → Gs i) ≤ k ↔ (Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)) ≤ k

tactic: simp only [Finset.sup_le_iff, ← lowerCentralSeries_eq_bot_iff_nilpotencyClass_le,
  lowerCentralSeries_pi_of_finite, pi_eq_bot_iff, Finset.mem_univ, true_imp_iff]
state_before: case H
G : Type u_1
inst✝⁴ : Group G
H : Subgroup G
inst✝³ : H.Normal
η : Type u_2
Gs : η → Type u_3
inst✝² : (i : η) → Group (Gs i)
inst✝¹ : Fintype η
inst✝ : ∀ (i : η), Group.IsNilpotent (Gs i)
k : ℕ
⊢ Group.nilpotencyClass ((i : η) → Gs i) ≤ k ↔ (Finset.univ.sup fun i => Group.nilpotencyClass (Gs i)) ≤ k
state_after: no goals
Theorem: ProbabilityTheory.cond_apply
File: Mathlib/Probability/ConditionalProbability.lean

tactic: rw [cond, Measure.smul_apply, Measure.restrict_apply' hms, Set.inter_comm, smul_eq_mul]
state_before: Ω : Type u_1
Ω' : Type u_2
α : Type u_3
m : MeasurableSpace Ω
m' : MeasurableSpace Ω'
μ : Measure Ω
s t✝ : Set Ω
hms : MeasurableSet s
t : Set Ω
⊢ μ[|s] t = (μ s)⁻¹ * μ (s ∩ t)
state_after: no goals
Theorem: CoxeterSystem.wordProd_append
File: Mathlib/GroupTheory/Coxeter/Basic.lean

tactic: simp [wordProd]
state_before: B : Type u_1
B' : Type u_2
e : B ≃ B'
W : Type u_3
H : Type u_4
inst✝¹ : Group W
inst✝ : Group H
M : CoxeterMatrix B
cs : CoxeterSystem M W
ω ω' : List B
⊢ cs.wordProd (ω ++ ω') = cs.wordProd ω * cs.wordProd ω'
state_after: no goals
Theorem: Nat.Prime.dvd_choose_pow_iff
File: Mathlib/Data/Nat/Multiplicity.lean

tactic: refine ⟨fun h => ⟨?_, ?_⟩, fun h => dvd_choose_pow hp h.1 h.2⟩ <;> rintro rfl <;>
  simp [hp.ne_one] at h
state_before: p n k : ℕ
hp : Prime p
⊢ p ∣ (p ^ n).choose k ↔ k ≠ 0 ∧ k ≠ p ^ n
state_after: no goals
Theorem: EuclideanGeometry.dist_sq_eq_dist_orthogonalProjection_sq_add_dist_orthogonalProjection_sq
File: Mathlib/Geometry/Euclidean/Basic.lean

tactic: rw [dist_comm p2 _, dist_eq_norm_vsub V p1 _, dist_eq_norm_vsub V p1 _, dist_eq_norm_vsub V _ p2,
  ← vsub_add_vsub_cancel p1 (orthogonalProjection s p2) p2,
  norm_add_sq_eq_norm_sq_add_norm_sq_iff_real_inner_eq_zero]
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p1 p2 : P
hp1 : p1 ∈ s
⊢ dist p1 p2 * dist p1 p2 =
    dist p1 ↑((orthogonalProjection s) p2) * dist p1 ↑((orthogonalProjection s) p2) +
      dist p2 ↑((orthogonalProjection s) p2) * dist p2 ↑((orthogonalProjection s) p2)
state_after: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p1 p2 : P
hp1 : p1 ∈ s
⊢ ⟪p1 -ᵥ ↑((orthogonalProjection s) p2), ↑((orthogonalProjection s) p2) -ᵥ p2⟫_ℝ = 0

tactic: exact Submodule.inner_right_of_mem_orthogonal (vsub_orthogonalProjection_mem_direction p2 hp1)
  (orthogonalProjection_vsub_mem_direction_orthogonal s p2)
state_before: V : Type u_1
P : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : InnerProductSpace ℝ V
inst✝³ : MetricSpace P
inst✝² : NormedAddTorsor V P
s : AffineSubspace ℝ P
inst✝¹ : Nonempty ↥s
inst✝ : HasOrthogonalProjection s.direction
p1 p2 : P
hp1 : p1 ∈ s
⊢ ⟪p1 -ᵥ ↑((orthogonalProjection s) p2), ↑((orthogonalProjection s) p2) -ᵥ p2⟫_ℝ = 0
state_after: no goals