tasksource/leandojo huggingface dataset:
Theorem: BoxIntegral.BoxAdditiveMap.volume_apply
File: Mathlib/Analysis/BoxIntegral/Partition/Measure.lean

tactic: rw [BoxAdditiveMap.volume, toSMul_apply]
state_before: ι : Type u_2
inst✝² : Fintype ι
E : Type u_1
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
I : Box ι
x : E
⊢ ↑(↑BoxAdditiveMap.volume I) x = (∏ j : ι, (upper I j - lower I j)) • x
Theorem: IntermediateField.bot_eq_top_of_finrank_adjoin_le_one
File: Mathlib/FieldTheory/Adjoin.lean

tactic: apply bot_eq_top_of_finrank_adjoin_eq_one
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
α : E
S : Set E
K L : IntermediateField F E
inst✝ : FiniteDimensional F E
h : ∀ (x : E), finrank F { x_1 // x_1 ∈ F⟮x⟯ } ≤ 1
⊢ ⊥ = ⊤

tactic: exact fun x => by linarith [h x, show 0 < finrank F F⟮x⟯ from finrank_pos]
state_before: case h
F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
α : E
S : Set E
K L : IntermediateField F E
inst✝ : FiniteDimensional F E
h : ∀ (x : E), finrank F { x_1 // x_1 ∈ F⟮x⟯ } ≤ 1
⊢ ∀ (x : E), finrank F { x_1 // x_1 ∈ F⟮x⟯ } = 1

tactic: linarith [h x, show 0 < finrank F F⟮x⟯ from finrank_pos]
state_before: F : Type u_1
inst✝³ : Field F
E : Type u_2
inst✝² : Field E
inst✝¹ : Algebra F E
α : E
S : Set E
K L : IntermediateField F E
inst✝ : FiniteDimensional F E
h : ∀ (x : E), finrank F { x_1 // x_1 ∈ F⟮x⟯ } ≤ 1
x : E
⊢ finrank F { x_1 // x_1 ∈ F⟮x⟯ } = 1
Theorem: Filter.rcomap'_rcomap'
File: Mathlib/Order/Filter/Partial.lean

tactic: simp only [mem_rcomap', Rel.preimage_comp]
state_before: α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t : Set α
⊢ t ∈ rcomap' r (rcomap' s l) ↔ t ∈ rcomap' (Rel.comp r s) l

tactic: constructor
state_before: α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t : Set α
⊢ (∃ t_1, (∃ t, t ∈ l ∧ Rel.preimage s t ⊆ t_1) ∧ Rel.preimage r t_1 ⊆ t) ↔
    ∃ t_1, t_1 ∈ l ∧ Rel.preimage r (Rel.preimage s t_1) ⊆ t

tactic: rintro ⟨t, tsets, ht⟩
state_before: case mpr
α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t : Set α
⊢ (∃ t_1, t_1 ∈ l ∧ Rel.preimage r (Rel.preimage s t_1) ⊆ t) →
    ∃ t_1, (∃ t, t ∈ l ∧ Rel.preimage s t ⊆ t_1) ∧ Rel.preimage r t_1 ⊆ t

tactic: exact ⟨s.preimage t, ⟨t, tsets, Set.Subset.rfl⟩, ht⟩
state_before: case mpr.intro.intro
α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t✝ : Set α
t : Set γ
tsets : t ∈ l
ht : Rel.preimage r (Rel.preimage s t) ⊆ t✝
⊢ ∃ t, (∃ t_1, t_1 ∈ l ∧ Rel.preimage s t_1 ⊆ t) ∧ Rel.preimage r t ⊆ t✝

tactic: rintro ⟨u, ⟨v, vsets, hv⟩, h⟩
state_before: case mp
α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t : Set α
⊢ (∃ t_1, (∃ t, t ∈ l ∧ Rel.preimage s t ⊆ t_1) ∧ Rel.preimage r t_1 ⊆ t) →
    ∃ t_1, t_1 ∈ l ∧ Rel.preimage r (Rel.preimage s t_1) ⊆ t

tactic: exact ⟨v, vsets, (Rel.preimage_mono _ hv).trans h⟩
state_before: case mp.intro.intro.intro.intro
α : Type u
β : Type v
γ : Type w
r : Rel α β
s : Rel β γ
l : Filter γ
t : Set α
u : Set β
h : Rel.preimage r u ⊆ t
v : Set γ
vsets : v ∈ l
hv : Rel.preimage s v ⊆ u
⊢ ∃ t_1, t_1 ∈ l ∧ Rel.preimage r (Rel.preimage s t_1) ⊆ t
Theorem: lt_mul_of_one_lt_left
File: Mathlib/Algebra/Order/Ring/Lemmas.lean

tactic: simpa only [one_mul] using mul_lt_mul_of_pos_right h hb
state_before: α : Type u_1
a b c d : α
inst✝³ : MulOneClass α
inst✝² : Zero α
inst✝¹ : Preorder α
inst✝ : MulPosStrictMono α
hb : 0 < b
h : 1 < a
⊢ b < a * b
Theorem: MeasureTheory.measure_if
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: split_ifs with h <;> simp [h]
state_before: α : Type u_2
β : Type u_1
γ : Type ?u.80574
δ : Type ?u.80577
ι : Type ?u.80580
R : Type ?u.80583
R' : Type ?u.80586
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s✝ s₁ s₂ t✝ : Set α
x : β
t : Set β
s : Set α
⊢ ↑↑μ (if x ∈ t then s else ∅) = indicator t (fun x => ↑↑μ s) x
Theorem: AffineSubspace.map_span
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: rcases s.eq_empty_or_nonempty with (rfl | ⟨p, hp⟩)
state_before: k : Type u_3
V₁ : Type u_5
P₁ : Type u_1
V₂ : Type u_4
P₂ : Type u_2
V₃ : Type ?u.571682
P₃ : Type ?u.571685
inst✝⁹ : Ring k
inst✝⁸ : AddCommGroup V₁
inst✝⁷ : Module k V₁
inst✝⁶ : AffineSpace V₁ P₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module k V₂
inst✝³ : AffineSpace V₂ P₂
inst✝² : AddCommGroup V₃
inst✝¹ : Module k V₃
inst✝ : AffineSpace V₃ P₃
f : P₁ →ᵃ[k] P₂
s : Set P₁
⊢ map f (affineSpan k s) = affineSpan k (↑f '' s)

tactic: apply ext_of_direction_eq
state_before: case inr.intro
k : Type u_3
V₁ : Type u_5
P₁ : Type u_1
V₂ : Type u_4
P₂ : Type u_2
V₃ : Type ?u.571682
P₃ : Type ?u.571685
inst✝⁹ : Ring k
inst✝⁸ : AddCommGroup V₁
inst✝⁷ : Module k V₁
inst✝⁶ : AffineSpace V₁ P₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module k V₂
inst✝³ : AffineSpace V₂ P₂
inst✝² : AddCommGroup V₃
inst✝¹ : Module k V₃
inst✝ : AffineSpace V₃ P₃
f : P₁ →ᵃ[k] P₂
s : Set P₁
p : P₁
hp : p ∈ s
⊢ map f (affineSpan k s) = affineSpan k (↑f '' s)

tactic: rw [image_empty, span_empty, span_empty, map_bot]
state_before: case inl
k : Type u_3
V₁ : Type u_5
P₁ : Type u_1
V₂ : Type u_4
P₂ : Type u_2
V₃ : Type ?u.571682
P₃ : Type ?u.571685
inst✝⁹ : Ring k
inst✝⁸ : AddCommGroup V₁
inst✝⁷ : Module k V₁
inst✝⁶ : AffineSpace V₁ P₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module k V₂
inst✝³ : AffineSpace V₂ P₂
inst✝² : AddCommGroup V₃
inst✝¹ : Module k V₃
inst✝ : AffineSpace V₃ P₃
f : P₁ →ᵃ[k] P₂
⊢ map f (affineSpan k ∅) = affineSpan k (↑f '' ∅)

tactic: simp [direction_affineSpan]
state_before: case inr.intro.hd
k : Type u_3
V₁ : Type u_5
P₁ : Type u_1
V₂ : Type u_4
P₂ : Type u_2
V₃ : Type ?u.571682
P₃ : Type ?u.571685
inst✝⁹ : Ring k
inst✝⁸ : AddCommGroup V₁
inst✝⁷ : Module k V₁
inst✝⁶ : AffineSpace V₁ P₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module k V₂
inst✝³ : AffineSpace V₂ P₂
inst✝² : AddCommGroup V₃
inst✝¹ : Module k V₃
inst✝ : AffineSpace V₃ P₃
f : P₁ →ᵃ[k] P₂
s : Set P₁
p : P₁
hp : p ∈ s
⊢ direction (map f (affineSpan k s)) = direction (affineSpan k (↑f '' s))

tactic: exact
  ⟨f p, mem_image_of_mem f (subset_affineSpan k _ hp),
    subset_affineSpan k _ (mem_image_of_mem f hp)⟩
state_before: case inr.intro.hn
k : Type u_3
V₁ : Type u_5
P₁ : Type u_1
V₂ : Type u_4
P₂ : Type u_2
V₃ : Type ?u.571682
P₃ : Type ?u.571685
inst✝⁹ : Ring k
inst✝⁸ : AddCommGroup V₁
inst✝⁷ : Module k V₁
inst✝⁶ : AffineSpace V₁ P₁
inst✝⁵ : AddCommGroup V₂
inst✝⁴ : Module k V₂
inst✝³ : AffineSpace V₂ P₂
inst✝² : AddCommGroup V₃
inst✝¹ : Module k V₃
inst✝ : AffineSpace V₃ P₃
f : P₁ →ᵃ[k] P₂
s : Set P₁
p : P₁
hp : p ∈ s
⊢ Set.Nonempty (↑(map f (affineSpan k s)) ∩ ↑(affineSpan k (↑f '' s)))
Theorem: IsLocalization.span_invSubmonoid
File: Mathlib/RingTheory/Localization/InvSubmonoid.lean

tactic: rw [eq_top_iff]
state_before: R : Type u_2
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_1
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.262567
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
⊢ Submodule.span R ↑(invSubmonoid M S) = ⊤

tactic: rintro x -
state_before: R : Type u_2
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_1
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.262567
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
⊢ ⊤ ≤ Submodule.span R ↑(invSubmonoid M S)

tactic: rcases IsLocalization.surj'' M x with ⟨r, m, rfl⟩
state_before: R : Type u_2
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_1
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.262567
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
x : S
⊢ x ∈ Submodule.span R ↑(invSubmonoid M S)

tactic: exact Submodule.smul_mem _ _ (Submodule.subset_span (toInvSubmonoid M S m).prop)
state_before: case intro.intro
R : Type u_2
inst✝⁴ : CommRing R
M : Submonoid R
S : Type u_1
inst✝³ : CommRing S
inst✝² : Algebra R S
P : Type ?u.262567
inst✝¹ : CommRing P
inst✝ : IsLocalization M S
r : R
m : { x // x ∈ M }
⊢ r • ↑(↑(toInvSubmonoid M S) m) ∈ Submodule.span R ↑(invSubmonoid M S)
Theorem: Filter.HasBasis.tendsto_right_iff
File: Mathlib/Order/Filter/Bases.lean

tactic: simp only [Tendsto, hlb.ge_iff, mem_map', Filter.Eventually]
state_before: α : Type u_3
β : Type u_1
γ : Type ?u.70535
ι : Sort ?u.70538
ι' : Sort u_2
la : Filter α
pa : ι → Prop
sa : ι → Set α
lb : Filter β
pb : ι' → Prop
sb : ι' → Set β
f : α → β
hlb : HasBasis lb pb sb
⊢ Tendsto f la lb ↔ ∀ (i : ι'), pb i → ∀ᶠ (x : α) in la, f x ∈ sb i
Theorem: Algebra.mul_sub_algebraMap_pow_commutes
File: Mathlib/Algebra/Algebra/Basic.lean

tactic: induction' n with n ih
state_before: R : Type u
S : Type v
A : Type w
B : Type ?u.557702
inst✝² : CommSemiring R
inst✝¹ : Ring A
inst✝ : Algebra R A
x : A
r : R
n : ℕ
⊢ x * (x - ↑(algebraMap R A) r) ^ n = (x - ↑(algebraMap R A) r) ^ n * x

tactic: simp
state_before: case zero
R : Type u
S : Type v
A : Type w
B : Type ?u.557702
inst✝² : CommSemiring R
inst✝¹ : Ring A
inst✝ : Algebra R A
x : A
r : R
⊢ x * (x - ↑(algebraMap R A) r) ^ Nat.zero = (x - ↑(algebraMap R A) r) ^ Nat.zero * x

tactic: rw [pow_succ, ← mul_assoc, mul_sub_algebraMap_commutes, mul_assoc, ih, ← mul_assoc]
state_before: case succ
R : Type u
S : Type v
A : Type w
B : Type ?u.557702
inst✝² : CommSemiring R
inst✝¹ : Ring A
inst✝ : Algebra R A
x : A
r : R
n : ℕ
ih : x * (x - ↑(algebraMap R A) r) ^ n = (x - ↑(algebraMap R A) r) ^ n * x
⊢ x * (x - ↑(algebraMap R A) r) ^ Nat.succ n = (x - ↑(algebraMap R A) r) ^ Nat.succ n * x
Theorem: SimpleGraph.Path.map_injective
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: rintro ⟨p, hp⟩ ⟨p', hp'⟩ h
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
f : G →g G'
hinj : Injective ↑f
u v : V
⊢ Injective (Path.map f hinj)

tactic: simp only [Path.map, Subtype.coe_mk, Subtype.mk.injEq] at h
state_before: case mk.mk
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
f : G →g G'
hinj : Injective ↑f
u v : V
p : Walk G u v
hp : Walk.IsPath p
p' : Walk G u v
hp' : Walk.IsPath p'
h : Path.map f hinj { val := p, property := hp } = Path.map f hinj { val := p', property := hp' }
⊢ { val := p, property := hp } = { val := p', property := hp' }

tactic: simp [Walk.map_injective_of_injective hinj u v h]
state_before: case mk.mk
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
f : G →g G'
hinj : Injective ↑f
u v : V
p : Walk G u v
hp : Walk.IsPath p
p' : Walk G u v
hp' : Walk.IsPath p'
h : Walk.map f p = Walk.map f p'
⊢ { val := p, property := hp } = { val := p', property := hp' }
Theorem: SimpleGraph.Walk.edges_transfer
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: induction p <;> simp [*]
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
u v : V
p : Walk G u v
H : SimpleGraph V
hp : ∀ (e : Sym2 V), e ∈ edges p → e ∈ edgeSet H
⊢ edges (Walk.transfer p H hp) = edges p
Theorem: IsExposed.eq_inter_halfspace
File: Mathlib/Analysis/Convex/Exposed.lean

tactic: obtain rfl | hB := B.eq_empty_or_nonempty
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B✝ C : Set E
X : Finset E
x : E
inst✝ : Nontrivial 𝕜
A B : Set E
hAB : IsExposed 𝕜 A B
⊢ ∃ l a, B = {x | x ∈ A ∧ a ≤ ↑l x}

tactic: exact hAB.eq_inter_halfspace' hB
state_before: case inr
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B✝ C : Set E
X : Finset E
x : E
inst✝ : Nontrivial 𝕜
A B : Set E
hAB : IsExposed 𝕜 A B
hB : Set.Nonempty B
⊢ ∃ l a, B = {x | x ∈ A ∧ a ≤ ↑l x}

tactic: refine' ⟨0, 1, _⟩
state_before: case inl
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
⊢ ∃ l a, ∅ = {x | x ∈ A ∧ a ≤ ↑l x}

tactic: rw [eq_comm, eq_empty_iff_forall_not_mem]
state_before: case inl
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
⊢ ∅ = {x | x ∈ A ∧ 1 ≤ ↑0 x}

tactic: rintro x ⟨-, h⟩
state_before: case inl
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
⊢ ∀ (x : E), ¬x ∈ {x | x ∈ A ∧ 1 ≤ ↑0 x}

tactic: rw [ContinuousLinearMap.zero_apply] at h
state_before: case inl.intro
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x✝ : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
x : E
h : 1 ≤ ↑0 x
⊢ False

tactic: have : ¬(1 : 𝕜) ≤ 0 := not_le_of_lt zero_lt_one
state_before: case inl.intro
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x✝ : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
x : E
h : 1 ≤ 0
⊢ False

tactic: contradiction
state_before: case inl.intro
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : OrderedRing 𝕜
inst✝³ : AddCommMonoid E
inst✝² : TopologicalSpace E
inst✝¹ : Module 𝕜 E
l : E →L[𝕜] 𝕜
A✝ B C : Set E
X : Finset E
x✝ : E
inst✝ : Nontrivial 𝕜
A : Set E
hAB : IsExposed 𝕜 A ∅
x : E
h : 1 ≤ 0
this : ¬1 ≤ 0
⊢ False
Theorem: Equiv.Perm.cycleOf_apply_apply_pow_self
File: Mathlib/GroupTheory/Perm/Cycle/Basic.lean

tactic: convert cycleOf_apply_apply_zpow_self f x k using 1
state_before: ι : Type ?u.2307214
α : Type u_1
β : Type ?u.2307220
inst✝¹ : DecidableEq α
inst✝ : Fintype α
f✝ g : Perm α
x✝ y : α
f : Perm α
x : α
k : ℕ
⊢ ↑(cycleOf f x) (↑(f ^ k) x) = ↑(f ^ (k + 1)) x
Theorem: disjoint_nhdsWithin_of_mem_discrete
File: Mathlib/Topology/Separation.lean

tactic: rw [inter_assoc, h', compl_inter_self]
state_before: α : Type u
β : Type v
inst✝¹ : TopologicalSpace α
s : Set α
inst✝ : DiscreteTopology ↑s
x : α
hx : x ∈ s
V : Set α
h : V ∈ 𝓝 x
h' : V ∩ s = {x}
⊢ {x}ᶜ ∩ V ∩ s = ∅
Theorem: Monotone.map_sSup_of_continuousAt
File: Mathlib/Topology/Order/Basic.lean

tactic: cases' s.eq_empty_or_nonempty with h h
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁶ : CompleteLinearOrder α
inst✝⁵ : TopologicalSpace α
inst✝⁴ : OrderTopology α
inst✝³ : CompleteLinearOrder β
inst✝² : TopologicalSpace β
inst✝¹ : OrderClosedTopology β
inst✝ : Nonempty γ
f : α → β
s : Set α
Cf : ContinuousAt f (sSup s)
Mf : Monotone f
fbot : f ⊥ = ⊥
⊢ f (sSup s) = sSup (f '' s)

tactic: simp [h, fbot]
state_before: case inl
α : Type u
β : Type v
γ : Type w
inst✝⁶ : CompleteLinearOrder α
inst✝⁵ : TopologicalSpace α
inst✝⁴ : OrderTopology α
inst✝³ : CompleteLinearOrder β
inst✝² : TopologicalSpace β
inst✝¹ : OrderClosedTopology β
inst✝ : Nonempty γ
f : α → β
s : Set α
Cf : ContinuousAt f (sSup s)
Mf : Monotone f
fbot : f ⊥ = ⊥
h : s = ∅
⊢ f (sSup s) = sSup (f '' s)

tactic: exact Mf.map_sSup_of_continuousAt' Cf h
state_before: case inr
α : Type u
β : Type v
γ : Type w
inst✝⁶ : CompleteLinearOrder α
inst✝⁵ : TopologicalSpace α
inst✝⁴ : OrderTopology α
inst✝³ : CompleteLinearOrder β
inst✝² : TopologicalSpace β
inst✝¹ : OrderClosedTopology β
inst✝ : Nonempty γ
f : α → β
s : Set α
Cf : ContinuousAt f (sSup s)
Mf : Monotone f
fbot : f ⊥ = ⊥
h : Set.Nonempty s
⊢ f (sSup s) = sSup (f '' s)
Theorem: HasFPowerSeriesOnBall.sub
File: Mathlib/Analysis/Analytic/Basic.lean

tactic: simpa only [sub_eq_add_neg] using hf.add hg.neg
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.547123
inst✝⁶ : NontriviallyNormedField 𝕜
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace 𝕜 F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace 𝕜 G
f g : E → F
p pf pg : FormalMultilinearSeries 𝕜 E F
x : E
r r' : ℝ≥0∞
hf : HasFPowerSeriesOnBall f pf x r
hg : HasFPowerSeriesOnBall g pg x r
⊢ HasFPowerSeriesOnBall (f - g) (pf - pg) x r
Theorem: Filter.disjoint_pure_pure
File: Mathlib/Order/Filter/Bases.lean

tactic: simp only [← principal_singleton, disjoint_principal_principal, disjoint_singleton]
state_before: α : Type u_1
β : Type ?u.57475
γ : Type ?u.57478
ι : Sort ?u.57481
ι' : Sort ?u.57484
l l' : Filter α
p : ι → Prop
s : ι → Set α
t : Set α
i : ι
p' : ι' → Prop
s' : ι' → Set α
i' : ι'
x y : α
⊢ Disjoint (pure x) (pure y) ↔ x ≠ y
Theorem: Valuation.toMonoidWithZeroHom_coe_eq_coe
File: Mathlib/RingTheory/Valuation/Basic.lean

tactic: rfl
state_before: K : Type ?u.71899
F : Type ?u.71902
R : Type u_1
inst✝⁴ : DivisionRing K
Γ₀ : Type u_2
Γ'₀ : Type ?u.71914
Γ''₀ : Type ?u.71917
inst✝³ : LinearOrderedCommMonoidWithZero Γ''₀
inst✝² : Ring R
inst✝¹ : LinearOrderedCommMonoidWithZero Γ₀
inst✝ : LinearOrderedCommMonoidWithZero Γ'₀
v : Valuation R Γ₀
⊢ ↑v.toMonoidWithZeroHom = ↑v
Theorem: Array.size_uset
File: Std/Data/Array/Init/Lemmas.lean

tactic: simp
state_before: α : Type u_1
a : Array α
v : α
i : USize
h : USize.toNat i < size a
⊢ size (uset a i v h) = size a
Theorem: CategoryTheory.HasLiftingProperty.of_arrow_iso_left
File: Mathlib/CategoryTheory/LiftingProperties/Basic.lean

tactic: rw [Arrow.iso_w' e]
state_before: C : Type u_2
inst✝ : Category C
A✝ B✝ B'✝ X✝ Y✝ Y' : C
i✝ : A✝ ⟶ B✝
i'✝ : B✝ ⟶ B'✝
p✝ : X✝ ⟶ Y✝
p' : Y✝ ⟶ Y'
A B A' B' X Y : C
i : A ⟶ B
i' : A' ⟶ B'
e : Arrow.mk i ≅ Arrow.mk i'
p : X ⟶ Y
hip : HasLiftingProperty i p
⊢ HasLiftingProperty i' p

tactic: infer_instance
state_before: C : Type u_2
inst✝ : Category C
A✝ B✝ B'✝ X✝ Y✝ Y' : C
i✝ : A✝ ⟶ B✝
i'✝ : B✝ ⟶ B'✝
p✝ : X✝ ⟶ Y✝
p' : Y✝ ⟶ Y'
A B A' B' X Y : C
i : A ⟶ B
i' : A' ⟶ B'
e : Arrow.mk i ≅ Arrow.mk i'
p : X ⟶ Y
hip : HasLiftingProperty i p
⊢ HasLiftingProperty (e.inv.left ≫ i ≫ e.hom.right) p
Theorem: Set.image_update_uIcc_left
File: Mathlib/Data/Set/Intervals/Pi.lean

tactic: simpa using image_update_uIcc f i a (f i)
state_before: ι : Type u_1
α : ι → Type u_2
inst✝¹ : (i : ι) → Lattice (α i)
inst✝ : DecidableEq ι
f : (i : ι) → α i
i : ι
a : α i
⊢ update f i '' uIcc a (f i) = uIcc (update f i a) f
Theorem: continuousOn_tsum
File: Mathlib/Analysis/Calculus/Series.lean

tactic: classical
  refine' (tendstoUniformlyOn_tsum hu hfu).continuousOn (eventually_of_forall _)
  intro t
  exact continuousOn_finset_sum _ fun i _ => hf i
state_before: α : Type u_3
β : Type u_1
𝕜 : Type ?u.10501
E : Type ?u.10504
F : Type u_2
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : TopologicalSpace β
f : α → β → F
s : Set β
hf : ∀ (i : α), ContinuousOn (f i) s
hu : Summable u
hfu : ∀ (n : α) (x : β), x ∈ s → ‖f n x‖ ≤ u n
⊢ ContinuousOn (fun x => ∑' (n : α), f n x) s

tactic: refine' (tendstoUniformlyOn_tsum hu hfu).continuousOn (eventually_of_forall _)
state_before: α : Type u_3
β : Type u_1
𝕜 : Type ?u.10501
E : Type ?u.10504
F : Type u_2
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : TopologicalSpace β
f : α → β → F
s : Set β
hf : ∀ (i : α), ContinuousOn (f i) s
hu : Summable u
hfu : ∀ (n : α) (x : β), x ∈ s → ‖f n x‖ ≤ u n
⊢ ContinuousOn (fun x => ∑' (n : α), f n x) s

tactic: intro t
state_before: α : Type u_3
β : Type u_1
𝕜 : Type ?u.10501
E : Type ?u.10504
F : Type u_2
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : TopologicalSpace β
f : α → β → F
s : Set β
hf : ∀ (i : α), ContinuousOn (f i) s
hu : Summable u
hfu : ∀ (n : α) (x : β), x ∈ s → ‖f n x‖ ≤ u n
⊢ ∀ (x : Finset α), ContinuousOn (fun x_1 => ∑ n in x, f n x_1) s

tactic: exact continuousOn_finset_sum _ fun i _ => hf i
state_before: α : Type u_3
β : Type u_1
𝕜 : Type ?u.10501
E : Type ?u.10504
F : Type u_2
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : NormedSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : CompleteSpace F
u : α → ℝ
inst✝ : TopologicalSpace β
f : α → β → F
s : Set β
hf : ∀ (i : α), ContinuousOn (f i) s
hu : Summable u
hfu : ∀ (n : α) (x : β), x ∈ s → ‖f n x‖ ≤ u n
t : Finset α
⊢ ContinuousOn (fun x => ∑ n in t, f n x) s
Theorem: Cardinal.mk_eq_nat_iff_finset
File: Mathlib/SetTheory/Cardinal/Basic.lean

tactic: rw [← mk_univ, mk_set_eq_nat_iff_finset]
state_before: α β : Type u
n : ℕ
⊢ (#α) = ↑n ↔ ∃ t, ↑t = univ ∧ Finset.card t = n
Theorem: pi_Ioo_mem_nhds
File: Mathlib/Topology/Order/Basic.lean

tactic: refine' mem_of_superset (set_pi_mem_nhds Set.finite_univ fun i _ => _) (pi_univ_Ioo_subset a b)
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁷ : TopologicalSpace α
inst✝⁶ : LinearOrder α
inst✝⁵ : OrderTopology α
ι : Type u_2
π : ι → Type u_1
inst✝⁴ : Finite ι
inst✝³ : (i : ι) → LinearOrder (π i)
inst✝² : (i : ι) → TopologicalSpace (π i)
inst✝¹ : ∀ (i : ι), OrderTopology (π i)
a b x : (i : ι) → π i
a' b' x' : ι → α
inst✝ : Nonempty ι
ha : ∀ (i : ι), a i < x i
hb : ∀ (i : ι), x i < b i
⊢ Ioo a b ∈ 𝓝 x

tactic: exact Ioo_mem_nhds (ha i) (hb i)
state_before: α : Type u
β : Type v
γ : Type w
inst✝⁷ : TopologicalSpace α
inst✝⁶ : LinearOrder α
inst✝⁵ : OrderTopology α
ι : Type u_2
π : ι → Type u_1
inst✝⁴ : Finite ι
inst✝³ : (i : ι) → LinearOrder (π i)
inst✝² : (i : ι) → TopologicalSpace (π i)
inst✝¹ : ∀ (i : ι), OrderTopology (π i)
a b x : (i : ι) → π i
a' b' x' : ι → α
inst✝ : Nonempty ι
ha : ∀ (i : ι), a i < x i
hb : ∀ (i : ι), x i < b i
i : ι
x✝ : i ∈ univ
⊢ Ioo (a i) (b i) ∈ 𝓝 (x i)
Theorem: List.join_eq_nil
File: Mathlib/Data/List/Join.lean

tactic: simp only [join, append_eq_nil, join_eq_nil, forall_mem_cons]
state_before: α : Type u_1
β : Type ?u.357
l : List α
L : List (List α)
⊢ join (l :: L) = [] ↔ ∀ (l_1 : List α), l_1 ∈ l :: L → l_1 = []
Theorem: List.filterMap_eq_filter
File: Std/Data/List/Lemmas.lean

tactic: funext l
state_before: α : Type u_1
p : α → Bool
⊢ filterMap (Option.guard fun x => p x = true) = filter p

tactic: induction l with
| nil => rfl
| cons a l IH => by_cases pa : p a <;> simp [Option.guard, pa, ← IH]
state_before: case h
α : Type u_1
p : α → Bool
l : List α
⊢ filterMap (Option.guard fun x => p x = true) l = filter p l

tactic: rfl
state_before: case h.nil
α : Type u_1
p : α → Bool
⊢ filterMap (Option.guard fun x => p x = true) [] = filter p []

tactic: by_cases pa : p a <;> simp [Option.guard, pa, ← IH]
state_before: case h.cons
α : Type u_1
p : α → Bool
a : α
l : List α
IH : filterMap (Option.guard fun x => p x = true) l = filter p l
⊢ filterMap (Option.guard fun x => p x = true) (a :: l) = filter p (a :: l)
Theorem: Multiset.mem_toList
File: Mathlib/Data/Multiset/Basic.lean

tactic: rw [← mem_coe, coe_toList]
state_before: α : Type u_1
β : Type ?u.31491
γ : Type ?u.31494
a : α
s : Multiset α
⊢ a ∈ toList s ↔ a ∈ s
Theorem: cthickening_thickening
File: Mathlib/Analysis/NormedSpace/Pointwise.lean

tactic: simp_rw [mem_cthickening_iff, ENNReal.ofReal_add hε hδ.le, infEdist_thickening hδ]
state_before: 𝕜 : Type ?u.225497
E : Type u_1
inst✝³ : NormedField 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
x✝ y z : E
δ ε : ℝ
hε : 0 ≤ ε
hδ : 0 < δ
s : Set E
x : E
⊢ x ∈ cthickening (ε + δ) s → x ∈ cthickening ε (thickening δ s)

tactic: exact tsub_le_iff_right.2
state_before: 𝕜 : Type ?u.225497
E : Type u_1
inst✝³ : NormedField 𝕜
inst✝² : SeminormedAddCommGroup E
inst✝¹ : NormedSpace 𝕜 E
inst✝ : NormedSpace ℝ E
x✝ y z : E
δ ε : ℝ
hε : 0 ≤ ε
hδ : 0 < δ
s : Set E
x : E
⊢ infEdist x s ≤ ENNReal.ofReal ε + ENNReal.ofReal δ → infEdist x s - ENNReal.ofReal δ ≤ ENNReal.ofReal ε