1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: UniformInducing.equicontinuousWithinAt_iff
File: Mathlib/Topology/UniformSpace/Equicontinuity.lean

tactic: have := (UniformFun.postcomp_uniformInducing (α := ι) hu).inducing
state_before: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
S : Set X
x₀ : X
u : α → β
hu : UniformInducing u
⊢ EquicontinuousWithinAt F S x₀ ↔ EquicontinuousWithinAt ((fun x => u ∘ x) ∘ F) S x₀
state_after: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
S : Set X
x₀ : X
u : α → β
hu : UniformInducing u
this : Inducing (⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun)
⊢ EquicontinuousWithinAt F S x₀ ↔ EquicontinuousWithinAt ((fun x => u ∘ x) ∘ F) S x₀

tactic: simp only [equicontinuousWithinAt_iff_continuousWithinAt, this.continuousWithinAt_iff]
state_before: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
S : Set X
x₀ : X
u : α → β
hu : UniformInducing u
this : Inducing (⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun)
⊢ EquicontinuousWithinAt F S x₀ ↔ EquicontinuousWithinAt ((fun x => u ∘ x) ∘ F) S x₀
state_after: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
S : Set X
x₀ : X
u : α → β
hu : UniformInducing u
this : Inducing (⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun)
⊢ ContinuousWithinAt ((⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun) ∘ ⇑UniformFun.ofFun ∘ swap F) S x₀ ↔
    ContinuousWithinAt (⇑UniformFun.ofFun ∘ swap ((fun x => u ∘ x) ∘ F)) S x₀

tactic: rfl
state_before: ι : Type u_1
κ : Type u_2
X : Type u_3
X' : Type u_4
Y : Type u_5
Z : Type u_6
α : Type u_7
α' : Type u_8
β : Type u_9
β' : Type u_10
γ : Type u_11
𝓕 : Type u_12
tX : TopologicalSpace X
tY : TopologicalSpace Y
tZ : TopologicalSpace Z
uα : UniformSpace α
uβ : UniformSpace β
uγ : UniformSpace γ
F : ι → X → α
S : Set X
x₀ : X
u : α → β
hu : UniformInducing u
this : Inducing (⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun)
⊢ ContinuousWithinAt ((⇑UniformFun.ofFun ∘ (fun x => u ∘ x) ∘ ⇑toFun) ∘ ⇑UniformFun.ofFun ∘ swap F) S x₀ ↔
    ContinuousWithinAt (⇑UniformFun.ofFun ∘ swap ((fun x => u ∘ x) ∘ F)) S x₀
state_after: no goals
Theorem: one_le_mul_self_iff
File: Mathlib/Algebra/Order/Monoid/Defs.lean

tactic: push_neg at h ⊢
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrderedCommMonoid α
a : α
h : ¬1 ≤ a
⊢ ¬1 ≤ a * a
state_after: α : Type u_1
β : Type u_2
inst✝ : LinearOrderedCommMonoid α
a : α
h : a < 1
⊢ a * a < 1

tactic: exact mul_lt_one' h h
state_before: α : Type u_1
β : Type u_2
inst✝ : LinearOrderedCommMonoid α
a : α
h : a < 1
⊢ a * a < 1
state_after: no goals
Theorem: Submonoid.LocalizationMap.ofMulEquivOfLocalizations_comp
File: Mathlib/GroupTheory/MonoidLocalization.lean

tactic: ext
state_before: M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
k : N ≃* P
j : P ≃* Q
⊢ (f.ofMulEquivOfLocalizations (k.trans j)).toMap = j.toMonoidHom.comp (f.ofMulEquivOfLocalizations k).toMap
state_after: case h
M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
k : N ≃* P
j : P ≃* Q
x✝ : M
⊢ (f.ofMulEquivOfLocalizations (k.trans j)).toMap x✝ = (j.toMonoidHom.comp (f.ofMulEquivOfLocalizations k).toMap) x✝

tactic: rfl
state_before: case h
M : Type u_1
inst✝³ : CommMonoid M
S : Submonoid M
N : Type u_2
inst✝² : CommMonoid N
P : Type u_3
inst✝¹ : CommMonoid P
f : S.LocalizationMap N
g : M →* P
hg : ∀ (y : ↥S), IsUnit (g ↑y)
T : Submonoid P
Q : Type u_4
inst✝ : CommMonoid Q
k : N ≃* P
j : P ≃* Q
x✝ : M
⊢ (f.ofMulEquivOfLocalizations (k.trans j)).toMap x✝ = (j.toMonoidHom.comp (f.ofMulEquivOfLocalizations k).toMap) x✝
state_after: no goals
Theorem: Set.card_inv
File: Mathlib/Data/Finset/Pointwise.lean

tactic: rw [← image_inv, Nat.card_image_of_injective inv_injective]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝ : InvolutiveInv α
s✝ t s : Set α
⊢ Nat.card ↑s⁻¹ = Nat.card ↑s
state_after: no goals
Theorem: Profinite.pullback_fst_eq
File: Mathlib/Topology/Category/Profinite/Limits.lean

tactic: dsimp [pullbackIsoPullback]
state_before: X Y B : Profinite
f : X ⟶ B
g : Y ⟶ B
⊢ pullback.fst f g = (pullbackIsoPullback f g).hom ≫ Limits.pullback.fst
state_after: X Y B : Profinite
f : X ⟶ B
g : Y ⟶ B
⊢ pullback.fst f g =
    ((pullback.isLimit f g).conePointUniqueUpToIso (limit.isLimit (cospan f g))).hom ≫ Limits.pullback.fst

tactic: simp only [Limits.limit.conePointUniqueUpToIso_hom_comp, pullback.cone_pt, pullback.cone_π]
state_before: X Y B : Profinite
f : X ⟶ B
g : Y ⟶ B
⊢ pullback.fst f g =
    ((pullback.isLimit f g).conePointUniqueUpToIso (limit.isLimit (cospan f g))).hom ≫ Limits.pullback.fst
state_after: no goals
Theorem: Irrational.sub_int
File: Mathlib/Data/Real/Irrational.lean

tactic: simpa only [Rat.cast_intCast] using h.sub_rat m
state_before: q : ℚ
x y : ℝ
h : Irrational x
m : ℤ
⊢ Irrational (x - ↑m)
state_after: no goals
Theorem: ENNReal.top_rpow_of_neg
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: simp [top_rpow_def, asymm h, ne_of_lt h]
state_before: y : ℝ
h : y < 0
⊢ ⊤ ^ y = 0
state_after: no goals
Theorem: Mathlib.Meta.NormNum.jacobiSymNat.even_even
File: Mathlib/Tactic/NormNum/LegendreSymbol.lean

tactic: refine jacobiSym.eq_zero_iff.mpr
  ⟨ne_of_gt ((Nat.pos_of_ne_zero (Nat.ne_of_beq_eq_false hb₀)).trans_le (Nat.div_le_self b 2)),
    fun hf => ?_⟩
state_before: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
⊢ jacobiSymNat a b = 0
state_after: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
⊢ False

tactic: have h : 2 ∣ a.gcd b := Nat.dvd_gcd (Nat.dvd_of_mod_eq_zero ha) (Nat.dvd_of_mod_eq_zero hb₁)
state_before: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
⊢ False
state_after: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : 2 ∣ a.gcd b
⊢ False

tactic: change 2 ∣ (a : ℤ).gcd b at h
state_before: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : 2 ∣ a.gcd b
⊢ False
state_after: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : 2 ∣ (↑a).gcd ↑b
⊢ False

tactic: rw [hf, ← even_iff_two_dvd] at h
state_before: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : 2 ∣ (↑a).gcd ↑b
⊢ False
state_after: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : Even 1
⊢ False

tactic: exact Nat.not_even_one h
state_before: a b : ℕ
hb₀ : (b / 2).beq 0 = false
ha : a % 2 = 0
hb₁ : b % 2 = 0
hf : (↑a).gcd ↑b = 1
h : Even 1
⊢ False
state_after: no goals
Theorem: Subgroup.isComplement_singleton_right
File: Mathlib/GroupTheory/Complement.lean

tactic: refine
  ⟨fun h => top_le_iff.mp fun x _ => ?_, fun h => h ▸ isComplement_univ_singleton⟩
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
⊢ IsComplement S {g} ↔ S = univ
state_after: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
⊢ x ∈ S

tactic: obtain ⟨y, hy⟩ := h.2 (x * g)
state_before: G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
⊢ x ∈ S
state_after: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * g
⊢ x ∈ S

tactic: conv_rhs at hy => rw [← show y.2.1 = g from y.2.2]
state_before: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * g
⊢ x ∈ S
state_after: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * ↑y.2
⊢ x ∈ S

tactic: rw [← mul_right_cancel hy]
state_before: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * ↑y.2
⊢ x ∈ S
state_after: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * ↑y.2
⊢ ↑y.1 ∈ S

tactic: exact y.1.2
state_before: case intro
G : Type u_1
inst✝ : Group G
H K : Subgroup G
S T : Set G
g : G
h : IsComplement S {g}
x : G
x✝ : x ∈ ⊤
y : ↑S × ↑{g}
hy : (fun x => ↑x.1 * ↑x.2) y = x * ↑y.2
⊢ ↑y.1 ∈ S
state_after: no goals
Theorem: Zsqrtd.norm_eq_one_iff
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: rwa [← Int.natCast_inj, Int.natAbs_of_nonneg hx, ← @Int.cast_inj (ℤ√d) _ _,
  norm_eq_mul_conj, eq_comm] at h
state_before: d : ℤ
x : ℤ√d
h : x.norm.natAbs = 1
hx : 0 ≤ x.norm
⊢ 1 = x * star x
state_after: no goals

tactic: rwa [← Int.natCast_inj, Int.ofNat_natAbs_of_nonpos hx, ← @Int.cast_inj (ℤ√d) _ _,
  Int.cast_neg, norm_eq_mul_conj, neg_mul_eq_mul_neg, eq_comm] at h
state_before: d : ℤ
x : ℤ√d
h : x.norm.natAbs = 1
hx : x.norm ≤ 0
⊢ 1 = x * -star x
state_after: no goals

tactic: let ⟨y, hy⟩ := isUnit_iff_dvd_one.1 h
state_before: d : ℤ
x : ℤ√d
h : IsUnit x
⊢ x.norm.natAbs = 1
state_after: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
⊢ x.norm.natAbs = 1

tactic: have := congr_arg (Int.natAbs ∘ norm) hy
state_before: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
⊢ x.norm.natAbs = 1
state_after: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
this : (Int.natAbs ∘ norm) 1 = (Int.natAbs ∘ norm) (x * y)
⊢ x.norm.natAbs = 1

tactic: rw [Function.comp_apply, Function.comp_apply, norm_mul, Int.natAbs_mul, norm_one,
  Int.natAbs_one, eq_comm, mul_eq_one] at this
state_before: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
this : (Int.natAbs ∘ norm) 1 = (Int.natAbs ∘ norm) (x * y)
⊢ x.norm.natAbs = 1
state_after: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
this : x.norm.natAbs = 1 ∧ y.norm.natAbs = 1
⊢ x.norm.natAbs = 1

tactic: exact this.1
state_before: d : ℤ
x : ℤ√d
h : IsUnit x
y : ℤ√d
hy : 1 = x * y
this : x.norm.natAbs = 1 ∧ y.norm.natAbs = 1
⊢ x.norm.natAbs = 1
state_after: no goals
Theorem: padicNorm.padicNorm_p_lt_one
File: Mathlib/NumberTheory/Padics/PadicNorm.lean

tactic: rw [padicNorm_p hp, inv_lt_one_iff]
state_before: p : ℕ
hp : 1 < p
⊢ padicNorm p ↑p < 1
state_after: p : ℕ
hp : 1 < p
⊢ ↑p ≤ 0 ∨ 1 < ↑p

tactic: exact mod_cast Or.inr hp
state_before: p : ℕ
hp : 1 < p
⊢ ↑p ≤ 0 ∨ 1 < ↑p
state_after: no goals
Theorem: Finsupp.embDomain_eq_mapDomain
File: Mathlib/Data/Finsupp/Basic.lean

tactic: ext a
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
⊢ embDomain f v = mapDomain (⇑f) v
state_after: case h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a

tactic: by_cases h : a ∈ Set.range f
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a
state_after: case pos
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
h : a ∈ Set.range ⇑f
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a

case neg
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
h : a ∉ Set.range ⇑f
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a

tactic: rcases h with ⟨a, rfl⟩
state_before: case pos
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
h : a ∈ Set.range ⇑f
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a
state_after: case pos.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : α
⊢ (embDomain f v) (f a) = (mapDomain (⇑f) v) (f a)

tactic: rw [mapDomain_apply f.injective, embDomain_apply]
state_before: case pos.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : α
⊢ (embDomain f v) (f a) = (mapDomain (⇑f) v) (f a)
state_after: no goals

tactic: rw [mapDomain_notin_range, embDomain_notin_range] <;> assumption
state_before: case neg
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
M : Type u_5
M' : Type u_6
N : Type u_7
P : Type u_8
G : Type u_9
H : Type u_10
R : Type u_11
S : Type u_12
inst✝ : AddCommMonoid M
v✝ v₁ v₂ : α →₀ M
f : α ↪ β
v : α →₀ M
a : β
h : a ∉ Set.range ⇑f
⊢ (embDomain f v) a = (mapDomain (⇑f) v) a
state_after: no goals
Theorem: MeasureTheory.Integrable.smul_measure_nnreal
File: Mathlib/MeasureTheory/Function/L1Space.lean

tactic: apply h.smul_measure
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
h : Integrable f μ
c : ℝ≥0
⊢ Integrable f (c • μ)
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
h : Integrable f μ
c : ℝ≥0
⊢ ↑ofNNRealHom.toMonoidWithZeroHom c ≠ ⊤

tactic: simp
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν : Measure α
inst✝² : MeasurableSpace δ
inst✝¹ : NormedAddCommGroup β
inst✝ : NormedAddCommGroup γ
f : α → β
h : Integrable f μ
c : ℝ≥0
⊢ ↑ofNNRealHom.toMonoidWithZeroHom c ≠ ⊤
state_after: no goals
Theorem: MeasureTheory.SignedMeasure.toJordanDecomposition_zero
File: Mathlib/MeasureTheory/Decomposition/Jordan.lean

tactic: apply toSignedMeasure_injective
state_before: α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
⊢ toJordanDecomposition 0 = 0
state_after: case a
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
⊢ (toJordanDecomposition 0).toSignedMeasure = toSignedMeasure 0

tactic: simp [toSignedMeasure_zero]
state_before: case a
α : Type u_1
β : Type u_2
inst✝ : MeasurableSpace α
⊢ (toJordanDecomposition 0).toSignedMeasure = toSignedMeasure 0
state_after: no goals
Theorem: idRel_subset
File: Mathlib/Topology/UniformSpace/Basic.lean

tactic: simp [subset_def]
state_before: α : Type ua
β : Type ub
γ : Type uc
δ : Type ud
ι : Sort u_1
s : Set (α × α)
⊢ idRel ⊆ s ↔ ∀ (a : α), (a, a) ∈ s
state_after: no goals
Theorem: NeZero.of_neZero_natCast
File: Mathlib/Data/Nat/Cast/NeZero.lean

tactic: rintro rfl
state_before: R : Type u_1
inst✝ : AddMonoidWithOne R
n : ℕ
h : NeZero ↑n
⊢ n ≠ 0
state_after: R : Type u_1
inst✝ : AddMonoidWithOne R
h : NeZero ↑0
⊢ False

tactic: exact h.out Nat.cast_zero
state_before: R : Type u_1
inst✝ : AddMonoidWithOne R
h : NeZero ↑0
⊢ False
state_after: no goals
Theorem: CategoryTheory.Limits.PushoutCocone.epi_inl_of_is_pushout_of_epi
File: Mathlib/CategoryTheory/Limits/Shapes/Pullbacks.lean

tactic: simp [← cancel_epi g, ← t.condition_assoc, i]
state_before: C : Type u
inst✝² : Category.{v, u} C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
W✝ X Y Z : C
f : X ⟶ Y
g : X ⟶ Z
t : PushoutCocone f g
ht : IsColimit t
inst✝ : Epi g
W : C
h k : t.pt ⟶ W
i : t.inl ≫ h = t.inl ≫ k
⊢ t.inr ≫ h = t.inr ≫ k
state_after: no goals
Theorem: Finset.untrop_sum'
File: Mathlib/Algebra/Tropical/BigOperators.lean

tactic: convert Multiset.untrop_sum (s.val.map f)
state_before: R : Type u_1
S : Type u_2
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
s : Finset S
f : S → Tropical R
⊢ untrop (∑ i ∈ s, f i) = s.inf (untrop ∘ f)
state_after: case h.e'_3
R : Type u_1
S : Type u_2
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
s : Finset S
f : S → Tropical R
⊢ s.inf (untrop ∘ f) = (Multiset.map untrop (Multiset.map f s.val)).inf

tactic: simp only [Multiset.map_map, Function.comp_apply]
state_before: case h.e'_3
R : Type u_1
S : Type u_2
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
s : Finset S
f : S → Tropical R
⊢ s.inf (untrop ∘ f) = (Multiset.map untrop (Multiset.map f s.val)).inf
state_after: case h.e'_3
R : Type u_1
S : Type u_2
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
s : Finset S
f : S → Tropical R
⊢ s.inf (untrop ∘ f) = (Multiset.map (fun x => untrop (f x)) s.val).inf

tactic: rfl
state_before: case h.e'_3
R : Type u_1
S : Type u_2
inst✝¹ : LinearOrder R
inst✝ : OrderTop R
s : Finset S
f : S → Tropical R
⊢ s.inf (untrop ∘ f) = (Multiset.map (fun x => untrop (f x)) s.val).inf
state_after: no goals
Theorem: CategoryTheory.Subobject.ofLEMk_comp_ofMkLE
File: Mathlib/CategoryTheory/Subobject/Basic.lean

tactic: simp only [ofMkLE, ofLEMk, ofLE, ← Functor.map_comp underlying, assoc, Iso.hom_inv_id_assoc]
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
X✝ Y✝ Z : C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
B A : C
X : Subobject B
f : A ⟶ B
inst✝ : Mono f
Y : Subobject B
h₁ : X ≤ mk f
h₂ : mk f ≤ Y
⊢ X.ofLEMk f h₁ ≫ ofMkLE f Y h₂ = X.ofLE Y ⋯
state_after: C : Type u₁
inst✝² : Category.{v₁, u₁} C
X✝ Y✝ Z : C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
B A : C
X : Subobject B
f : A ⟶ B
inst✝ : Mono f
Y : Subobject B
h₁ : X ≤ mk f
h₂ : mk f ≤ Y
⊢ underlying.map (h₁.hom ≫ h₂.hom) = underlying.map ⋯.hom

tactic: congr 1
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
X✝ Y✝ Z : C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
B A : C
X : Subobject B
f : A ⟶ B
inst✝ : Mono f
Y : Subobject B
h₁ : X ≤ mk f
h₂ : mk f ≤ Y
⊢ underlying.map (h₁.hom ≫ h₂.hom) = underlying.map ⋯.hom
state_after: no goals
Theorem: LieAlgebra.IsKilling.rootSpace_zsmul_add_ne_bot_iff_mem
File: Mathlib/Algebra/Lie/Weights/RootSystem.lean

tactic: rw [rootSpace_zsmul_add_ne_bot_iff α β hα n, Finset.mem_Icc, and_comm, neg_le]
state_before: K : Type u_1
L : Type u_2
inst✝⁷ : Field K
inst✝⁶ : CharZero K
inst✝⁵ : LieRing L
inst✝⁴ : LieAlgebra K L
inst✝³ : IsKilling K L
inst✝² : FiniteDimensional K L
H : LieSubalgebra K L
inst✝¹ : H.IsCartanSubalgebra
inst✝ : IsTriangularizable K (↥H) L
α β : Weight K (↥H) L
hα : α.IsNonZero
n : ℤ
⊢ rootSpace H (n • ⇑α + ⇑β) ≠ ⊥ ↔ n ∈ Finset.Icc (-↑(chainBotCoeff (⇑α) β)) ↑(chainTopCoeff (⇑α) β)
state_after: no goals
Theorem: List.IsRotated.symm
File: Mathlib/Data/List/Rotate.lean

tactic: obtain ⟨n, rfl⟩ := h
state_before: α : Type u
l l' : List α
h : l ~r l'
⊢ l' ~r l
state_after: case intro
α : Type u
l : List α
n : ℕ
⊢ l.rotate n ~r l

tactic: cases' l with hd tl
state_before: case intro
α : Type u
l : List α
n : ℕ
⊢ l.rotate n ~r l
state_after: case intro.nil
α : Type u
n : ℕ
⊢ [].rotate n ~r []

case intro.cons
α : Type u
n : ℕ
hd : α
tl : List α
⊢ (hd :: tl).rotate n ~r (hd :: tl)

tactic: exists 0
state_before: case intro.nil
α : Type u
n : ℕ
⊢ [].rotate n ~r []
state_after: no goals

tactic: use (hd :: tl).length * n - n
state_before: case intro.cons
α : Type u
n : ℕ
hd : α
tl : List α
⊢ (hd :: tl).rotate n ~r (hd :: tl)
state_after: case h
α : Type u
n : ℕ
hd : α
tl : List α
⊢ ((hd :: tl).rotate n).rotate ((hd :: tl).length * n - n) = hd :: tl

tactic: rw [rotate_rotate, Nat.add_sub_cancel', rotate_length_mul]
state_before: case h
α : Type u
n : ℕ
hd : α
tl : List α
⊢ ((hd :: tl).rotate n).rotate ((hd :: tl).length * n - n) = hd :: tl
state_after: case h
α : Type u
n : ℕ
hd : α
tl : List α
⊢ n ≤ (hd :: tl).length * n

tactic: exact Nat.le_mul_of_pos_left _ (by simp)
state_before: case h
α : Type u
n : ℕ
hd : α
tl : List α
⊢ n ≤ (hd :: tl).length * n
state_after: no goals

tactic: simp
state_before: α : Type u
n : ℕ
hd : α
tl : List α
⊢ 0 < (hd :: tl).length
state_after: no goals
Theorem: Nat.sqrt_add_eq
File: Mathlib/Data/Nat/Defs.lean

tactic: rw [succ_mul, mul_succ, add_succ, Nat.add_assoc]
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
h : a ≤ n + n
⊢ n * n + a < n.succ * n.succ
state_after: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
h : a ≤ n + n
⊢ n * n + a < (n * n + (n + n)).succ

tactic: exact lt_succ_of_le (Nat.add_le_add_left h _)
state_before: a b c d m n✝ k : ℕ
p q : ℕ → Prop
n : ℕ
h : a ≤ n + n
⊢ n * n + a < (n * n + (n + n)).succ
state_after: no goals
Theorem: Batteries.DList.toList_ofList
File: Mathlib/Data/DList/Defs.lean

tactic: cases l
state_before: α : Type u
l : List α
⊢ (ofList l).toList = l
state_after: case nil
α : Type u
⊢ (ofList []).toList = []

case cons
α : Type u
head✝ : α
tail✝ : List α
⊢ (ofList (head✝ :: tail✝)).toList = head✝ :: tail✝

tactic: rfl
state_before: case nil
α : Type u
⊢ (ofList []).toList = []

case cons
α : Type u
head✝ : α
tail✝ : List α
⊢ (ofList (head✝ :: tail✝)).toList = head✝ :: tail✝
state_after: case cons
α : Type u
head✝ : α
tail✝ : List α
⊢ (ofList (head✝ :: tail✝)).toList = head✝ :: tail✝

tactic: simp only [DList.toList, DList.ofList, List.cons_append, List.append_nil]
state_before: case cons
α : Type u
head✝ : α
tail✝ : List α
⊢ (ofList (head✝ :: tail✝)).toList = head✝ :: tail✝
state_after: no goals
Theorem: IsOpen.ae_eq_empty_iff_eq
File: Mathlib/MeasureTheory/Measure/OpenPos.lean

tactic: rw [ae_eq_empty, hU.measure_zero_iff_eq_empty]
state_before: X : Type u_1
Y : Type u_2
inst✝³ : TopologicalSpace X
m : MeasurableSpace X
inst✝² : TopologicalSpace Y
inst✝¹ : T2Space Y
μ ν : Measure X
inst✝ : μ.IsOpenPosMeasure
s U F : Set X
x : X
hU : IsOpen U
⊢ U =ᶠ[ae μ] ∅ ↔ U = ∅
state_after: no goals