tasksource/leandojo huggingface dataset:
Theorem: HasFPowerSeriesAt.isBigO_image_sub_norm_mul_norm_sub
File: Mathlib/Analysis/Analytic/Basic.lean

tactic: rcases hf with ⟨r, hf⟩
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.942458
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 : HasFPowerSeriesAt f p x
⊢ (fun y => f y.fst - f y.snd - ↑(p 1) fun x => y.fst - y.snd) =O[𝓝 (x, x)] fun y => ‖y - (x, x)‖ * ‖y.fst - y.snd‖

tactic: rcases ENNReal.lt_iff_exists_nnreal_btwn.1 hf.r_pos with ⟨r', r'0, h⟩
state_before: case intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.942458
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' r : ℝ≥0∞
hf : HasFPowerSeriesOnBall f p x r
⊢ (fun y => f y.fst - f y.snd - ↑(p 1) fun x => y.fst - y.snd) =O[𝓝 (x, x)] fun y => ‖y - (x, x)‖ * ‖y.fst - y.snd‖

tactic: refine' (hf.isBigO_image_sub_image_sub_deriv_principal h).mono _
state_before: case intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.942458
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'✝ r : ℝ≥0∞
hf : HasFPowerSeriesOnBall f p x r
r' : ℝ≥0
r'0 : 0 < ↑r'
h : ↑r' < r
⊢ (fun y => f y.fst - f y.snd - ↑(p 1) fun x => y.fst - y.snd) =O[𝓝 (x, x)] fun y => ‖y - (x, x)‖ * ‖y.fst - y.snd‖

tactic: exact le_principal_iff.2 (EMetric.ball_mem_nhds _ r'0)
state_before: case intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type ?u.942458
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'✝ r : ℝ≥0∞
hf : HasFPowerSeriesOnBall f p x r
r' : ℝ≥0
r'0 : 0 < ↑r'
h : ↑r' < r
⊢ 𝓝 (x, x) ≤ 𝓟 (EMetric.ball (x, x) ↑r')
Theorem: LowerSet.Iic_iInf
File: Mathlib/Order/UpperLower/Basic.lean

tactic: simp only [mem_Iic_iff, mem_iInf_iff, le_iInf_iff]
state_before: α : Type u_1
β : Type ?u.121213
γ : Type ?u.121216
ι : Sort u_2
κ : ι → Sort ?u.121224
inst✝ : CompleteLattice α
f : ι → α
c : α
⊢ c ∈ Iic (⨅ (i : ι), f i) ↔ c ∈ ⨅ (i : ι), Iic (f i)
Theorem: CategoryTheory.CoverDense.Types.appHom_valid_glue
File: Mathlib/CategoryTheory/Sites/DenseSubsite.lean

tactic: ext
state_before: C : Type u_4
inst✝⁴ : Category C
D : Type u_2
inst✝³ : Category D
E : Type ?u.66083
inst✝² : Category E
J : GrothendieckTopology C
K : GrothendieckTopology D
L : GrothendieckTopology E
A : Type ?u.66135
inst✝¹ : Category A
G : C ⥤ D
H : CoverDense K G
inst✝ : Full G
ℱ : Dᵒᵖ ⥤ Type v
ℱ' : SheafOfTypes K
α : Functor.op G ⋙ ℱ ⟶ Functor.op G ⋙ ℱ'.val
X : D
Y : C
f : X.op ⟶ (G.obj Y).op
⊢ appHom H α X ≫ ℱ'.val.map f = ℱ.map f ≫ α.app Y.op

tactic: apply appHom_restrict
state_before: case h
C : Type u_4
inst✝⁴ : Category C
D : Type u_2
inst✝³ : Category D
E : Type ?u.66083
inst✝² : Category E
J : GrothendieckTopology C
K : GrothendieckTopology D
L : GrothendieckTopology E
A : Type ?u.66135
inst✝¹ : Category A
G : C ⥤ D
H : CoverDense K G
inst✝ : Full G
ℱ : Dᵒᵖ ⥤ Type v
ℱ' : SheafOfTypes K
α : Functor.op G ⋙ ℱ ⟶ Functor.op G ⋙ ℱ'.val
X : D
Y : C
f : X.op ⟶ (G.obj Y).op
a✝ : ℱ.obj X.op
⊢ (appHom H α X ≫ ℱ'.val.map f) a✝ = (ℱ.map f ≫ α.app Y.op) a✝
Theorem: xInTermsOfW_eq
File: Mathlib/RingTheory/WittVector/WittPolynomial.lean

tactic: rw [xInTermsOfW, ← Fin.sum_univ_eq_sum_range]
state_before: p : ℕ
R : Type u_1
inst✝² : CommRing R
inst✝¹ : DecidableEq R
inst✝ : Invertible ↑p
n : ℕ
⊢ xInTermsOfW p R n = (X n - ∑ i in range n, ↑C (↑p ^ i) * xInTermsOfW p R i ^ p ^ (n - i)) * ↑C (⅟↑p ^ n)
Theorem: RingHomInvPair.comp_apply_eq
File: Mathlib/Algebra/Ring/CompTypeclasses.lean

tactic: rw [← RingHom.comp_apply, comp_eq]
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.2678
inst✝³ : Semiring R₁
inst✝² : Semiring R₂
inst✝¹ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
σ : R₁ →+* R₂
σ' : R₂ →+* R₁
inst✝ : RingHomInvPair σ σ'
x : R₁
⊢ ↑σ' (↑σ x) = x

tactic: simp
state_before: R₁ : Type u_1
R₂ : Type u_2
R₃ : Type ?u.2678
inst✝³ : Semiring R₁
inst✝² : Semiring R₂
inst✝¹ : Semiring R₃
σ₁₂ : R₁ →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R₁ →+* R₃
σ : R₁ →+* R₂
σ' : R₂ →+* R₁
inst✝ : RingHomInvPair σ σ'
x : R₁
⊢ ↑(RingHom.id R₁) x = x
Theorem: limsup_eq_tendsto_sum_indicator_atTop
File: Mathlib/Topology/Algebra/Order/LiminfLimsup.lean

tactic: rw [limsup_eq_tendsto_sum_indicator_nat_atTop s]
state_before: α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
⊢ limsup s atTop = {ω | Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop}

tactic: ext ω
state_before: α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
⊢ {ω | Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop} =
    {ω | Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop}

tactic: simp only [Set.mem_setOf_eq]
state_before: case h
α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
ω : α
⊢ ω ∈ {ω | Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop} ↔
    ω ∈ {ω | Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop}

tactic: rw [(_ : (fun n ↦ ∑ k in Finset.range n, (s (k + 1)).indicator (1 : α → R) ω) = fun n ↦
  ↑(∑ k in Finset.range n, (s (k + 1)).indicator (1 : α → ℕ) ω))]
state_before: case h
α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
ω : α
⊢ Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop ↔
    Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop

tactic: exact tendsto_nat_cast_atTop_iff.symm
state_before: case h
α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
ω : α
⊢ Tendsto (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) atTop atTop ↔
    Tendsto (fun n => ↑(∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω)) atTop atTop

tactic: ext n
state_before: α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
ω : α
⊢ (fun n => ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω) = fun n =>
    ↑(∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω)

tactic: simp only [Set.indicator, Pi.one_apply, Finset.sum_boole, Nat.cast_id]
state_before: case h
α : Type u
β : Type v
R : Type u_1
inst✝¹ : StrictOrderedSemiring R
inst✝ : Archimedean R
s : ℕ → Set α
ω : α
n : ℕ
⊢ ∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω = ↑(∑ k in Finset.range n, Set.indicator (s (k + 1)) 1 ω)
Theorem: Ordinal.lt_cof_type
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: simpa using not_imp_not.2 cof_type_le
state_before: α : Type u_1
r : α → α → Prop
inst✝ : IsWellOrder α r
S : Set α
⊢ (#↑S) < cof (type r) → Bounded r S
Theorem: partialSups_disjointed
File: Mathlib/Order/Disjointed.lean

tactic: ext n
state_before: α : Type u_1
β : Type ?u.6810
inst✝ : GeneralizedBooleanAlgebra α
f : ℕ → α
⊢ partialSups (disjointed f) = partialSups f

tactic: induction' n with k ih
state_before: case h.h
α : Type u_1
β : Type ?u.6810
inst✝ : GeneralizedBooleanAlgebra α
f : ℕ → α
n : ℕ
⊢ ↑(partialSups (disjointed f)) n = ↑(partialSups f) n

tactic: rw [partialSups_zero, partialSups_zero, disjointed_zero]
state_before: case h.h.zero
α : Type u_1
β : Type ?u.6810
inst✝ : GeneralizedBooleanAlgebra α
f : ℕ → α
⊢ ↑(partialSups (disjointed f)) Nat.zero = ↑(partialSups f) Nat.zero

tactic: rw [partialSups_succ, partialSups_succ, disjointed_succ, ih, sup_sdiff_self_right]
state_before: case h.h.succ
α : Type u_1
β : Type ?u.6810
inst✝ : GeneralizedBooleanAlgebra α
f : ℕ → α
k : ℕ
ih : ↑(partialSups (disjointed f)) k = ↑(partialSups f) k
⊢ ↑(partialSups (disjointed f)) (Nat.succ k) = ↑(partialSups f) (Nat.succ k)
Theorem: NonUnitalSubsemiring.coe_sSup_of_directedOn
File: Mathlib/RingTheory/NonUnitalSubsemiring/Basic.lean

tactic: simp [mem_sSup_of_directedOn Sne hS]
state_before: R : Type u
S✝ : Type v
T : Type w
inst✝³ : NonUnitalNonAssocSemiring R
M : Subsemigroup R
inst✝² : NonUnitalNonAssocSemiring S✝
inst✝¹ : NonUnitalNonAssocSemiring T
F : Type ?u.284510
inst✝ : NonUnitalRingHomClass F R S✝
S : Set (NonUnitalSubsemiring R)
Sne : Set.Nonempty S
hS : DirectedOn (fun x x_1 => x ≤ x_1) S
x : R
⊢ x ∈ ↑(sSup S) ↔ x ∈ ⋃ (s : NonUnitalSubsemiring R) (_ : s ∈ S), ↑s
Theorem: PEquiv.injective_of_forall_ne_isSome
File: Mathlib/Data/PEquiv.lean

tactic: cases hfx : f x
state_before: α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
⊢ (fun b => Option.recOn b a₂ fun b' => Option.recOn (↑(PEquiv.symm f) b') a₂ id) (↑f x) = x

tactic: have : x = a₂ := not_imp_comm.1 (h x) (hfx.symm ▸ by simp)
state_before: case none
α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
hfx : ↑f x = none
⊢ (fun b => Option.recOn b a₂ fun b' => Option.recOn (↑(PEquiv.symm f) b') a₂ id) none = x

tactic: simp [this]
state_before: case none
α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
hfx : ↑f x = none
this : x = a₂
⊢ (fun b => Option.recOn b a₂ fun b' => Option.recOn (↑(PEquiv.symm f) b') a₂ id) none = x

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
hfx : ↑f x = none
⊢ ¬isSome none = true

tactic: dsimp only
state_before: case some
α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
val✝ : β
hfx : ↑f x = some val✝
⊢ (fun b => Option.recOn b a₂ fun b' => Option.recOn (↑(PEquiv.symm f) b') a₂ id) (some val✝) = x

tactic: rw [(eq_some_iff f).2 hfx]
state_before: case some
α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
val✝ : β
hfx : ↑f x = some val✝
⊢ Option.rec a₂ id (↑(PEquiv.symm f) val✝) = x

tactic: rfl
state_before: case some
α : Type u
β : Type v
γ : Type w
δ : Type x
f : α ≃. β
a₂ : α
h : ∀ (a₁ : α), a₁ ≠ a₂ → isSome (↑f a₁) = true
x : α
val✝ : β
hfx : ↑f x = some val✝
⊢ Option.rec a₂ id (some x) = x
Theorem: Con.lift_unique
File: Mathlib/GroupTheory/Congruence.lean

tactic: subst f
state_before: M : Type u_1
N : Type ?u.64181
P : Type u_2
inst✝² : MulOneClass M
inst✝¹ : MulOneClass N
inst✝ : MulOneClass P
c : Con M
x✝ y : M
f : M →* P
H : c ≤ ker f
g : Con.Quotient c →* P
Hg : MonoidHom.comp g (mk' c) = f
x : M
⊢ ↑g ↑x = ↑(lift c f H) ↑x

tactic: rfl
state_before: M : Type u_1
N : Type ?u.64181
P : Type u_2
inst✝² : MulOneClass M
inst✝¹ : MulOneClass N
inst✝ : MulOneClass P
c : Con M
x✝ y : M
g : Con.Quotient c →* P
x : M
H : c ≤ ker (MonoidHom.comp g (mk' c))
⊢ ↑g ↑x = ↑(lift c (MonoidHom.comp g (mk' c)) H) ↑x
Theorem: HasFDerivAt.mul
File: Mathlib/Analysis/Calculus/FDeriv/Mul.lean

tactic: convert hc.mul' hd
state_before: 𝕜 : Type u_1
inst✝¹² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type ?u.748817
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type ?u.748912
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type ?u.749007
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
𝔸 : Type ?u.751142
𝔸' : Type u_3
inst✝³ : NormedRing 𝔸
inst✝² : NormedCommRing 𝔸'
inst✝¹ : NormedAlgebra 𝕜 𝔸
inst✝ : NormedAlgebra 𝕜 𝔸'
a b : E → 𝔸
a' b' : E →L[𝕜] 𝔸
c d : E → 𝔸'
c' d' : E →L[𝕜] 𝔸'
hc : HasFDerivAt c c' x
hd : HasFDerivAt d d' x
⊢ HasFDerivAt (fun y => c y * d y) (c x • d' + d x • c') x

tactic: ext z
state_before: case h.e'_10.h.e'_6
𝕜 : Type u_1
inst✝¹² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type ?u.748817
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type ?u.748912
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type ?u.749007
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
𝔸 : Type ?u.751142
𝔸' : Type u_3
inst✝³ : NormedRing 𝔸
inst✝² : NormedCommRing 𝔸'
inst✝¹ : NormedAlgebra 𝕜 𝔸
inst✝ : NormedAlgebra 𝕜 𝔸'
a b : E → 𝔸
a' b' : E →L[𝕜] 𝔸
c d : E → 𝔸'
c' d' : E →L[𝕜] 𝔸'
hc : HasFDerivAt c c' x
hd : HasFDerivAt d d' x
⊢ d x • c' = smulRight c' (d x)

tactic: apply mul_comm
state_before: case h.e'_10.h.e'_6.h
𝕜 : Type u_1
inst✝¹² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹¹ : NormedAddCommGroup E
inst✝¹⁰ : NormedSpace 𝕜 E
F : Type ?u.748817
inst✝⁹ : NormedAddCommGroup F
inst✝⁸ : NormedSpace 𝕜 F
G : Type ?u.748912
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type ?u.749007
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
𝔸 : Type ?u.751142
𝔸' : Type u_3
inst✝³ : NormedRing 𝔸
inst✝² : NormedCommRing 𝔸'
inst✝¹ : NormedAlgebra 𝕜 𝔸
inst✝ : NormedAlgebra 𝕜 𝔸'
a b : E → 𝔸
a' b' : E →L[𝕜] 𝔸
c d : E → 𝔸'
c' d' : E →L[𝕜] 𝔸'
hc : HasFDerivAt c c' x
hd : HasFDerivAt d d' x
z : E
⊢ ↑(d x • c') z = ↑(smulRight c' (d x)) z
Theorem: Ideal.powQuotSuccInclusion_injective
File: Mathlib/NumberTheory/RamificationInertia.lean

tactic: rw [← LinearMap.ker_eq_bot, LinearMap.ker_eq_bot']
state_before: R : Type u
inst✝¹ : CommRing R
S : Type v
inst✝ : CommRing S
f : R →+* S
p : Ideal R
P : Ideal S
hfp : NeZero e
i : ℕ
⊢ Function.Injective ↑(powQuotSuccInclusion f p P i)

tactic: rintro ⟨x, hx⟩ hx0
state_before: R : Type u
inst✝¹ : CommRing R
S : Type v
inst✝ : CommRing S
f : R →+* S
p : Ideal R
P : Ideal S
hfp : NeZero e
i : ℕ
⊢ ∀ (m : { x // x ∈ map (Quotient.mk (P ^ e)) (P ^ (i + 1)) }), ↑(powQuotSuccInclusion f p P i) m = 0 → m = 0

tactic: rw [Subtype.ext_iff] at hx0 ⊢
state_before: case mk
R : Type u
inst✝¹ : CommRing R
S : Type v
inst✝ : CommRing S
f : R →+* S
p : Ideal R
P : Ideal S
hfp : NeZero e
i : ℕ
x : S ⧸ P ^ e
hx : x ∈ map (Quotient.mk (P ^ e)) (P ^ (i + 1))
hx0 : ↑(powQuotSuccInclusion f p P i) { val := x, property := hx } = 0
⊢ { val := x, property := hx } = 0

tactic: rwa [powQuotSuccInclusion_apply_coe] at hx0
state_before: case mk
R : Type u
inst✝¹ : CommRing R
S : Type v
inst✝ : CommRing S
f : R →+* S
p : Ideal R
P : Ideal S
hfp : NeZero e
i : ℕ
x : S ⧸ P ^ e
hx : x ∈ map (Quotient.mk (P ^ e)) (P ^ (i + 1))
hx0 : ↑(↑(powQuotSuccInclusion f p P i) { val := x, property := hx }) = ↑0
⊢ ↑{ val := x, property := hx } = ↑0
Theorem: Matrix.updateRow_apply
File: Mathlib/Data/Matrix/Basic.lean

tactic: by_cases i' = i
state_before: l : Type ?u.1220174
m : Type u_1
n : Type u_2
o : Type ?u.1220183
m' : o → Type ?u.1220188
n' : o → Type ?u.1220193
R : Type ?u.1220196
S : Type ?u.1220199
α : Type v
β : Type w
γ : Type ?u.1220206
M : Matrix m n α
i : m
j : n
b : n → α
c : m → α
inst✝ : DecidableEq m
i' : m
⊢ updateRow M i b i' j = if i' = i then b j else M i' j

tactic: rw [h, updateRow_self, if_pos rfl]
state_before: case pos
l : Type ?u.1220174
m : Type u_1
n : Type u_2
o : Type ?u.1220183
m' : o → Type ?u.1220188
n' : o → Type ?u.1220193
R : Type ?u.1220196
S : Type ?u.1220199
α : Type v
β : Type w
γ : Type ?u.1220206
M : Matrix m n α
i : m
j : n
b : n → α
c : m → α
inst✝ : DecidableEq m
i' : m
h : i' = i
⊢ updateRow M i b i' j = if i' = i then b j else M i' j

tactic: rw [updateRow_ne h, if_neg h]
state_before: case neg
l : Type ?u.1220174
m : Type u_1
n : Type u_2
o : Type ?u.1220183
m' : o → Type ?u.1220188
n' : o → Type ?u.1220193
R : Type ?u.1220196
S : Type ?u.1220199
α : Type v
β : Type w
γ : Type ?u.1220206
M : Matrix m n α
i : m
j : n
b : n → α
c : m → α
inst✝ : DecidableEq m
i' : m
h : ¬i' = i
⊢ updateRow M i b i' j = if i' = i then b j else M i' j
Theorem: Set.Iic_inter_Iic
File: Mathlib/Data/Set/Intervals/Basic.lean

tactic: ext x
state_before: α : Type u_1
β : Type ?u.177459
inst✝ : SemilatticeInf α
a b : α
⊢ Iic a ∩ Iic b = Iic (a ⊓ b)

tactic: simp [Iic]
state_before: case h
α : Type u_1
β : Type ?u.177459
inst✝ : SemilatticeInf α
a b x : α
⊢ x ∈ Iic a ∩ Iic b ↔ x ∈ Iic (a ⊓ b)
Theorem: Submodule.isOrtho_sSup_right
File: Mathlib/Analysis/InnerProductSpace/Orthogonal.lean

tactic: simp_rw [isOrtho_comm]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type ?u.141088
inst✝⁴ : IsROrC 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace 𝕜 F
U : Submodule 𝕜 E
V : Set (Submodule 𝕜 E)
⊢ (∀ (Uᵢ : Submodule 𝕜 E), Uᵢ ∈ V → Uᵢ ⟂ U) ↔ ∀ (Vᵢ : Submodule 𝕜 E), Vᵢ ∈ V → U ⟂ Vᵢ
Theorem: continuous_iff_continuousOn_univ
File: Mathlib/Topology/ContinuousOn.lean

tactic: simp [continuous_iff_continuousAt, ContinuousOn, ContinuousAt, ContinuousWithinAt,
  nhdsWithin_univ]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.319567
δ : Type ?u.319570
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
f : α → β
⊢ Continuous f ↔ ContinuousOn f univ
Theorem: Filter.atTop_Ici_eq
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: rw [← map_val_Ici_atTop a, comap_map Subtype.coe_injective]
state_before: ι : Type ?u.328153
ι' : Type ?u.328156
α : Type u_1
β : Type ?u.328162
γ : Type ?u.328165
inst✝ : SemilatticeSup α
a : α
⊢ atTop = comap Subtype.val atTop
Theorem: Ctop.Realizer.mem_nhds
File: Mathlib/Data/Analysis/Topology.lean

tactic: have := @mem_nhds_toTopsp _ _ F.F s a
state_before: α : Type u_1
β : Type ?u.8047
σ : Type ?u.8050
τ : Type ?u.8053
T : TopologicalSpace α
F : Realizer α
s : Set α
a : α
⊢ s ∈ 𝓝 a ↔ ∃ b, a ∈ f F.F b ∧ f F.F b ⊆ s

tactic: rwa [F.eq] at this
state_before: α : Type u_1
β : Type ?u.8047
σ : Type ?u.8050
τ : Type ?u.8053
T : TopologicalSpace α
F : Realizer α
s : Set α
a : α
this : s ∈ 𝓝 a ↔ ∃ b, a ∈ f F.F b ∧ f F.F b ⊆ s
⊢ s ∈ 𝓝 a ↔ ∃ b, a ∈ f F.F b ∧ f F.F b ⊆ s
Theorem: List.get?_set_of_lt
File: Std/Data/List/Lemmas.lean

tactic: simp [get?_set, get?_eq_get h]
state_before: α : Type u_1
a : α
m n : Nat
l : List α
h : n < length l
⊢ get? (set l m a) n = if m = n then some a else get? l n
Theorem: multiplicity.pow
File: Mathlib/RingTheory/Multiplicity.lean

tactic: simp [one_right hp.not_unit]
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a : α
hp : Prime p
⊢ multiplicity p (a ^ 0) = 0 • multiplicity p a

tactic: simp [_root_.pow_succ, succ_nsmul, pow hp, multiplicity.mul hp]
state_before: α : Type u_1
inst✝¹ : CancelCommMonoidWithZero α
inst✝ : DecidableRel fun x x_1 => x ∣ x_1
p a : α
hp : Prime p
k : ℕ
⊢ multiplicity p (a ^ succ k) = succ k • multiplicity p a
Theorem: FractionalIdeal.isFractional_of_le
File: Mathlib/RingTheory/FractionalIdeal.lean

tactic: obtain ⟨a, a_mem, ha⟩ := J.isFractional
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 : Submodule R P
J : FractionalIdeal S P
hIJ : I ≤ ↑J
⊢ IsFractional S I

tactic: use a, a_mem
state_before: case intro.intro
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 : Submodule R P
J : FractionalIdeal S P
hIJ : I ≤ ↑J
a : R
a_mem : a ∈ S
ha : ∀ (b : P), b ∈ ↑J → IsInteger R (a • b)
⊢ IsFractional S I

tactic: intro b b_mem
state_before: case intro.intro
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 : Submodule R P
J : FractionalIdeal S P
hIJ : I ≤ ↑J
a : R
a_mem : a ∈ S
ha : ∀ (b : P), b ∈ ↑J → IsInteger R (a • b)
⊢ ∀ (b : P), b ∈ I → IsInteger R (a • b)

tactic: exact ha b (hIJ b_mem)
state_before: case intro.intro
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 : Submodule R P
J : FractionalIdeal S P
hIJ : I ≤ ↑J
a : R
a_mem : a ∈ S
ha : ∀ (b : P), b ∈ ↑J → IsInteger R (a • b)
b : P
b_mem : b ∈ I
⊢ IsInteger R (a • b)
Theorem: Multiset.sub_le_iff_le_add
File: Mathlib/Data/Multiset/Basic.lean

tactic: revert s
state_before: α : Type u_1
β : Type ?u.156876
γ : Type ?u.156879
inst✝ : DecidableEq α
s t u : Multiset α
a b : α
⊢ s - t ≤ u ↔ s ≤ u + t

tactic: exact @(Multiset.induction_on t (by simp [Multiset.sub_zero]) fun a t IH s => by
    simp [IH, erase_le_iff_le_cons])
state_before: α : Type u_1
β : Type ?u.156876
γ : Type ?u.156879
inst✝ : DecidableEq α
t u : Multiset α
a b : α
⊢ ∀ {s : Multiset α}, s - t ≤ u ↔ s ≤ u + t

tactic: simp [Multiset.sub_zero]
state_before: α : Type u_1
β : Type ?u.156876
γ : Type ?u.156879
inst✝ : DecidableEq α
t u : Multiset α
a b : α
⊢ ∀ {s : Multiset α}, s - 0 ≤ u ↔ s ≤ u + 0

tactic: simp [IH, erase_le_iff_le_cons]
state_before: α : Type u_1
β : Type ?u.156876
γ : Type ?u.156879
inst✝ : DecidableEq α
t✝ u : Multiset α
a✝ b a : α
t : Multiset α
IH : ∀ {s : Multiset α}, s - t ≤ u ↔ s ≤ u + t
s : Multiset α
⊢ s - a ::ₘ t ≤ u ↔ s ≤ u + a ::ₘ t
Theorem: SimpleGraph.ComponentCompl.disjoint_right
File: Mathlib/Combinatorics/SimpleGraph/Ends/Defs.lean

tactic: rw [Set.disjoint_iff]
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : ComponentCompl G K
⊢ Disjoint K ↑C

tactic: exact fun v ⟨vK, vC⟩ => vC.choose vK
state_before: V : Type u
G : SimpleGraph V
K L L' M : Set V
C : ComponentCompl G K
⊢ K ∩ ↑C ⊆ ∅
Theorem: Matrix.mem_unitaryGroup_iff
File: Mathlib/LinearAlgebra/UnitaryGroup.lean

tactic: refine' ⟨And.right, fun hA => ⟨_, hA⟩⟩
state_before: n : Type u
inst✝³ : DecidableEq n
inst✝² : Fintype n
α : Type v
inst✝¹ : CommRing α
inst✝ : StarRing α
A : Matrix n n α
⊢ A ∈ unitaryGroup n α ↔ A * star A = 1

tactic: simpa only [mul_eq_mul, mul_eq_one_comm] using hA
state_before: n : Type u
inst✝³ : DecidableEq n
inst✝² : Fintype n
α : Type v
inst✝¹ : CommRing α
inst✝ : StarRing α
A : Matrix n n α
hA : A * star A = 1
⊢ star A * A = 1
Theorem: Real.one_lt_cosh
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean

tactic: simp only [_root_.abs_zero, abs_pos]
state_before: x y z : ℝ
⊢ abs 0 < abs x ↔ x ≠ 0
Theorem: List.support_formPerm_le'
File: Mathlib/GroupTheory/Perm/List.lean

tactic: refine' (zipWith_swap_prod_support' l l.tail).trans _
state_before: α : Type u_1
β : Type ?u.733602
inst✝ : DecidableEq α
l : List α
x : α
⊢ {x | ↑(formPerm l) x ≠ x} ≤ ↑(toFinset l)

tactic: simpa [Finset.subset_iff] using tail_subset l
state_before: α : Type u_1
β : Type ?u.733602
inst✝ : DecidableEq α
l : List α
x : α
⊢ ↑(toFinset l ⊔ toFinset (tail l)) ≤ ↑(toFinset l)