1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: List.monotone_filter_left
File: Mathlib/Data/List/Basic.lean

tactic: intro x hx
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p✝ p : α → Bool
l l' : List α
h : l ⊆ l'
⊢ filter p l ⊆ filter p l'
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p✝ p : α → Bool
l l' : List α
h : l ⊆ l'
x : α
hx : x ∈ filter p l
⊢ x ∈ filter p l'

tactic: rw [mem_filter] at hx ⊢
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p✝ p : α → Bool
l l' : List α
h : l ⊆ l'
x : α
hx : x ∈ filter p l
⊢ x ∈ filter p l'
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p✝ p : α → Bool
l l' : List α
h : l ⊆ l'
x : α
hx : x ∈ l ∧ p x = true
⊢ x ∈ l' ∧ p x = true

tactic: exact ⟨h hx.left, hx.right⟩
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ : List α
p✝ p : α → Bool
l l' : List α
h : l ⊆ l'
x : α
hx : x ∈ l ∧ p x = true
⊢ x ∈ l' ∧ p x = true
state_after: no goals
Theorem: HomologicalComplex₂.totalAux.d₁_eq
File: Mathlib/Algebra/Homology/TotalComplex.lean

tactic: rw [d₁_eq' K c₁₂ h i₂ i₁₂, K.toGradedObject.ιMapObjOrZero_eq]
state_before: C : Type u_1
inst✝⁴ : Category.{u_5, u_1} C
inst✝³ : Preadditive C
I₁ : Type u_2
I₂ : Type u_3
I₁₂ : Type u_4
c₁ : ComplexShape I₁
c₂ : ComplexShape I₂
K L M : HomologicalComplex₂ C c₁ c₂
φ : K ⟶ L
e : K ≅ L
ψ : L ⟶ M
c₁₂ : ComplexShape I₁₂
inst✝² : DecidableEq I₁₂
inst✝¹ : TotalComplexShape c₁ c₂ c₁₂
inst✝ : K.HasTotal c₁₂
i₁ i₁' : I₁
h : c₁.Rel i₁ i₁'
i₂ : I₂
i₁₂ : I₁₂
h' : c₁.π c₂ c₁₂ (i₁', i₂) = i₁₂
⊢ K.d₁ c₁₂ i₁ i₂ i₁₂ =
    c₁.ε₁ c₂ c₁₂ (i₁, i₂) • (K.d i₁ i₁').f i₂ ≫ K.toGradedObject.ιMapObj (c₁.π c₂ c₁₂) (i₁', i₂) i₁₂ h'
state_after: no goals
Theorem: List.modifyNthTR_go_eq
File: .lake/packages/batteries/Batteries/Data/List/Basic.lean

tactic: cases n <;> simp [modifyNthTR.go, modifyNth]
state_before: α✝ : Type u_1
f : α✝ → α✝
acc : Array α✝
n : Nat
⊢ modifyNthTR.go f [] n acc = acc.data ++ modifyNth f n []
state_after: no goals

tactic: simp [modifyNthTR.go, modifyNth]
state_before: α✝ : Type u_1
f : α✝ → α✝
acc : Array α✝
a : α✝
l : List α✝
⊢ modifyNthTR.go f (a :: l) 0 acc = acc.data ++ modifyNth f 0 (a :: l)
state_after: no goals

tactic: simp [modifyNthTR.go, modifyNth, modifyNthTR_go_eq l]
state_before: α✝ : Type u_1
f : α✝ → α✝
acc : Array α✝
a : α✝
l : List α✝
n : Nat
⊢ modifyNthTR.go f (a :: l) (n + 1) acc = acc.data ++ modifyNth f (n + 1) (a :: l)
state_after: no goals
Theorem: Complex.arg_eq_pi_div_two_iff
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: by_cases h₀ : z = 0
state_before: a x z✝ z : ℂ
⊢ z.arg = π / 2 ↔ z.re = 0 ∧ 0 < z.im
state_after: case pos
a x z✝ z : ℂ
h₀ : z = 0
⊢ z.arg = π / 2 ↔ z.re = 0 ∧ 0 < z.im

case neg
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.arg = π / 2 ↔ z.re = 0 ∧ 0 < z.im

tactic: constructor
state_before: case neg
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.arg = π / 2 ↔ z.re = 0 ∧ 0 < z.im
state_after: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.arg = π / 2 → z.re = 0 ∧ 0 < z.im

case neg.mpr
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.re = 0 ∧ 0 < z.im → z.arg = π / 2

tactic: simp [h₀, lt_irrefl, Real.pi_div_two_pos.ne]
state_before: case pos
a x z✝ z : ℂ
h₀ : z = 0
⊢ z.arg = π / 2 ↔ z.re = 0 ∧ 0 < z.im
state_after: no goals

tactic: intro h
state_before: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.arg = π / 2 → z.re = 0 ∧ 0 < z.im
state_after: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
h : z.arg = π / 2
⊢ z.re = 0 ∧ 0 < z.im

tactic: rw [← abs_mul_cos_add_sin_mul_I z, h]
state_before: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
h : z.arg = π / 2
⊢ z.re = 0 ∧ 0 < z.im
state_after: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
h : z.arg = π / 2
⊢ (↑(abs z) * (cos ↑(π / 2) + sin ↑(π / 2) * I)).re = 0 ∧ 0 < (↑(abs z) * (cos ↑(π / 2) + sin ↑(π / 2) * I)).im

tactic: simp [h₀]
state_before: case neg.mp
a x z✝ z : ℂ
h₀ : ¬z = 0
h : z.arg = π / 2
⊢ (↑(abs z) * (cos ↑(π / 2) + sin ↑(π / 2) * I)).re = 0 ∧ 0 < (↑(abs z) * (cos ↑(π / 2) + sin ↑(π / 2) * I)).im
state_after: no goals

tactic: cases' z with x y
state_before: case neg.mpr
a x z✝ z : ℂ
h₀ : ¬z = 0
⊢ z.re = 0 ∧ 0 < z.im → z.arg = π / 2
state_after: case neg.mpr.mk
a x✝ z : ℂ
x y : ℝ
h₀ : ¬{ re := x, im := y } = 0
⊢ { re := x, im := y }.re = 0 ∧ 0 < { re := x, im := y }.im → { re := x, im := y }.arg = π / 2

tactic: rintro ⟨rfl : x = 0, hy : 0 < y⟩
state_before: case neg.mpr.mk
a x✝ z : ℂ
x y : ℝ
h₀ : ¬{ re := x, im := y } = 0
⊢ { re := x, im := y }.re = 0 ∧ 0 < { re := x, im := y }.im → { re := x, im := y }.arg = π / 2
state_after: case neg.mpr.mk.intro
a x z : ℂ
y : ℝ
h₀ : ¬{ re := 0, im := y } = 0
hy : 0 < y
⊢ { re := 0, im := y }.arg = π / 2

tactic: rw [← arg_I, ← arg_real_mul I hy, ofReal_mul', I_re, I_im, mul_zero, mul_one]
state_before: case neg.mpr.mk.intro
a x z : ℂ
y : ℝ
h₀ : ¬{ re := 0, im := y } = 0
hy : 0 < y
⊢ { re := 0, im := y }.arg = π / 2
state_after: no goals
Theorem: Odd.sub_even
File: Mathlib/Algebra/Ring/Parity.lean

tactic: rw [sub_eq_add_neg]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
inst✝ : Ring α
a b : α
n : ℕ
ha : Odd a
hb : Even b
⊢ Odd (a - b)
state_after: F : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
inst✝ : Ring α
a b : α
n : ℕ
ha : Odd a
hb : Even b
⊢ Odd (a + -b)

tactic: exact ha.add_even hb.neg
state_before: F : Type u_1
α : Type u_2
β : Type u_3
R : Type u_4
inst✝ : Ring α
a b : α
n : ℕ
ha : Odd a
hb : Even b
⊢ Odd (a + -b)
state_after: no goals
Theorem: MeasureTheory.IntegrableAtFilter.inf_ae_iff
File: Mathlib/MeasureTheory/Integral/IntegrableOn.lean

tactic: refine ⟨?_, fun h ↦ h.filter_mono inf_le_left⟩
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l' l : Filter α
⊢ IntegrableAtFilter f (l ⊓ ae μ) μ ↔ IntegrableAtFilter f l μ
state_after: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l' l : Filter α
⊢ IntegrableAtFilter f (l ⊓ ae μ) μ → IntegrableAtFilter f l μ

tactic: rintro ⟨s, ⟨t, ht, u, hu, rfl⟩, hf⟩
state_before: α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t : Set α
μ ν : Measure α
l✝ l' l : Filter α
⊢ IntegrableAtFilter f (l ⊓ ae μ) μ → IntegrableAtFilter f l μ
state_after: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t✝ : Set α
μ ν : Measure α
l✝ l' l : Filter α
t : Set α
ht : t ∈ l
u : Set α
hu : u ∈ ae μ
hf : IntegrableOn f (t ∩ u) μ
⊢ IntegrableAtFilter f l μ

tactic: refine ⟨t, ht, hf.congr_set_ae <| eventuallyEq_set.2 ?_⟩
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t✝ : Set α
μ ν : Measure α
l✝ l' l : Filter α
t : Set α
ht : t ∈ l
u : Set α
hu : u ∈ ae μ
hf : IntegrableOn f (t ∩ u) μ
⊢ IntegrableAtFilter f l μ
state_after: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t✝ : Set α
μ ν : Measure α
l✝ l' l : Filter α
t : Set α
ht : t ∈ l
u : Set α
hu : u ∈ ae μ
hf : IntegrableOn f (t ∩ u) μ
⊢ ∀ᵐ (x : α) ∂μ, x ∈ t ↔ x ∈ t ∩ u

tactic: filter_upwards [hu] with x hx using (and_iff_left hx).symm
state_before: case intro.intro.intro.intro.intro.intro
α : Type u_1
β : Type u_2
E : Type u_3
F : Type u_4
inst✝¹ : MeasurableSpace α
inst✝ : NormedAddCommGroup E
f g : α → E
s t✝ : Set α
μ ν : Measure α
l✝ l' l : Filter α
t : Set α
ht : t ∈ l
u : Set α
hu : u ∈ ae μ
hf : IntegrableOn f (t ∩ u) μ
⊢ ∀ᵐ (x : α) ∂μ, x ∈ t ↔ x ∈ t ∩ u
state_after: no goals
Theorem: Polynomial.natDegree_X_pow_sub_C
File: Mathlib/Algebra/Polynomial/Degree/Definitions.lean

tactic: rw [sub_eq_add_neg, ← map_neg C r, natDegree_X_pow_add_C]
state_before: R : Type u
S : Type v
a b c d : R
n✝ m : ℕ
inst✝¹ : Ring R
inst✝ : Nontrivial R
n : ℕ
r : R
⊢ (X ^ n - C r).natDegree = n
state_after: no goals
Theorem: Nat.sum_Icc_choose
File: Mathlib/Data/Nat/Choose/Sum.lean

tactic: cases' le_or_gt k n with h h
state_before: R : Type u_1
n k : ℕ
⊢ ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
state_after: case inl
R : Type u_1
n k : ℕ
h : k ≤ n
⊢ ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)

case inr
R : Type u_1
n k : ℕ
h : k > n
⊢ ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)

tactic: induction' n, h using le_induction with n _ ih
state_before: case inl
R : Type u_1
n k : ℕ
h : k ≤ n
⊢ ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
state_after: case inl.base
R : Type u_1
n k : ℕ
⊢ ∑ m ∈ Icc k k, m.choose k = (k + 1).choose (k + 1)

case inl.succ
R : Type u_1
n✝ k n : ℕ
hmn✝ : k ≤ n
ih : ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
⊢ ∑ m ∈ Icc k (n + 1), m.choose k = (n + 1 + 1).choose (k + 1)

tactic: rw [← Ico_insert_right (by omega), sum_insert (by simp),
  show Ico k (n + 1) = Icc k n by rfl, ih, choose_succ_succ' (n + 1)]
state_before: case inl.succ
R : Type u_1
n✝ k n : ℕ
hmn✝ : k ≤ n
ih : ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
⊢ ∑ m ∈ Icc k (n + 1), m.choose k = (n + 1 + 1).choose (k + 1)
state_after: no goals

tactic: simp
state_before: case inl.base
R : Type u_1
n k : ℕ
⊢ ∑ m ∈ Icc k k, m.choose k = (k + 1).choose (k + 1)
state_after: no goals

tactic: omega
state_before: R : Type u_1
n✝ k n : ℕ
hmn✝ : k ≤ n
ih : ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
⊢ k ≤ n + 1
state_after: no goals

tactic: simp
state_before: R : Type u_1
n✝ k n : ℕ
hmn✝ : k ≤ n
ih : ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
⊢ n + 1 ∉ Ico k (n + 1)
state_after: no goals

tactic: rfl
state_before: R : Type u_1
n✝ k n : ℕ
hmn✝ : k ≤ n
ih : ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
⊢ Ico k (n + 1) = Icc k n
state_after: no goals

tactic: rw [choose_eq_zero_of_lt (by omega), Icc_eq_empty_of_lt h, sum_empty]
state_before: case inr
R : Type u_1
n k : ℕ
h : k > n
⊢ ∑ m ∈ Icc k n, m.choose k = (n + 1).choose (k + 1)
state_after: no goals

tactic: omega
state_before: R : Type u_1
n k : ℕ
h : k > n
⊢ n + 1 < k + 1
state_after: no goals
Theorem: Action.rightDual_ρ
File: Mathlib/RepresentationTheory/Action/Monoidal.lean

tactic: rw [← SingleObj.inv_as_inv]
state_before: V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ Xᘁ.ρ h = X.ρ h⁻¹ᘁ
state_after: V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ Xᘁ.ρ h = X.ρ (inv h)ᘁ

case x
V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ SingleObj H.1

case y
V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ SingleObj H.1

tactic: rfl
state_before: V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ Xᘁ.ρ h = X.ρ (inv h)ᘁ

case x
V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ SingleObj H.1

case y
V : Type (u + 1)
inst✝² : LargeCategory V
G : MonCat
inst✝¹ : MonoidalCategory V
H : Grp
X : Action V ((forget₂ Grp MonCat).obj H)
inst✝ : RightRigidCategory V
h : ↑H
⊢ SingleObj H.1
state_after: no goals
Theorem: Set.image_eq_iUnion
File: Mathlib/Data/Set/Lattice.lean

tactic: simp [@eq_comm β b]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
ι' : Sort u_5
ι₂ : Sort u_6
κ : ι → Sort u_7
κ₁ : ι → Sort u_8
κ₂ : ι → Sort u_9
κ' : ι' → Sort u_10
f : α → β
s : Set α
b : β
⊢ b ∈ f '' s ↔ b ∈ ⋃ i ∈ s, {f i}
state_after: no goals
Theorem: Filter.inter_eventuallyEq_right
File: Mathlib/Order/Filter/Basic.lean

tactic: rw [inter_comm, inter_eventuallyEq_left]
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
s t : Set α
l : Filter α
⊢ s ∩ t =ᶠ[l] t ↔ ∀ᶠ (x : α) in l, x ∈ t → x ∈ s
state_after: no goals
Theorem: map_comp_pow
File: Mathlib/Algebra/Group/Hom/Defs.lean

tactic: ext
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✝⁶ : MulOneClass M
inst✝⁵ : MulOneClass N
inst✝⁴ : FunLike F M N
inst✝³ : FunLike F G H
inst✝² : Group G
inst✝¹ : DivisionMonoid H
inst✝ : MonoidHomClass F G H
f : F
g : ι → G
n : ℕ
⊢ ⇑f ∘ (g ^ n) = ⇑f ∘ g ^ n
state_after: case h
ι : 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✝⁶ : MulOneClass M
inst✝⁵ : MulOneClass N
inst✝⁴ : FunLike F M N
inst✝³ : FunLike F G H
inst✝² : Group G
inst✝¹ : DivisionMonoid H
inst✝ : MonoidHomClass F G H
f : F
g : ι → G
n : ℕ
x✝ : ι
⊢ (⇑f ∘ (g ^ n)) x✝ = (⇑f ∘ g ^ n) x✝

tactic: simp
state_before: case h
ι : 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✝⁶ : MulOneClass M
inst✝⁵ : MulOneClass N
inst✝⁴ : FunLike F M N
inst✝³ : FunLike F G H
inst✝² : Group G
inst✝¹ : DivisionMonoid H
inst✝ : MonoidHomClass F G H
f : F
g : ι → G
n : ℕ
x✝ : ι
⊢ (⇑f ∘ (g ^ n)) x✝ = (⇑f ∘ g ^ n) x✝
state_after: no goals
Theorem: Monotone.le_iterate_comp_of_le
File: Mathlib/Order/Iterate.lean

tactic: apply hf.seq_le_seq n <;> intros <;>
  simp [iterate_succ', -iterate_succ, comp_apply, id_eq, le_refl]
state_before: α : Type u_1
inst✝ : Preorder α
f : α → α
x✝ y : ℕ → α
β : Type u_2
g : β → β
h : β → α
hf : Monotone f
H : h ∘ g ≤ f ∘ h
n : ℕ
x : β
⊢ (h ∘ g^[n]) x ≤ (f^[n] ∘ h) x
state_after: case hx
α : Type u_1
inst✝ : Preorder α
f : α → α
x✝ y : ℕ → α
β : Type u_2
g : β → β
h : β → α
hf : Monotone f
H : h ∘ g ≤ f ∘ h
n : ℕ
x : β
k✝ : ℕ
a✝ : k✝ < n
⊢ h (g (g^[k✝] x)) ≤ f (h (g^[k✝] x))

tactic: case hx => exact H _
state_before: case hx
α : Type u_1
inst✝ : Preorder α
f : α → α
x✝ y : ℕ → α
β : Type u_2
g : β → β
h : β → α
hf : Monotone f
H : h ∘ g ≤ f ∘ h
n : ℕ
x : β
k✝ : ℕ
a✝ : k✝ < n
⊢ h (g (g^[k✝] x)) ≤ f (h (g^[k✝] x))
state_after: no goals

tactic: exact H _
state_before: α : Type u_1
inst✝ : Preorder α
f : α → α
x✝ y : ℕ → α
β : Type u_2
g : β → β
h : β → α
hf : Monotone f
H : h ∘ g ≤ f ∘ h
n : ℕ
x : β
k✝ : ℕ
a✝ : k✝ < n
⊢ h (g (g^[k✝] x)) ≤ f (h (g^[k✝] x))
state_after: no goals
Theorem: Asymptotics.isBigOWith_of_le
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: rw [one_mul]
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 α
hfg : ∀ (x : α), ‖f x‖ ≤ ‖g x‖
x : α
⊢ ‖f x‖ ≤ 1 * ‖g x‖
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 α
hfg : ∀ (x : α), ‖f x‖ ≤ ‖g x‖
x : α
⊢ ‖f x‖ ≤ ‖g x‖

tactic: exact hfg x
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 α
hfg : ∀ (x : α), ‖f x‖ ≤ ‖g x‖
x : α
⊢ ‖f x‖ ≤ ‖g x‖
state_after: no goals
Theorem: WithTop.iInf_empty
File: Mathlib/Order/ConditionallyCompleteLattice/Basic.lean

tactic: rw [iInf, range_eq_empty, WithTop.sInf_empty]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort u_4
inst✝² : Preorder α
inst✝¹ : IsEmpty ι
inst✝ : InfSet α
f : ι → WithTop α
⊢ ⨅ i, f i = ⊤
state_after: no goals
Theorem: SimpleGraph.Walk.cons_isPath_iff
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: constructor <;> simp (config := { contextual := true }) [isPath_def]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u✝ v✝ w✝ x y u v w : V
h : G.Adj u v
p : G.Walk v w
⊢ (cons h p).IsPath ↔ p.IsPath ∧ u ∉ p.support
state_after: no goals
Theorem: Equiv.Perm.support_swap_mul_ge_support_diff
File: Mathlib/GroupTheory/Perm/Support.lean

tactic: intro
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y : α
⊢ f.support \ {x, y} ≤ (swap x y * f).support
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ a✝ ∈ f.support \ {x, y} → a✝ ∈ (swap x y * f).support

tactic: simp only [and_imp, Perm.coe_mul, Function.comp_apply, Ne, mem_support, mem_insert, mem_sdiff,
  mem_singleton]
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ a✝ ∈ f.support \ {x, y} → a✝ ∈ (swap x y * f).support
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ ¬f a✝ = a✝ → ¬(a✝ = x ∨ a✝ = y) → ¬(swap x y) (f a✝) = a✝

tactic: push_neg
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ ¬f a✝ = a✝ → ¬(a✝ = x ∨ a✝ = y) → ¬(swap x y) (f a✝) = a✝
state_after: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ f a✝ ≠ a✝ → a✝ ≠ x ∧ a✝ ≠ y → (swap x y) (f a✝) ≠ a✝

tactic: rintro ha ⟨hx, hy⟩ H
state_before: α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
⊢ f a✝ ≠ a✝ → a✝ ≠ x ∧ a✝ ≠ y → (swap x y) (f a✝) ≠ a✝
state_after: case intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
ha : f a✝ ≠ a✝
hx : a✝ ≠ x
hy : a✝ ≠ y
H : (swap x y) (f a✝) = a✝
⊢ False

tactic: rw [swap_apply_eq_iff, swap_apply_of_ne_of_ne hx hy] at H
state_before: case intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
ha : f a✝ ≠ a✝
hx : a✝ ≠ x
hy : a✝ ≠ y
H : (swap x y) (f a✝) = a✝
⊢ False
state_after: case intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
ha : f a✝ ≠ a✝
hx : a✝ ≠ x
hy : a✝ ≠ y
H : f a✝ = a✝
⊢ False

tactic: exact ha H
state_before: case intro
α : Type u_1
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g f : Perm α
x y a✝ : α
ha : f a✝ ≠ a✝
hx : a✝ ≠ x
hy : a✝ ≠ y
H : f a✝ = a✝
⊢ False
state_after: no goals
Theorem: DistribMulActionHom.toMulActionHom_injective
File: Mathlib/GroupTheory/GroupAction/Hom.lean

tactic: ext a
state_before: M : Type u_1
inst✝¹⁵ : Monoid M
N : Type u_2
inst✝¹⁴ : Monoid N
P : Type u_3
inst✝¹³ : Monoid P
φ : M →* N
φ' : N →* M
ψ : N →* P
χ : M →* P
A : Type u_4
inst✝¹² : AddMonoid A
inst✝¹¹ : DistribMulAction M A
B : Type u_5
inst✝¹⁰ : AddMonoid B
inst✝⁹ : DistribMulAction N B
B₁ : Type u_6
inst✝⁸ : AddMonoid B₁
inst✝⁷ : DistribMulAction M B₁
C : Type u_7
inst✝⁶ : AddMonoid C
inst✝⁵ : DistribMulAction P C
A' : Type u_8
inst✝⁴ : AddGroup A'
inst✝³ : DistribMulAction M A'
B' : Type u_9
inst✝² : AddGroup B'
inst✝¹ : DistribMulAction N B'
F : Type u_10
inst✝ : FunLike F A B
f g : A →ₑ+[φ] B
h : ↑f = ↑g
⊢ f = g
state_after: case a
M : Type u_1
inst✝¹⁵ : Monoid M
N : Type u_2
inst✝¹⁴ : Monoid N
P : Type u_3
inst✝¹³ : Monoid P
φ : M →* N
φ' : N →* M
ψ : N →* P
χ : M →* P
A : Type u_4
inst✝¹² : AddMonoid A
inst✝¹¹ : DistribMulAction M A
B : Type u_5
inst✝¹⁰ : AddMonoid B
inst✝⁹ : DistribMulAction N B
B₁ : Type u_6
inst✝⁸ : AddMonoid B₁
inst✝⁷ : DistribMulAction M B₁
C : Type u_7
inst✝⁶ : AddMonoid C
inst✝⁵ : DistribMulAction P C
A' : Type u_8
inst✝⁴ : AddGroup A'
inst✝³ : DistribMulAction M A'
B' : Type u_9
inst✝² : AddGroup B'
inst✝¹ : DistribMulAction N B'
F : Type u_10
inst✝ : FunLike F A B
f g : A →ₑ+[φ] B
h : ↑f = ↑g
a : A
⊢ f a = g a

tactic: exact MulActionHom.congr_fun h a
state_before: case a
M : Type u_1
inst✝¹⁵ : Monoid M
N : Type u_2
inst✝¹⁴ : Monoid N
P : Type u_3
inst✝¹³ : Monoid P
φ : M →* N
φ' : N →* M
ψ : N →* P
χ : M →* P
A : Type u_4
inst✝¹² : AddMonoid A
inst✝¹¹ : DistribMulAction M A
B : Type u_5
inst✝¹⁰ : AddMonoid B
inst✝⁹ : DistribMulAction N B
B₁ : Type u_6
inst✝⁸ : AddMonoid B₁
inst✝⁷ : DistribMulAction M B₁
C : Type u_7
inst✝⁶ : AddMonoid C
inst✝⁵ : DistribMulAction P C
A' : Type u_8
inst✝⁴ : AddGroup A'
inst✝³ : DistribMulAction M A'
B' : Type u_9
inst✝² : AddGroup B'
inst✝¹ : DistribMulAction N B'
F : Type u_10
inst✝ : FunLike F A B
f g : A →ₑ+[φ] B
h : ↑f = ↑g
a : A
⊢ f a = g a
state_after: no goals