tasksource/leandojo huggingface dataset:
Theorem: CategoryTheory.Functor.reflectsEpimorphisms.of_iso
File: Mathlib/CategoryTheory/Functor/EpiMono.lean

tactic: apply F.epi_of_epi_map
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
E : Type u₃
inst✝¹ : Category E
F G : C ⥤ D
inst✝ : ReflectsEpimorphisms F
α : F ≅ G
X Y : C
f : X ⟶ Y
h : Epi (G.map f)
⊢ Epi f

tactic: haveI : Epi (G.map f ≫ (α.app Y).inv) := epi_comp _ _
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
E : Type u₃
inst✝¹ : Category E
F G : C ⥤ D
inst✝ : ReflectsEpimorphisms F
α : F ≅ G
X Y : C
f : X ⟶ Y
h : Epi (G.map f)
⊢ Epi (F.map f)

tactic: convert (epi_comp _ _ : Epi ((α.app X).hom ≫ G.map f ≫ (α.app Y).inv))
state_before: C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
E : Type u₃
inst✝¹ : Category E
F G : C ⥤ D
inst✝ : ReflectsEpimorphisms F
α : F ≅ G
X Y : C
f : X ⟶ Y
h : Epi (G.map f)
this : Epi (G.map f ≫ (α.app Y).inv)
⊢ Epi (F.map f)

tactic: rw [← Category.assoc, Iso.eq_comp_inv, Iso.app_hom, Iso.app_hom, NatTrans.naturality]
state_before: case h.e'_5
C : Type u₁
inst✝³ : Category C
D : Type u₂
inst✝² : Category D
E : Type u₃
inst✝¹ : Category E
F G : C ⥤ D
inst✝ : ReflectsEpimorphisms F
α : F ≅ G
X Y : C
f : X ⟶ Y
h : Epi (G.map f)
this : Epi (G.map f ≫ (α.app Y).inv)
⊢ F.map f = (α.app X).hom ≫ G.map f ≫ (α.app Y).inv
Theorem: MeasureTheory.SimpleFunc.setToSimpleFunc_eq_sum_filter
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: symm
state_before: α : Type u_1
E : Type ?u.162681
F : Type u_2
F' : Type u_3
G : Type ?u.162690
𝕜 : Type ?u.162693
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F →L[ℝ] F'
f : α →ₛ F
⊢ setToSimpleFunc T f = ∑ x in filter (fun x => x ≠ 0) (SimpleFunc.range f), ↑(T (↑f ⁻¹' {x})) x

tactic: refine' sum_filter_of_ne fun x _ => mt fun hx0 => _
state_before: α : Type u_1
E : Type ?u.162681
F : Type u_2
F' : Type u_3
G : Type ?u.162690
𝕜 : Type ?u.162693
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F →L[ℝ] F'
f : α →ₛ F
⊢ ∑ x in filter (fun x => x ≠ 0) (SimpleFunc.range f), ↑(T (↑f ⁻¹' {x})) x = setToSimpleFunc T f

tactic: rw [hx0]
state_before: α : Type u_1
E : Type ?u.162681
F : Type u_2
F' : Type u_3
G : Type ?u.162690
𝕜 : Type ?u.162693
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F →L[ℝ] F'
f : α →ₛ F
x : F
x✝ : x ∈ SimpleFunc.range f
hx0 : x = 0
⊢ ↑(T (↑f ⁻¹' {x})) x = 0

tactic: exact ContinuousLinearMap.map_zero _
state_before: α : Type u_1
E : Type ?u.162681
F : Type u_2
F' : Type u_3
G : Type ?u.162690
𝕜 : Type ?u.162693
p : ℝ≥0∞
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : NormedSpace ℝ E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : NormedSpace ℝ F
inst✝² : NormedAddCommGroup F'
inst✝¹ : NormedSpace ℝ F'
inst✝ : NormedAddCommGroup G
m✝ : MeasurableSpace α
μ : Measure α
m : MeasurableSpace α
T : Set α → F →L[ℝ] F'
f : α →ₛ F
x : F
x✝ : x ∈ SimpleFunc.range f
hx0 : x = 0
⊢ ↑(T (↑f ⁻¹' {0})) 0 = 0
Theorem: IsUpperSet.div_left
File: Mathlib/Algebra/Order/UpperLower.lean

tactic: rw [div_eq_mul_inv]
state_before: α : Type u_1
inst✝ : OrderedCommGroup α
s t : Set α
a : α
ht : IsUpperSet t
⊢ IsLowerSet (s / t)

tactic: exact ht.inv.mul_left
state_before: α : Type u_1
inst✝ : OrderedCommGroup α
s t : Set α
a : α
ht : IsUpperSet t
⊢ IsLowerSet (s * t⁻¹)
Theorem: mem_affineSpan_iff_eq_affineCombination
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: constructor
state_before: k : Type u_2
V : Type u_4
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_1
inst✝ : Nontrivial k
p1 : P
p : ι → P
⊢ p1 ∈ affineSpan k (Set.range p) ↔ ∃ s w x, p1 = ↑(Finset.affineCombination k s p) w

tactic: exact eq_affineCombination_of_mem_affineSpan
state_before: case mp
k : Type u_2
V : Type u_4
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_1
inst✝ : Nontrivial k
p1 : P
p : ι → P
⊢ p1 ∈ affineSpan k (Set.range p) → ∃ s w x, p1 = ↑(Finset.affineCombination k s p) w

tactic: rintro ⟨s, w, hw, rfl⟩
state_before: case mpr
k : Type u_2
V : Type u_4
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_1
inst✝ : Nontrivial k
p1 : P
p : ι → P
⊢ (∃ s w x, p1 = ↑(Finset.affineCombination k s p) w) → p1 ∈ affineSpan k (Set.range p)

tactic: exact affineCombination_mem_affineSpan hw p
state_before: case mpr.intro.intro.intro
k : Type u_2
V : Type u_4
P : Type u_3
inst✝⁴ : Ring k
inst✝³ : AddCommGroup V
inst✝² : Module k V
inst✝¹ : AffineSpace V P
ι : Type u_1
inst✝ : Nontrivial k
p : ι → P
s : Finset ι
w : ι → k
hw : ∑ i in s, w i = 1
⊢ ↑(Finset.affineCombination k s p) w ∈ affineSpan k (Set.range p)
Theorem: Std.RBNode.mem_toList
File: Std/Data/RBMap/Lemmas.lean

tactic: induction t <;> simp [*, or_left_comm]
state_before: α : Type u_1
x : α
t : RBNode α
⊢ x ∈ toList t ↔ x ∈ t
Theorem: Nat.add_le_to_le_sub
File: Std/Data/Nat/Lemmas.lean

tactic: rw [← Nat.add_sub_cancel x k, Nat.sub_le_sub_right_iff h, Nat.add_sub_cancel]
state_before: x y k : Nat
h : k ≤ y
⊢ x + k ≤ y ↔ x ≤ y - k
Theorem: Set.range_extend
File: Mathlib/Data/Set/Function.lean

tactic: refine' (range_extend_subset _ _ _).antisymm _
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.4909
π : α → Type ?u.4914
f : α → β
hf : Injective f
g : α → γ
g' : β → γ
⊢ range (extend f g g') = range g ∪ g' '' range fᶜ

tactic: rintro z (⟨x, rfl⟩ | ⟨y, hy, rfl⟩)
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.4909
π : α → Type ?u.4914
f : α → β
hf : Injective f
g : α → γ
g' : β → γ
⊢ range g ∪ g' '' range fᶜ ⊆ range (extend f g g')

tactic: exacts [⟨f x, hf.extend_apply _ _ _⟩, ⟨y, extend_apply' _ _ _ hy⟩]
state_before: case inl.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.4909
π : α → Type ?u.4914
f : α → β
hf : Injective f
g : α → γ
g' : β → γ
x : α
⊢ g x ∈ range (extend f g g')

case inr.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.4909
π : α → Type ?u.4914
f : α → β
hf : Injective f
g : α → γ
g' : β → γ
y : β
hy : y ∈ range fᶜ
⊢ g' y ∈ range (extend f g g')
Theorem: FractionalIdeal.one_le
File: Mathlib/RingTheory/FractionalIdeal.lean

tactic: rw [← coe_le_coe, coe_one, Submodule.one_le, mem_coe]
state_before: R : Type u_1
inst✝² : CommRing R
S : Submonoid R
P : Type u_2
inst✝¹ : CommRing P
inst✝ : Algebra R P
loc : IsLocalization S P
I : FractionalIdeal S P
⊢ 1 ≤ I ↔ 1 ∈ I
Theorem: Int.shiftr_eq_div_pow
File: Mathlib/Data/Int/Bitwise.lean

tactic: rw [shiftr_coe_nat, Nat.shiftr_eq_div_pow _ _]
state_before: m n : ℕ
⊢ shiftr ↑m ↑n = ↑m / ↑(2 ^ n)

tactic: simp
state_before: m n : ℕ
⊢ ↑(m / 2 ^ n) = ↑m / ↑(2 ^ n)

tactic: rw [shiftr_negSucc, negSucc_ediv, Nat.shiftr_eq_div_pow]
state_before: m n : ℕ
⊢ shiftr -[m+1] ↑n = -[m+1] / ↑(2 ^ n)

tactic: rfl
state_before: m n : ℕ
⊢ -[m / 2 ^ n+1] = -(div ↑m ↑(2 ^ n) + 1)

case H
m n : ℕ
⊢ 0 < ↑(2 ^ n)

tactic: exact ofNat_lt_ofNat_of_lt (pow_pos (by decide) _)
state_before: case H
m n : ℕ
⊢ 0 < ↑(2 ^ n)

tactic: decide
state_before: m n : ℕ
⊢ 0 < 2
Theorem: Ordinal.opow_principal_add_of_principal_add
File: Mathlib/SetTheory/Ordinal/Principal.lean

tactic: rcases principal_add_iff_zero_or_omega_opow.1 ha with (rfl | ⟨c, rfl⟩)
state_before: a : Ordinal
ha : Principal (fun x x_1 => x + x_1) a
b : Ordinal
⊢ Principal (fun x x_1 => x + x_1) (a ^ b)

tactic: rcases eq_or_ne b 0 with (rfl | hb)
state_before: case inl
b : Ordinal
ha : Principal (fun x x_1 => x + x_1) 0
⊢ Principal (fun x x_1 => x + x_1) (0 ^ b)

tactic: rw [opow_zero]
state_before: case inl.inl
ha : Principal (fun x x_1 => x + x_1) 0
⊢ Principal (fun x x_1 => x + x_1) (0 ^ 0)

tactic: exact principal_add_one
state_before: case inl.inl
ha : Principal (fun x x_1 => x + x_1) 0
⊢ Principal (fun x x_1 => x + x_1) 1

tactic: rwa [zero_opow hb]
state_before: case inl.inr
b : Ordinal
ha : Principal (fun x x_1 => x + x_1) 0
hb : b ≠ 0
⊢ Principal (fun x x_1 => x + x_1) (0 ^ b)

tactic: rw [← opow_mul]
state_before: case inr.intro
b c : Ordinal
ha : Principal (fun x x_1 => x + x_1) (ω ^ c)
⊢ Principal (fun x x_1 => x + x_1) ((ω ^ c) ^ b)

tactic: exact principal_add_omega_opow _
state_before: case inr.intro
b c : Ordinal
ha : Principal (fun x x_1 => x + x_1) (ω ^ c)
⊢ Principal (fun x x_1 => x + x_1) (ω ^ (c * b))
Theorem: Nat.gcd_eq_gcd_ab
File: Mathlib/Data/Int/GCD.lean

tactic: have := @xgcd_aux_P x y x y 1 0 0 1 (by simp [P]) (by simp [P])
state_before: x y : ℕ
⊢ ↑(gcd x y) = ↑x * gcdA x y + ↑y * gcdB x y

tactic: rwa [xgcd_aux_val, xgcd_val] at this
state_before: x y : ℕ
this : Nat.P x y (xgcdAux x 1 0 y 0 1)
⊢ ↑(gcd x y) = ↑x * gcdA x y + ↑y * gcdB x y

tactic: simp [P]
state_before: x y : ℕ
⊢ Nat.P x y (x, 1, 0)

tactic: simp [P]
state_before: x y : ℕ
⊢ Nat.P x y (y, 0, 1)
Theorem: Interval.disjoint_coe
File: Mathlib/Order/Interval.lean

tactic: classical
  rw [disjoint_iff_inf_le, disjoint_iff_inf_le, ← coe_subset_coe, coe_inf]
  rfl
state_before: α : Type u_1
β : Type ?u.41709
γ : Type ?u.41712
δ : Type ?u.41715
ι : Sort ?u.41718
κ : ι → Sort ?u.41723
inst✝ : Lattice α
s t : Interval α
⊢ Disjoint ↑s ↑t ↔ Disjoint s t

tactic: rw [disjoint_iff_inf_le, disjoint_iff_inf_le, ← coe_subset_coe, coe_inf]
state_before: α : Type u_1
β : Type ?u.41709
γ : Type ?u.41712
δ : Type ?u.41715
ι : Sort ?u.41718
κ : ι → Sort ?u.41723
inst✝ : Lattice α
s t : Interval α
⊢ Disjoint ↑s ↑t ↔ Disjoint s t

tactic: rfl
state_before: α : Type u_1
β : Type ?u.41709
γ : Type ?u.41712
δ : Type ?u.41715
ι : Sort ?u.41718
κ : ι → Sort ?u.41723
inst✝ : Lattice α
s t : Interval α
⊢ ↑s ⊓ ↑t ≤ ⊥ ↔ ↑s ∩ ↑t ⊆ ↑⊥
Theorem: CategoryTheory.idCoverPreserving
File: Mathlib/CategoryTheory/Sites/CoverPreserving.lean

tactic: simpa using hS
state_before: C : Type u₁
inst✝² : Category C
D : Type u₂
inst✝¹ : Category D
A : Type u₃
inst✝ : Category A
J : GrothendieckTopology C
K : GrothendieckTopology D
L : GrothendieckTopology A
U✝ : C
S✝ : Sieve U✝
hS : S✝ ∈ GrothendieckTopology.sieves J U✝
⊢ Sieve.functorPushforward (𝟭 C) S✝ ∈ GrothendieckTopology.sieves J ((𝟭 C).obj U✝)
Theorem: IsHomeomorphicTrivialFiberBundle.continuous_proj
File: Mathlib/Topology/FiberBundle/IsHomeomorphicTrivialBundle.lean

tactic: obtain ⟨e, rfl⟩ := h.proj_eq
state_before: B : Type u_1
F : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : TopologicalSpace Z
proj : Z → B
h : IsHomeomorphicTrivialFiberBundle F proj
⊢ Continuous proj

tactic: exact continuous_fst.comp e.continuous
state_before: case intro
B : Type u_1
F : Type u_2
Z : Type u_3
inst✝² : TopologicalSpace B
inst✝¹ : TopologicalSpace F
inst✝ : TopologicalSpace Z
e : Z ≃ₜ B × F
h : IsHomeomorphicTrivialFiberBundle F (Prod.fst ∘ ↑e)
⊢ Continuous (Prod.fst ∘ ↑e)
Theorem: disjoint_lift'_closure_nhds
File: Mathlib/Topology/Separation.lean

tactic: simp [hxy, nhds_neBot.ne] at h
state_before: α : Type u
β : Type v
inst✝¹ : TopologicalSpace α
inst✝ : T25Space α
x y : α
h : Disjoint (Filter.lift' (𝓝 x) closure) (Filter.lift' (𝓝 y) closure)
hxy : x = y
⊢ False
Theorem: Sum.Lex.mono
File: Mathlib/Data/Sum/Basic.lean

tactic: cases h
state_before: α : Type u
α' : Type w
β : Type v
β' : Type x
γ : Type ?u.31025
δ : Type ?u.31028
r r₁ r₂ : α → α → Prop
s s₁ s₂ : β → β → Prop
a a₁ a₂ : α
b b₁ b₂ : β
x y : α ⊕ β
hr : ∀ (a b : α), r₁ a b → r₂ a b
hs : ∀ (a b : β), s₁ a b → s₂ a b
h : Lex r₁ s₁ x y
⊢ Lex r₂ s₂ x y

tactic: exact Lex.inl (hr _ _ ‹_›)
state_before: case inl
α : Type u
α' : Type w
β : Type v
β' : Type x
γ : Type ?u.31025
δ : Type ?u.31028
r r₁ r₂ : α → α → Prop
s s₁ s₂ : β → β → Prop
a a₁ a₂ : α
b b₁ b₂ : β
hr : ∀ (a b : α), r₁ a b → r₂ a b
hs : ∀ (a b : β), s₁ a b → s₂ a b
a₁✝ a₂✝ : α
h✝ : r₁ a₁✝ a₂✝
⊢ Lex r₂ s₂ (inl a₁✝) (inl a₂✝)

tactic: exact Lex.inr (hs _ _ ‹_›)
state_before: case inr
α : Type u
α' : Type w
β : Type v
β' : Type x
γ : Type ?u.31025
δ : Type ?u.31028
r r₁ r₂ : α → α → Prop
s s₁ s₂ : β → β → Prop
a a₁ a₂ : α
b b₁ b₂ : β
hr : ∀ (a b : α), r₁ a b → r₂ a b
hs : ∀ (a b : β), s₁ a b → s₂ a b
b₁✝ b₂✝ : β
h✝ : s₁ b₁✝ b₂✝
⊢ Lex r₂ s₂ (inr b₁✝) (inr b₂✝)

tactic: exact Lex.sep _ _
state_before: case sep
α : Type u
α' : Type w
β : Type v
β' : Type x
γ : Type ?u.31025
δ : Type ?u.31028
r r₁ r₂ : α → α → Prop
s s₁ s₂ : β → β → Prop
a a₁ a₂ : α
b b₁ b₂ : β
hr : ∀ (a b : α), r₁ a b → r₂ a b
hs : ∀ (a b : β), s₁ a b → s₂ a b
a✝ : α
b✝ : β
⊢ Lex r₂ s₂ (inl a✝) (inr b✝)
Theorem: CategoryTheory.Limits.Multifork.app_right_eq_ι_comp_snd
File: Mathlib/CategoryTheory/Limits/Shapes/Multiequalizer.lean

tactic: rw [← K.w (WalkingMulticospan.Hom.snd b)]
state_before: C : Type u
inst✝ : Category C
I : MulticospanIndex C
K : Multifork I
b : I.R
⊢ K.π.app (WalkingMulticospan.right b) = ι K (MulticospanIndex.sndTo I b) ≫ MulticospanIndex.snd I b

tactic: rfl
state_before: C : Type u
inst✝ : Category C
I : MulticospanIndex C
K : Multifork I
b : I.R
⊢ K.π.app (WalkingMulticospan.left (MulticospanIndex.sndTo I b)) ≫
      (MulticospanIndex.multicospan I).map (WalkingMulticospan.Hom.snd b) =
    ι K (MulticospanIndex.sndTo I b) ≫ MulticospanIndex.snd I b
Theorem: mem_emetric_ball_one_iff
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: rw [EMetric.mem_ball, edist_eq_coe_nnnorm']
state_before: 𝓕 : Type ?u.330243
𝕜 : Type ?u.330246
α : Type ?u.330249
ι : Type ?u.330252
κ : Type ?u.330255
E : Type u_1
F : Type ?u.330261
G : Type ?u.330264
inst✝² : SeminormedGroup E
inst✝¹ : SeminormedGroup F
inst✝ : SeminormedGroup G
s : Set E
a a₁ a₂ b b₁ b₂ : E
r✝ r₁ r₂ : ℝ
r : ℝ≥0∞
⊢ a ∈ EMetric.ball 1 r ↔ ↑‖a‖₊ < r
Theorem: Polynomial.reflect_sub
File: Mathlib/Data/Polynomial/Reverse.lean

tactic: rw [sub_eq_add_neg, sub_eq_add_neg, reflect_add, reflect_neg]
state_before: R : Type u_1
inst✝ : Ring R
f g : R[X]
N : ℕ
⊢ reflect N (f - g) = reflect N f - reflect N g
Theorem: List.countp_cons_of_neg
File: Mathlib/Data/List/Count.lean

tactic: change (bif _ then _ else _) = countp.go _ _ _
state_before: α : Type u_1
l✝ : List α
p q : α → Bool
a : α
l : List α
pa : ¬p a = true
⊢ countp p (a :: l) = countp p l

tactic: rw [Bool.of_not_eq_true pa]
state_before: α : Type u_1
l✝ : List α
p q : α → Bool
a : α
l : List α
pa : ¬p a = true
⊢ (bif p a then countp.go p l (0 + 1) else countp.go p l 0) = countp.go p l 0

tactic: rfl
state_before: α : Type u_1
l✝ : List α
p q : α → Bool
a : α
l : List α
pa : ¬p a = true
⊢ (bif false then countp.go p l (0 + 1) else countp.go p l 0) = countp.go p l 0
Theorem: ProjectiveSpectrum.isOpen_iff
File: Mathlib/AlgebraicGeometry/ProjectiveSpectrum/Topology.lean

tactic: simp only [@eq_comm _ (Uᶜ)]
state_before: R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
U : Set (ProjectiveSpectrum 𝒜)
⊢ IsOpen U ↔ ∃ s, Uᶜ = zeroLocus 𝒜 s

tactic: rfl
state_before: R : Type u_2
A : Type u_1
inst✝³ : CommSemiring R
inst✝² : CommRing A
inst✝¹ : Algebra R A
𝒜 : ℕ → Submodule R A
inst✝ : GradedAlgebra 𝒜
U : Set (ProjectiveSpectrum 𝒜)
⊢ IsOpen U ↔ ∃ s, zeroLocus 𝒜 s = Uᶜ
Theorem: VitaliFamily.ae_tendsto_rnDeriv_of_absolutelyContinuous
File: Mathlib/MeasureTheory/Covering/Differentiation.lean

tactic: have A : (μ.withDensity (v.limRatioMeas hρ)).rnDeriv μ =ᵐ[μ] v.limRatioMeas hρ :=
  rnDeriv_withDensity μ (v.limRatioMeas_measurable hρ)
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.5427188
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))

tactic: rw [v.withDensity_limRatioMeas_eq hρ] at A
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.5427188
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
A : rnDeriv (withDensity μ (limRatioMeas v hρ)) μ =ᶠ[ae μ] limRatioMeas v hρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))

tactic: filter_upwards [v.ae_tendsto_limRatioMeas hρ, A] with _ _ h'x
state_before: α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.5427188
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
A : rnDeriv ρ μ =ᶠ[ae μ] limRatioMeas v hρ
⊢ ∀ᵐ (x : α) ∂μ, Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v x) (𝓝 (rnDeriv ρ μ x))

tactic: rwa [h'x]
state_before: case h
α : Type u_1
inst✝⁵ : MetricSpace α
m0 : MeasurableSpace α
μ : MeasureTheory.Measure α
v : VitaliFamily μ
E : Type ?u.5427188
inst✝⁴ : NormedAddCommGroup E
inst✝³ : SecondCountableTopology α
inst✝² : BorelSpace α
inst✝¹ : IsLocallyFiniteMeasure μ
ρ : MeasureTheory.Measure α
inst✝ : IsLocallyFiniteMeasure ρ
hρ : ρ ≪ μ
A : rnDeriv ρ μ =ᶠ[ae μ] limRatioMeas v hρ
a✝¹ : α
a✝ : Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a✝¹) (𝓝 (limRatioMeas v hρ a✝¹))
h'x : rnDeriv ρ μ a✝¹ = limRatioMeas v hρ a✝¹
⊢ Tendsto (fun a => ↑↑ρ a / ↑↑μ a) (filterAt v a✝¹) (𝓝 (rnDeriv ρ μ a✝¹))
Theorem: Stream'.WSeq.exists_dropn_of_mem
File: Mathlib/Data/Seq/WSeq.lean

tactic: rcases (head_terminates_iff _).1 ⟨⟨_, h⟩⟩ with ⟨⟨o, om⟩⟩
state_before: α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: have := Computation.mem_unique (Computation.mem_map _ om) h
state_before: case mk.intro
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
o : Option (α × WSeq α)
om : o ∈ destruct (drop s n)
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: cases' o with o
state_before: case mk.intro
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
o : Option (α × WSeq α)
om : o ∈ destruct (drop s n)
this : Prod.fst <$> o = some a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: injection this with i
state_before: case mk.intro.some
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
o : α × WSeq α
om : some o ∈ destruct (drop s n)
this : Prod.fst <$> some o = some a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: cases' o with a' s'
state_before: case mk.intro.some
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
o : α × WSeq α
om : some o ∈ destruct (drop s n)
i : o.fst = a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: dsimp at i
state_before: case mk.intro.some.mk
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
a' : α
s' : WSeq α
om : some (a', s') ∈ destruct (drop s n)
i : (a', s').fst = a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: rw [i] at om
state_before: case mk.intro.some.mk
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
a' : α
s' : WSeq α
om : some (a', s') ∈ destruct (drop s n)
i : a' = a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: exact ⟨_, om⟩
state_before: case mk.intro.some.mk
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
a' : α
s' : WSeq α
om : some (a, s') ∈ destruct (drop s n)
i : a' = a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)

tactic: injection this
state_before: case mk.intro.none
α : Type u
β : Type v
γ : Type w
s : WSeq α
a : α
h✝ : a ∈ s
n : ℕ
h : some a ∈ get? s n
om : none ∈ destruct (drop s n)
this : Prod.fst <$> none = some a
⊢ ∃ s', some (a, s') ∈ destruct (drop s n)
Theorem: Set.Icc_top
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: simp [← Ici_inter_Iic]
state_before: α : Type u_1
β : Type ?u.53924
inst✝¹ : Preorder α
inst✝ : OrderTop α
a : α
⊢ Icc a ⊤ = Ici a
Theorem: LinearIsometry.norm_iteratedFDeriv_comp_left
File: Mathlib/Analysis/Calculus/ContDiff.lean

tactic: simp only [← iteratedFDerivWithin_univ]
state_before: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.266576
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
f : E → F
g : F →ₗᵢ[𝕜] G
hf : ContDiff 𝕜 n f
x : E
i : ℕ
hi : ↑i ≤ n
⊢ ‖iteratedFDeriv 𝕜 i (↑g ∘ f) x‖ = ‖iteratedFDeriv 𝕜 i f x‖

tactic: exact g.norm_iteratedFDerivWithin_comp_left hf.contDiffOn uniqueDiffOn_univ (mem_univ x) hi
state_before: 𝕜 : Type u_1
inst✝¹⁰ : NontriviallyNormedField 𝕜
D : Type uD
inst✝⁹ : NormedAddCommGroup D
inst✝⁸ : NormedSpace 𝕜 D
E : Type uE
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type uF
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type uG
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
X : Type ?u.266576
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f✝ f₁ : E → F
g✝ : F → G
x✝ x₀ : E
c : F
b : E × F → G
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
f : E → F
g : F →ₗᵢ[𝕜] G
hf : ContDiff 𝕜 n f
x : E
i : ℕ
hi : ↑i ≤ n
⊢ ‖iteratedFDerivWithin 𝕜 i (↑g ∘ f) univ x‖ = ‖iteratedFDerivWithin 𝕜 i f univ x‖
Theorem: ENNReal.inv_three_add_inv_three
File: Mathlib/Data/Real/ENNReal.lean

tactic: ring
state_before: α : Type ?u.313809
β : Type ?u.313812
a b c d : ℝ≥0∞
r p q : ℝ≥0
⊢ 3⁻¹ + 3⁻¹ + 3⁻¹ = 3 * 3⁻¹

tactic: decide
state_before: α : Type ?u.313809
β : Type ?u.313812
a b c d : ℝ≥0∞
r p q : ℝ≥0
⊢ 3 ≠ 0