tasksource/leandojo huggingface dataset:
Theorem: HasFDerivAt.iterate
File: Mathlib/Analysis/Calculus/FDeriv/Comp.lean

tactic: refine' HasFDerivAtFilter.iterate hf _ hx n
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type ?u.140011
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.140106
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.140201
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f✝ f₀ f₁ g : E → F
f'✝ f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
f : E → E
f' : E →L[𝕜] E
hf : HasFDerivAt f f' x
hx : f x = x
n : ℕ
⊢ HasFDerivAt (f^[n]) (f' ^ n) x

tactic: have := hf.continuousAt
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type ?u.140011
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.140106
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.140201
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f✝ f₀ f₁ g : E → F
f'✝ f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
f : E → E
f' : E →L[𝕜] E
hf : HasFDerivAt f f' x
hx : f x = x
n : ℕ
⊢ Tendsto f (𝓝 x) (𝓝 x)

tactic: unfold ContinuousAt at this
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type ?u.140011
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.140106
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.140201
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f✝ f₀ f₁ g : E → F
f'✝ f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
f : E → E
f' : E →L[𝕜] E
hf : HasFDerivAt f f' x
hx : f x = x
n : ℕ
this : ContinuousAt f x
⊢ Tendsto f (𝓝 x) (𝓝 x)

tactic: convert this
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type ?u.140011
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.140106
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.140201
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f✝ f₀ f₁ g : E → F
f'✝ f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
f : E → E
f' : E →L[𝕜] E
hf : HasFDerivAt f f' x
hx : f x = x
n : ℕ
this : Tendsto f (𝓝 x) (𝓝 (f x))
⊢ Tendsto f (𝓝 x) (𝓝 x)

tactic: exact hx.symm
state_before: case h.e'_5.h.e'_3
𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type ?u.140011
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type ?u.140106
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type ?u.140201
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f✝ f₀ f₁ g : E → F
f'✝ f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
f : E → E
f' : E →L[𝕜] E
hf : HasFDerivAt f f' x
hx : f x = x
n : ℕ
this : Tendsto f (𝓝 x) (𝓝 (f x))
⊢ x = f x
Theorem: MeasureTheory.set_integral_dirac
File: Mathlib/MeasureTheory/Integral/Bochner.lean

tactic: rw [restrict_dirac]
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1496551
𝕜 : Type ?u.1496554
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace ℝ E
inst✝¹¹ : CompleteSpace E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : SMulCommClass ℝ 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace ℝ F
inst✝⁵ : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1499245
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
ν : Measure α
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSingletonClass α
f : α → E
a : α
s : Set α
inst✝ : Decidable (a ∈ s)
⊢ (∫ (x : α) in s, f x ∂Measure.dirac a) = if a ∈ s then f a else 0

tactic: split_ifs
state_before: α : Type u_1
E : Type u_2
F : Type ?u.1496551
𝕜 : Type ?u.1496554
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace ℝ E
inst✝¹¹ : CompleteSpace E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : SMulCommClass ℝ 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace ℝ F
inst✝⁵ : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1499245
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
ν : Measure α
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSingletonClass α
f : α → E
a : α
s : Set α
inst✝ : Decidable (a ∈ s)
⊢ (∫ (x : α), f x ∂if a ∈ s then Measure.dirac a else 0) = if a ∈ s then f a else 0

tactic: exact integral_dirac _ _
state_before: case inl
α : Type u_1
E : Type u_2
F : Type ?u.1496551
𝕜 : Type ?u.1496554
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace ℝ E
inst✝¹¹ : CompleteSpace E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : SMulCommClass ℝ 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace ℝ F
inst✝⁵ : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1499245
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
ν : Measure α
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSingletonClass α
f : α → E
a : α
s : Set α
inst✝ : Decidable (a ∈ s)
h✝ : a ∈ s
⊢ (∫ (x : α), f x ∂Measure.dirac a) = f a

tactic: exact integral_zero_measure _
state_before: case inr
α : Type u_1
E : Type u_2
F : Type ?u.1496551
𝕜 : Type ?u.1496554
inst✝¹³ : NormedAddCommGroup E
inst✝¹² : NormedSpace ℝ E
inst✝¹¹ : CompleteSpace E
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NormedSpace 𝕜 E
inst✝⁸ : SMulCommClass ℝ 𝕜 E
inst✝⁷ : NormedAddCommGroup F
inst✝⁶ : NormedSpace ℝ F
inst✝⁵ : CompleteSpace F
f✝ g : α → E
m : MeasurableSpace α
μ : Measure α
X : Type ?u.1499245
inst✝⁴ : TopologicalSpace X
inst✝³ : FirstCountableTopology X
ν : Measure α
inst✝² : MeasurableSpace α
inst✝¹ : MeasurableSingletonClass α
f : α → E
a : α
s : Set α
inst✝ : Decidable (a ∈ s)
h✝ : ¬a ∈ s
⊢ (∫ (x : α), f x ∂0) = 0
Theorem: SimpleGraph.Subgraph.deleteVerts_inter_verts_left_eq
File: Mathlib/Combinatorics/SimpleGraph/Subgraph.lean

tactic: ext <;> simp (config := { contextual := true }) [imp_false]
state_before: ι : Sort ?u.276164
V : Type u
W : Type v
G : SimpleGraph V
G' : Subgraph G
s : Set V
⊢ deleteVerts G' (G'.verts ∩ s) = deleteVerts G' s
Theorem: TrivSqZeroExt.snd_exp
File: Mathlib/Analysis/NormedSpace/TrivSqZeroExt.lean

tactic: rw [exp_def, snd_add, snd_inl, snd_inr, zero_add]
state_before: 𝕜 : Type u_3
R : Type u_1
M : Type u_2
inst✝¹⁵ : IsROrC 𝕜
inst✝¹⁴ : NormedCommRing R
inst✝¹³ : AddCommGroup M
inst✝¹² : NormedAlgebra 𝕜 R
inst✝¹¹ : Module R M
inst✝¹⁰ : Module Rᵐᵒᵖ M
inst✝⁹ : IsCentralScalar R M
inst✝⁸ : Module 𝕜 M
inst✝⁷ : IsScalarTower 𝕜 R M
inst✝⁶ : TopologicalSpace M
inst✝⁵ : TopologicalRing R
inst✝⁴ : TopologicalAddGroup M
inst✝³ : ContinuousSMul R M
inst✝² : CompleteSpace R
inst✝¹ : T2Space R
inst✝ : T2Space M
x : tsze R M
⊢ snd (exp 𝕜 x) = exp 𝕜 (fst x) • snd x
Theorem: Nat.testBit_bitwise'
File: Mathlib/Init/Data/Nat/Bitwise.lean

tactic: revert m n
state_before: f : Bool → Bool → Bool
h : f false false = false
m n k : ℕ
⊢ testBit (bitwise' f m n) k = f (testBit m k) (testBit n k)

tactic: induction' k with k IH <;>
intros m n <;>
apply bitCasesOn m <;> intros a m' <;>
apply bitCasesOn n <;> intros b n' <;>
rw [bitwise'_bit h]
state_before: f : Bool → Bool → Bool
h : f false false = false
k : ℕ
⊢ ∀ (m n : ℕ), testBit (bitwise' f m n) k = f (testBit m k) (testBit n k)

tactic: simp [testBit_zero]
state_before: case zero
f : Bool → Bool → Bool
h : f false false = false
m n : ℕ
a : Bool
m' : ℕ
b : Bool
n' : ℕ
⊢ testBit (bit (f a b) (bitwise' f m' n')) zero = f (testBit (bit a m') zero) (testBit (bit b n') zero)

tactic: simp [testBit_succ, IH]
state_before: case succ
f : Bool → Bool → Bool
h : f false false = false
k : ℕ
IH : ∀ (m n : ℕ), testBit (bitwise' f m n) k = f (testBit m k) (testBit n k)
m n : ℕ
a : Bool
m' : ℕ
b : Bool
n' : ℕ
⊢ testBit (bit (f a b) (bitwise' f m' n')) (succ k) = f (testBit (bit a m') (succ k)) (testBit (bit b n') (succ k))
Theorem: Bool.xor_not_left
File: Mathlib/Data/Bool/Basic.lean

tactic: decide
state_before: ⊢ ∀ (a : Bool), xor (!a) a = true
Theorem: exists_continuous_forall_mem_convex_of_local
File: Mathlib/Analysis/Convex/PartitionOfUnity.lean

tactic: choose U hU g hgc hgt using H
state_before: ι : Type ?u.6042
X : Type u_2
E : Type u_1
inst✝⁷ : TopologicalSpace X
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module ℝ E
inst✝⁴ : NormalSpace X
inst✝³ : ParacompactSpace X
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul ℝ E
t : X → Set E
ht : ∀ (x : X), Convex ℝ (t x)
H : ∀ (x : X), ∃ U, U ∈ 𝓝 x ∧ ∃ g, ContinuousOn g U ∧ ∀ (y : X), y ∈ U → g y ∈ t y
⊢ ∃ g, ∀ (x : X), ↑g x ∈ t x

tactic: obtain ⟨f, hf⟩ := PartitionOfUnity.exists_isSubordinate isClosed_univ (fun x => interior (U x))
  (fun x => isOpen_interior) fun x _ => mem_iUnion.2 ⟨x, mem_interior_iff_mem_nhds.2 (hU x)⟩
state_before: ι : Type ?u.6042
X : Type u_2
E : Type u_1
inst✝⁷ : TopologicalSpace X
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module ℝ E
inst✝⁴ : NormalSpace X
inst✝³ : ParacompactSpace X
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul ℝ E
t : X → Set E
ht : ∀ (x : X), Convex ℝ (t x)
U : X → Set X
hU : ∀ (x : X), U x ∈ 𝓝 x
g : X → X → E
hgc : ∀ (x : X), ContinuousOn (g x) (U x)
hgt : ∀ (x y : X), y ∈ U x → g x y ∈ t y
⊢ ∃ g, ∀ (x : X), ↑g x ∈ t x

tactic: refine' ⟨⟨fun x => ∑ᶠ i, f i x • g i x,
  hf.continuous_finsum_smul (fun i => isOpen_interior) fun i => (hgc i).mono interior_subset⟩,
  fun x => f.finsum_smul_mem_convex (mem_univ x) (fun i hi => hgt _ _ _) (ht _)⟩
state_before: case intro
ι : Type ?u.6042
X : Type u_2
E : Type u_1
inst✝⁷ : TopologicalSpace X
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module ℝ E
inst✝⁴ : NormalSpace X
inst✝³ : ParacompactSpace X
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul ℝ E
t : X → Set E
ht : ∀ (x : X), Convex ℝ (t x)
U : X → Set X
hU : ∀ (x : X), U x ∈ 𝓝 x
g : X → X → E
hgc : ∀ (x : X), ContinuousOn (g x) (U x)
hgt : ∀ (x y : X), y ∈ U x → g x y ∈ t y
f : PartitionOfUnity X X univ
hf : PartitionOfUnity.IsSubordinate f fun x => interior (U x)
⊢ ∃ g, ∀ (x : X), ↑g x ∈ t x

tactic: exact interior_subset (hf _ <| subset_closure hi)
state_before: case intro
ι : Type ?u.6042
X : Type u_2
E : Type u_1
inst✝⁷ : TopologicalSpace X
inst✝⁶ : AddCommGroup E
inst✝⁵ : Module ℝ E
inst✝⁴ : NormalSpace X
inst✝³ : ParacompactSpace X
inst✝² : TopologicalSpace E
inst✝¹ : ContinuousAdd E
inst✝ : ContinuousSMul ℝ E
t : X → Set E
ht : ∀ (x : X), Convex ℝ (t x)
U : X → Set X
hU : ∀ (x : X), U x ∈ 𝓝 x
g : X → X → E
hgc : ∀ (x : X), ContinuousOn (g x) (U x)
hgt : ∀ (x y : X), y ∈ U x → g x y ∈ t y
f : PartitionOfUnity X X univ
hf : PartitionOfUnity.IsSubordinate f fun x => interior (U x)
x i : X
hi : ↑(PartitionOfUnity.toFun univ f i) x ≠ 0
⊢ x ∈ U i
Theorem: Relation.reflTransGen_iff_eq_or_transGen
File: Mathlib/Logic/Relation.lean

tactic: refine' ⟨fun h ↦ _, fun h ↦ _⟩
state_before: α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a b c d : α
⊢ ReflTransGen r a b ↔ b = a ∨ TransGen r a b

tactic: cases' h with c _ hac hcb
state_before: case refine'_1
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a b c d : α
h : ReflTransGen r a b
⊢ b = a ∨ TransGen r a b

tactic: exact Or.inl rfl
state_before: case refine'_1.refl
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a c d : α
⊢ a = a ∨ TransGen r a a

tactic: exact Or.inr (TransGen.tail' hac hcb)
state_before: case refine'_1.tail
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a b c✝ d c : α
hac : ReflTransGen r a c
hcb : r c b
⊢ b = a ∨ TransGen r a b

tactic: rcases h with (rfl | h)
state_before: case refine'_2
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a b c d : α
h : b = a ∨ TransGen r a b
⊢ ReflTransGen r a b

tactic: rfl
state_before: case refine'_2.inl
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
b c d : α
⊢ ReflTransGen r b b

tactic: exact h.to_reflTransGen
state_before: case refine'_2.inr
α : Type u_1
β : Type ?u.24500
γ : Type ?u.24503
δ : Type ?u.24506
r : α → α → Prop
a b c d : α
h : TransGen r a b
⊢ ReflTransGen r a b
Theorem: Real.volume_Iio
File: Mathlib/MeasureTheory/Measure/Lebesgue/Basic.lean

tactic: simp
state_before: ι : Type ?u.248450
inst✝ : Fintype ι
a : ℝ
n : ℕ
⊢ ↑n = ↑↑volume (Ioo (a - ↑n) a)
Theorem: Submodule.le_pow_toAddSubmonoid
File: Mathlib/Algebra/Algebra/Operations.lean

tactic: obtain rfl | hn := Decidable.eq_or_ne n 0
state_before: ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M N P Q : Submodule R A
m n✝ : A
n : ℕ
⊢ M.toAddSubmonoid ^ n ≤ (M ^ n).toAddSubmonoid

tactic: rw [pow_zero, pow_zero]
state_before: case inl
ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M N P Q : Submodule R A
m n : A
⊢ M.toAddSubmonoid ^ 0 ≤ (M ^ 0).toAddSubmonoid

tactic: exact le_one_toAddSubmonoid
state_before: case inl
ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M N P Q : Submodule R A
m n : A
⊢ 1 ≤ 1.toAddSubmonoid

tactic: exact (pow_toAddSubmonoid M hn).ge
state_before: case inr
ι : Sort uι
R : Type u
inst✝² : CommSemiring R
A : Type v
inst✝¹ : Semiring A
inst✝ : Algebra R A
S T : Set A
M N P Q : Submodule R A
m n✝ : A
n : ℕ
hn : n ≠ 0
⊢ M.toAddSubmonoid ^ n ≤ (M ^ n).toAddSubmonoid
Theorem: Set.image2_eq_seq
File: Mathlib/Data/Set/Lattice.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.275320
ι' : Sort ?u.275323
ι₂ : Sort ?u.275326
κ : ι → Sort ?u.275331
κ₁ : ι → Sort ?u.275336
κ₂ : ι → Sort ?u.275341
κ' : ι' → Sort ?u.275346
f : α → β → γ
s : Set α
t : Set β
⊢ image2 f s t = seq (f '' s) t

tactic: simp
state_before: case h
α : Type u_1
β : Type u_2
γ : Type u_3
ι : Sort ?u.275320
ι' : Sort ?u.275323
ι₂ : Sort ?u.275326
κ : ι → Sort ?u.275331
κ₁ : ι → Sort ?u.275336
κ₂ : ι → Sort ?u.275341
κ' : ι' → Sort ?u.275346
f : α → β → γ
s : Set α
t : Set β
x✝ : γ
⊢ x✝ ∈ image2 f s t ↔ x✝ ∈ seq (f '' s) t
Theorem: Zsqrtd.norm_eq_of_associated
File: Mathlib/NumberTheory/Zsqrtd/Basic.lean

tactic: obtain ⟨u, rfl⟩ := h
state_before: d✝ d : ℤ
hd : d ≤ 0
x y : ℤ√d
h : Associated x y
⊢ norm x = norm y

tactic: rw [norm_mul, (norm_eq_one_iff' hd _).mpr u.isUnit, mul_one]
state_before: case intro
d✝ d : ℤ
hd : d ≤ 0
x : ℤ√d
u : (ℤ√d)ˣ
⊢ norm x = norm (x * ↑u)
Theorem: CategoryTheory.Limits.IsTerminal.strict_hom_ext
File: Mathlib/CategoryTheory/Limits/Shapes/StrictInitial.lean

tactic: haveI := hI.isIso_from f
state_before: C : Type u
inst✝¹ : Category C
inst✝ : HasStrictTerminalObjects C
I : C
hI : IsTerminal I
A : C
f g : I ⟶ A
⊢ f = g

tactic: haveI := hI.isIso_from g
state_before: C : Type u
inst✝¹ : Category C
inst✝ : HasStrictTerminalObjects C
I : C
hI : IsTerminal I
A : C
f g : I ⟶ A
this : IsIso f
⊢ f = g

tactic: exact eq_of_inv_eq_inv (hI.hom_ext (inv f) (inv g))
state_before: C : Type u
inst✝¹ : Category C
inst✝ : HasStrictTerminalObjects C
I : C
hI : IsTerminal I
A : C
f g : I ⟶ A
this✝ : IsIso f
this : IsIso g
⊢ f = g
Theorem: Stream'.cons_injective2
File: Mathlib/Data/Stream/Init.lean

tactic: rw [← nth_zero_cons x s, h, nth_zero_cons]
state_before: α : Type u
β : Type v
δ : Type w
x y : α
s t : Stream' α
h : x :: s = y :: t
⊢ x = y

tactic: rw [← nth_succ_cons n _ x, h, nth_succ_cons]
state_before: α : Type u
β : Type v
δ : Type w
x y : α
s t : Stream' α
h : x :: s = y :: t
n : ℕ
⊢ nth s n = nth t n
Theorem: CauSeq.sub_equiv_sub
File: Mathlib/Data/Real/CauSeq.lean

tactic: simpa only [sub_eq_add_neg] using add_equiv_add hf (neg_equiv_neg hg)
state_before: α : Type u_1
β : Type u_2
inst✝² : LinearOrderedField α
inst✝¹ : Ring β
abv : β → α
inst✝ : IsAbsoluteValue abv
f1 f2 g1 g2 : CauSeq β abv
hf : f1 ≈ f2
hg : g1 ≈ g2
⊢ f1 - g1 ≈ f2 - g2
Theorem: nilpotent_iff_finite_descending_central_series
File: Mathlib/GroupTheory/Nilpotent.lean

tactic: rw [nilpotent_iff_finite_ascending_central_series]
state_before: G : Type u_1
inst✝¹ : Group G
H : Subgroup G
inst✝ : Normal H
⊢ Group.IsNilpotent G ↔ ∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥

tactic: constructor
state_before: G : Type u_1
inst✝¹ : Group G
H : Subgroup G
inst✝ : Normal H
⊢ (∃ n H, IsAscendingCentralSeries H ∧ H n = ⊤) ↔ ∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥

tactic: rintro ⟨n, H, hH, hn⟩
state_before: case mp
G : Type u_1
inst✝¹ : Group G
H : Subgroup G
inst✝ : Normal H
⊢ (∃ n H, IsAscendingCentralSeries H ∧ H n = ⊤) → ∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥

tactic: refine ⟨n, fun m => H (n - m), is_decending_rev_series_of_is_ascending G hn hH, ?_⟩
state_before: case mp.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsAscendingCentralSeries H
hn : H n = ⊤
⊢ ∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥

tactic: dsimp only
state_before: case mp.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsAscendingCentralSeries H
hn : H n = ⊤
⊢ (fun m => H (n - m)) n = ⊥

tactic: rw [tsub_self]
state_before: case mp.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsAscendingCentralSeries H
hn : H n = ⊤
⊢ H (n - n) = ⊥

tactic: exact hH.1
state_before: case mp.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsAscendingCentralSeries H
hn : H n = ⊤
⊢ H 0 = ⊥

tactic: rintro ⟨n, H, hH, hn⟩
state_before: case mpr
G : Type u_1
inst✝¹ : Group G
H : Subgroup G
inst✝ : Normal H
⊢ (∃ n H, IsDescendingCentralSeries H ∧ H n = ⊥) → ∃ n H, IsAscendingCentralSeries H ∧ H n = ⊤

tactic: refine ⟨n, fun m => H (n - m), is_ascending_rev_series_of_is_descending G hn hH, ?_⟩
state_before: case mpr.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsDescendingCentralSeries H
hn : H n = ⊥
⊢ ∃ n H, IsAscendingCentralSeries H ∧ H n = ⊤

tactic: dsimp only
state_before: case mpr.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsDescendingCentralSeries H
hn : H n = ⊥
⊢ (fun m => H (n - m)) n = ⊤

tactic: rw [tsub_self]
state_before: case mpr.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsDescendingCentralSeries H
hn : H n = ⊥
⊢ H (n - n) = ⊤

tactic: exact hH.1
state_before: case mpr.intro.intro.intro
G : Type u_1
inst✝¹ : Group G
H✝ : Subgroup G
inst✝ : Normal H✝
n : ℕ
H : ℕ → Subgroup G
hH : IsDescendingCentralSeries H
hn : H n = ⊥
⊢ H 0 = ⊤
Theorem: combo_mem_ball_of_ne
File: Mathlib/Analysis/Convex/StrictConvexSpace.lean

tactic: rcases eq_or_ne r 0 with (rfl | hr)
state_before: 𝕜 : Type ?u.41739
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
hx : x ∈ closedBall z r
hy : y ∈ closedBall z r
hne : x ≠ y
ha : 0 < a
hb : 0 < b
hab : a + b = 1
⊢ a • x + b • y ∈ ball z r

tactic: rw [closedBall_zero, mem_singleton_iff] at hx hy
state_before: case inl
𝕜 : Type ?u.41739
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b : ℝ
hne : x ≠ y
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hx : x ∈ closedBall z 0
hy : y ∈ closedBall z 0
⊢ a • x + b • y ∈ ball z 0

tactic: exact (hne (hx.trans hy.symm)).elim
state_before: case inl
𝕜 : Type ?u.41739
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b : ℝ
hne : x ≠ y
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hx : x = z
hy : y = z
⊢ a • x + b • y ∈ ball z 0

tactic: simp only [← interior_closedBall _ hr] at hx hy⊢
state_before: case inr
𝕜 : Type ?u.41739
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
hx : x ∈ closedBall z r
hy : y ∈ closedBall z r
hne : x ≠ y
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hr : r ≠ 0
⊢ a • x + b • y ∈ ball z r

tactic: exact strictConvex_closedBall ℝ z r hx hy hne ha hb hab
state_before: case inr
𝕜 : Type ?u.41739
E : Type u_1
inst✝⁴ : NormedLinearOrderedField 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : NormedSpace 𝕜 E
inst✝¹ : NormedSpace ℝ E
inst✝ : StrictConvexSpace ℝ E
x y z : E
a b r : ℝ
hx : x ∈ closedBall z r
hy : y ∈ closedBall z r
hne : x ≠ y
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hr : r ≠ 0
⊢ a • x + b • y ∈ interior (closedBall z r)
Theorem: Set.MapsTo.piecewise_ite
File: Mathlib/Data/Set/Function.lean

tactic: refine' (h₁.congr _).union_union (h₂.congr _)
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.84669
ι : Sort ?u.84672
π : α → Type ?u.84677
δ : α → Sort ?u.84682
s✝ : Set α
f g : (i : α) → δ i
inst✝¹ : (j : α) → Decidable (j ∈ s✝)
s s₁ s₂ : Set α
t t₁ t₂ : Set β
f₁ f₂ : α → β
inst✝ : (i : α) → Decidable (i ∈ s)
h₁ : MapsTo f₁ (s₁ ∩ s) (t₁ ∩ t)
h₂ : MapsTo f₂ (s₂ ∩ sᶜ) (t₂ ∩ tᶜ)
⊢ MapsTo (piecewise s f₁ f₂) (Set.ite s s₁ s₂) (Set.ite t t₁ t₂)

tactic: exacts [(piecewise_eqOn s f₁ f₂).symm.mono (inter_subset_right _ _),
  (piecewise_eqOn_compl s f₁ f₂).symm.mono (inter_subset_right _ _)]
state_before: case refine'_1
α : Type u_1
β : Type u_2
γ : Type ?u.84669
ι : Sort ?u.84672
π : α → Type ?u.84677
δ : α → Sort ?u.84682
s✝ : Set α
f g : (i : α) → δ i
inst✝¹ : (j : α) → Decidable (j ∈ s✝)
s s₁ s₂ : Set α
t t₁ t₂ : Set β
f₁ f₂ : α → β
inst✝ : (i : α) → Decidable (i ∈ s)
h₁ : MapsTo f₁ (s₁ ∩ s) (t₁ ∩ t)
h₂ : MapsTo f₂ (s₂ ∩ sᶜ) (t₂ ∩ tᶜ)
⊢ EqOn f₁ (piecewise s f₁ f₂) (s₁ ∩ s)

case refine'_2
α : Type u_1
β : Type u_2
γ : Type ?u.84669
ι : Sort ?u.84672
π : α → Type ?u.84677
δ : α → Sort ?u.84682
s✝ : Set α
f g : (i : α) → δ i
inst✝¹ : (j : α) → Decidable (j ∈ s✝)
s s₁ s₂ : Set α
t t₁ t₂ : Set β
f₁ f₂ : α → β
inst✝ : (i : α) → Decidable (i ∈ s)
h₁ : MapsTo f₁ (s₁ ∩ s) (t₁ ∩ t)
h₂ : MapsTo f₂ (s₂ ∩ sᶜ) (t₂ ∩ tᶜ)
⊢ EqOn f₂ (piecewise s f₁ f₂) (s₂ ∩ sᶜ)
Theorem: Cardinal.ord_aleph_eq_enum_card
File: Mathlib/SetTheory/Cardinal/Ordinal.lean

tactic: rw [← eq_enumOrd _ ord_card_unbounded']
state_before: ⊢ ord ∘ aleph = enumOrd {b | ord (card b) = b ∧ ω ≤ b}

tactic: use aleph_isNormal.strictMono
state_before: ⊢ StrictMono (ord ∘ aleph) ∧ range (ord ∘ aleph) = {b | ord (card b) = b ∧ ω ≤ b}

tactic: rw [range_eq_iff]
state_before: ⊢ range (ord ∘ aleph) = {b | ord (card b) = b ∧ ω ≤ b}

tactic: refine' ⟨fun a => ⟨_, _⟩, fun b hb => eq_aleph_of_eq_card_ord hb.1 hb.2⟩
state_before: ⊢ (∀ (a : Ordinal), (ord ∘ aleph) a ∈ {b | ord (card b) = b ∧ ω ≤ b}) ∧
    ∀ (b : Ordinal), b ∈ {b | ord (card b) = b ∧ ω ≤ b} → ∃ a, (ord ∘ aleph) a = b

tactic: rw [Function.comp_apply, card_ord]
state_before: case refine'_1
a : Ordinal
⊢ ord (card ((ord ∘ aleph) a)) = (ord ∘ aleph) a

tactic: rw [← ord_aleph0, Function.comp_apply, ord_le_ord]
state_before: case refine'_2
a : Ordinal
⊢ ω ≤ (ord ∘ aleph) a

tactic: exact aleph0_le_aleph _
state_before: case refine'_2
a : Ordinal
⊢ ℵ₀ ≤ aleph a
Theorem: nhds_pi
File: Mathlib/Topology/Constructions.lean

tactic: simp only [nhds_iInf, nhds_induced, Filter.pi]
state_before: α : Type u
β : Type v
γ : Type ?u.196613
δ : Type ?u.196616
ε : Type ?u.196619
ζ : Type ?u.196622
ι : Type u_1
π : ι → Type u_2
κ : Type ?u.196633
inst✝¹ : TopologicalSpace α
inst✝ : (i : ι) → TopologicalSpace (π i)
f : α → (i : ι) → π i
a : (i : ι) → π i
⊢ 𝓝 a = Filter.pi fun i => 𝓝 (a i)
Theorem: LipschitzWith.to_rightInverse
File: Mathlib/Topology/MetricSpace/Antilipschitz.lean

tactic: simpa only [hg _] using hf (g x) (g y)
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.138257
inst✝¹ : PseudoEMetricSpace α
inst✝ : PseudoEMetricSpace β
K : ℝ≥0
f : α → β
hf : LipschitzWith K f
g : β → α
hg : Function.RightInverse g f
x y : β
⊢ edist x y ≤ ↑K * edist (g x) (g y)