tasksource/leandojo huggingface dataset:
Theorem: Computation.length_think
File: Mathlib/Data/Seq/Computation.lean

tactic: apply le_antisymm
state_before: α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
⊢ length (think s) = length s + 1

tactic: exact Nat.find_min' _ (Nat.find_spec ((terminates_def _).1 h))
state_before: case a
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
⊢ length (think s) ≤ length s + 1

tactic: have : (Option.isSome ((think s).val (length (think s))) : Prop) :=
  Nat.find_spec ((terminates_def _).1 s.think_terminates)
state_before: case a
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
⊢ length s + 1 ≤ length (think s)

tactic: revert this
state_before: case a
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
this : Option.isSome (↑(think s) (length (think s))) = true
⊢ length s + 1 ≤ length (think s)

tactic: cases' length (think s) with n <;> intro this
state_before: case a
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
⊢ Option.isSome (↑(think s) (length (think s))) = true → length s + 1 ≤ length (think s)

tactic: simp [think, Stream'.cons] at this
state_before: case a.zero
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
this : Option.isSome (↑(think s) Nat.zero) = true
⊢ length s + 1 ≤ Nat.zero

tactic: apply Nat.succ_le_succ
state_before: case a.succ
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
n : ℕ
this : Option.isSome (↑(think s) (Nat.succ n)) = true
⊢ length s + 1 ≤ Nat.succ n

tactic: apply Nat.find_min'
state_before: case a.succ.a
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
n : ℕ
this : Option.isSome (↑(think s) (Nat.succ n)) = true
⊢ length s ≤ n

tactic: apply this
state_before: case a.succ.a.h
α : Type u
β : Type v
γ : Type w
s : Computation α
h : Terminates s
n : ℕ
this : Option.isSome (↑(think s) (Nat.succ n)) = true
⊢ Option.isSome (↑s n) = true
Theorem: Complex.I_mul_im
File: Mathlib/Data/Complex/Basic.lean

tactic: simp
state_before: z : ℂ
⊢ (I * z).im = z.re
Theorem: NNReal.rpow_one_div_le_iff
File: Mathlib/Analysis/SpecialFunctions/Pow/NNReal.lean

tactic: rw [← rpow_le_rpow_iff hz, rpow_self_rpow_inv hz.ne']
state_before: x y : ℝ≥0
z : ℝ
hz : 0 < z
⊢ x ^ (1 / z) ≤ y ↔ x ≤ y ^ z
Theorem: MonotoneOn.map_max
File: Mathlib/Order/MinMax.lean

tactic: cases' le_total a b with h h <;>
  simp only [max_eq_right, max_eq_left, hf ha hb, hf hb ha, h]
state_before: α : Type u
β : Type v
inst✝¹ : LinearOrder α
inst✝ : LinearOrder β
f : α → β
s : Set α
a b c d : α
hf : MonotoneOn f s
ha : a ∈ s
hb : b ∈ s
⊢ f (max a b) = max (f a) (f b)
Theorem: LinearMap.IsSymmetric.add
File: Mathlib/Analysis/InnerProductSpace/Symmetric.lean

tactic: intro x y
state_before: 𝕜 : Type u_1
E : Type u_2
E' : Type ?u.45775
F : Type ?u.45778
G : Type ?u.45781
inst✝⁸ : IsROrC 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : NormedAddCommGroup G
inst✝² : InnerProductSpace 𝕜 G
inst✝¹ : NormedAddCommGroup E'
inst✝ : InnerProductSpace ℝ E'
T S : E →ₗ[𝕜] E
hT : IsSymmetric T
hS : IsSymmetric S
⊢ IsSymmetric (T + S)

tactic: rw [LinearMap.add_apply, inner_add_left, hT x y, hS x y, ← inner_add_right]
state_before: 𝕜 : Type u_1
E : Type u_2
E' : Type ?u.45775
F : Type ?u.45778
G : Type ?u.45781
inst✝⁸ : IsROrC 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : NormedAddCommGroup G
inst✝² : InnerProductSpace 𝕜 G
inst✝¹ : NormedAddCommGroup E'
inst✝ : InnerProductSpace ℝ E'
T S : E →ₗ[𝕜] E
hT : IsSymmetric T
hS : IsSymmetric S
x y : E
⊢ inner (↑(T + S) x) y = inner x (↑(T + S) y)

tactic: rfl
state_before: 𝕜 : Type u_1
E : Type u_2
E' : Type ?u.45775
F : Type ?u.45778
G : Type ?u.45781
inst✝⁸ : IsROrC 𝕜
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : InnerProductSpace 𝕜 E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : InnerProductSpace 𝕜 F
inst✝³ : NormedAddCommGroup G
inst✝² : InnerProductSpace 𝕜 G
inst✝¹ : NormedAddCommGroup E'
inst✝ : InnerProductSpace ℝ E'
T S : E →ₗ[𝕜] E
hT : IsSymmetric T
hS : IsSymmetric S
x y : E
⊢ inner x (↑T y + ↑S y) = inner x (↑(T + S) y)
Theorem: CategoryTheory.Limits.preserves_cokernel_iso_comp_cokernel_map
File: Mathlib/CategoryTheory/Limits/Preserves/Shapes/Kernels.lean

tactic: rw [← G.map_comp, hpq, G.map_comp]
state_before: C : Type u₁
inst✝¹⁰ : Category C
inst✝⁹ : HasZeroMorphisms C
D : Type u₂
inst✝⁸ : Category D
inst✝⁷ : HasZeroMorphisms D
G : C ⥤ D
inst✝⁶ : Functor.PreservesZeroMorphisms G
X Y Z : C
f : X ⟶ Y
h : Y ⟶ Z
w : f ≫ h = 0
inst✝⁵ : HasCokernel f
inst✝⁴ : HasCokernel (G.map f)
inst✝³ : PreservesColimit (parallelPair f 0) G
X' Y' : C
g : X' ⟶ Y'
inst✝² : HasCokernel g
inst✝¹ : HasCokernel (G.map g)
inst✝ : PreservesColimit (parallelPair g 0) G
p : X ⟶ X'
q : Y ⟶ Y'
hpq : f ≫ q = p ≫ g
⊢ G.map f ≫ G.map q = G.map p ≫ G.map g

tactic: rw [← Iso.comp_inv_eq, Category.assoc, ← Iso.eq_inv_comp, PreservesCokernel.iso_inv,
  cokernel_map_comp_cokernelComparison, PreservesCokernel.iso_inv]
state_before: C : Type u₁
inst✝¹⁰ : Category C
inst✝⁹ : HasZeroMorphisms C
D : Type u₂
inst✝⁸ : Category D
inst✝⁷ : HasZeroMorphisms D
G : C ⥤ D
inst✝⁶ : Functor.PreservesZeroMorphisms G
X Y Z : C
f : X ⟶ Y
h : Y ⟶ Z
w : f ≫ h = 0
inst✝⁵ : HasCokernel f
inst✝⁴ : HasCokernel (G.map f)
inst✝³ : PreservesColimit (parallelPair f 0) G
X' Y' : C
g : X' ⟶ Y'
inst✝² : HasCokernel g
inst✝¹ : HasCokernel (G.map g)
inst✝ : PreservesColimit (parallelPair g 0) G
p : X ⟶ X'
q : Y ⟶ Y'
hpq : f ≫ q = p ≫ g
⊢ (PreservesCokernel.iso G f).hom ≫
      cokernel.map (G.map f) (G.map g) (G.map p) (G.map q) (_ : G.map f ≫ G.map q = G.map p ≫ G.map g) =
    G.map (cokernel.map f g p q hpq) ≫ (PreservesCokernel.iso G g).hom
Theorem: CategoryTheory.Subobject.mk_eq_of_comm
File: Mathlib/CategoryTheory/Subobject/Basic.lean

tactic: rw [Iso.symm_hom, Iso.inv_comp_eq, w]
state_before: C : Type u₁
inst✝² : Category C
X✝ Y Z : C
D : Type u₂
inst✝¹ : Category D
B A : C
X : Subobject B
f : A ⟶ B
inst✝ : Mono f
i : A ≅ underlying.obj X
w : i.hom ≫ arrow X = f
⊢ i.symm.hom ≫ f = arrow X
Theorem: minpoly.aux_inj_roots_of_min_poly
File: Mathlib/FieldTheory/Minpoly/Field.lean

tactic: intro f g h
state_before: A : Type ?u.429217
B : Type ?u.429220
inst✝⁹ : Field A
inst✝⁸ : Ring B
inst✝⁷ : Algebra A B
x : B
F : Type u_3
E : Type u_1
K : Type u_2
inst✝⁶ : Field F
inst✝⁵ : Ring E
inst✝⁴ : CommRing K
inst✝³ : IsDomain K
inst✝² : Algebra F E
inst✝¹ : Algebra F K
inst✝ : FiniteDimensional F E
⊢ Injective (rootsOfMinPolyPiType F E K)

tactic: suffices (f : E →ₗ[F] K) = g by rwa [FunLike.ext'_iff] at this⊢
state_before: A : Type ?u.429217
B : Type ?u.429220
inst✝⁹ : Field A
inst✝⁸ : Ring B
inst✝⁷ : Algebra A B
x : B
F : Type u_3
E : Type u_1
K : Type u_2
inst✝⁶ : Field F
inst✝⁵ : Ring E
inst✝⁴ : CommRing K
inst✝³ : IsDomain K
inst✝² : Algebra F E
inst✝¹ : Algebra F K
inst✝ : FiniteDimensional F E
f g : E →ₐ[F] K
h : rootsOfMinPolyPiType F E K f = rootsOfMinPolyPiType F E K g
⊢ f = g

tactic: rw [funext_iff] at h
state_before: A : Type ?u.429217
B : Type ?u.429220
inst✝⁹ : Field A
inst✝⁸ : Ring B
inst✝⁷ : Algebra A B
x : B
F : Type u_3
E : Type u_1
K : Type u_2
inst✝⁶ : Field F
inst✝⁵ : Ring E
inst✝⁴ : CommRing K
inst✝³ : IsDomain K
inst✝² : Algebra F E
inst✝¹ : Algebra F K
inst✝ : FiniteDimensional F E
f g : E →ₐ[F] K
h : rootsOfMinPolyPiType F E K f = rootsOfMinPolyPiType F E K g
⊢ ↑↑f = ↑↑g

tactic: exact LinearMap.ext_on (FiniteDimensional.finBasis F E).span_eq fun e he =>
  Subtype.ext_iff.mp (h ⟨e, he⟩)
state_before: A : Type ?u.429217
B : Type ?u.429220
inst✝⁹ : Field A
inst✝⁸ : Ring B
inst✝⁷ : Algebra A B
x : B
F : Type u_3
E : Type u_1
K : Type u_2
inst✝⁶ : Field F
inst✝⁵ : Ring E
inst✝⁴ : CommRing K
inst✝³ : IsDomain K
inst✝² : Algebra F E
inst✝¹ : Algebra F K
inst✝ : FiniteDimensional F E
f g : E →ₐ[F] K
h : ∀ (a : ↑(range ↑(FiniteDimensional.finBasis F E))), rootsOfMinPolyPiType F E K f a = rootsOfMinPolyPiType F E K g a
⊢ ↑↑f = ↑↑g

tactic: rwa [FunLike.ext'_iff] at this⊢
state_before: A : Type ?u.429217
B : Type ?u.429220
inst✝⁹ : Field A
inst✝⁸ : Ring B
inst✝⁷ : Algebra A B
x : B
F : Type u_3
E : Type u_1
K : Type u_2
inst✝⁶ : Field F
inst✝⁵ : Ring E
inst✝⁴ : CommRing K
inst✝³ : IsDomain K
inst✝² : Algebra F E
inst✝¹ : Algebra F K
inst✝ : FiniteDimensional F E
f g : E →ₐ[F] K
h : rootsOfMinPolyPiType F E K f = rootsOfMinPolyPiType F E K g
this : ↑↑f = ↑↑g
⊢ f = g
Theorem: LinearMap.toMatrix_id
File: Mathlib/LinearAlgebra/Matrix/ToLin.lean

tactic: ext (i j)
state_before: R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1742508
m : Type ?u.1742511
n : Type u_2
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_3
M₂ : Type ?u.1742535
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
⊢ ↑(toMatrix v₁ v₁) id = 1

tactic: simp [LinearMap.toMatrix_apply, Matrix.one_apply, Finsupp.single_apply, eq_comm]
state_before: case a.h
R : Type u_1
inst✝⁷ : CommSemiring R
l : Type ?u.1742508
m : Type ?u.1742511
n : Type u_2
inst✝⁶ : Fintype n
inst✝⁵ : Fintype m
inst✝⁴ : DecidableEq n
M₁ : Type u_3
M₂ : Type ?u.1742535
inst✝³ : AddCommMonoid M₁
inst✝² : AddCommMonoid M₂
inst✝¹ : Module R M₁
inst✝ : Module R M₂
v₁ : Basis n R M₁
v₂ : Basis m R M₂
i j : n
⊢ ↑(toMatrix v₁ v₁) id i j = OfNat.ofNat 1 i j
Theorem: LinearOrderedField.lt_inducedMap_iff
File: Mathlib/Algebra/Order/CompleteField.lean

tactic: rwa [coe_lt_inducedMap_iff]
state_before: F : Type ?u.22150
α : Type u_2
β : Type u_1
γ : Type ?u.22159
inst✝³ : LinearOrderedField α
inst✝² : ConditionallyCompleteLinearOrderedField β
inst✝¹ : ConditionallyCompleteLinearOrderedField γ
inst✝ : Archimedean α
a : α
b : β
q✝ : ℚ
x✝ : ∃ q, b < ↑q ∧ ↑q < a
q : ℚ
hbq : b < ↑q
hqa : ↑q < a
⊢ ↑q < inducedMap α β a
Theorem: Finset.card_subtype
File: Mathlib/Data/Finset/Card.lean

tactic: simp [Finset.subtype]
state_before: α : Type u_1
β : Type ?u.16758
s✝ t : Finset α
f : α → β
n : ℕ
p : α → Prop
inst✝ : DecidablePred p
s : Finset α
⊢ card (Finset.subtype p s) = card (filter p s)
Theorem: LinearMap.comap_le_comap_iff
File: Mathlib/LinearAlgebra/Basic.lean

tactic: rcases range_eq_top.1 hf x with ⟨y, hy, rfl⟩
state_before: R : Type u_3
R₁ : Type ?u.1263750
R₂ : Type u_2
R₃ : Type ?u.1263756
R₄ : Type ?u.1263759
S : Type ?u.1263762
K : Type ?u.1263765
K₂ : Type ?u.1263768
M : Type u_4
M' : Type ?u.1263774
M₁ : Type ?u.1263777
M₂ : Type u_1
M₃ : Type ?u.1263783
M₄ : Type ?u.1263786
N : Type ?u.1263789
N₂ : Type ?u.1263792
ι : Type ?u.1263795
V : Type ?u.1263798
V₂ : Type ?u.1263801
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : Semiring R₃
inst✝⁸ : AddCommMonoid M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : Module R M
inst✝³ : Module R₂ M₂
inst✝² : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_5
sc : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : F
hf : range f = ⊤
p p' : Submodule R₂ M₂
H : comap f p ≤ comap f p'
x : M₂
hx : x ∈ p
⊢ x ∈ p'

tactic: exact H hx
state_before: case intro.refl
R : Type u_3
R₁ : Type ?u.1263750
R₂ : Type u_2
R₃ : Type ?u.1263756
R₄ : Type ?u.1263759
S : Type ?u.1263762
K : Type ?u.1263765
K₂ : Type ?u.1263768
M : Type u_4
M' : Type ?u.1263774
M₁ : Type ?u.1263777
M₂ : Type u_1
M₃ : Type ?u.1263783
M₄ : Type ?u.1263786
N : Type ?u.1263789
N₂ : Type ?u.1263792
ι : Type ?u.1263795
V : Type ?u.1263798
V₂ : Type ?u.1263801
inst✝¹¹ : Semiring R
inst✝¹⁰ : Semiring R₂
inst✝⁹ : Semiring R₃
inst✝⁸ : AddCommMonoid M
inst✝⁷ : AddCommMonoid M₂
inst✝⁶ : AddCommMonoid M₃
σ₁₂ : R →+* R₂
σ₂₃ : R₂ →+* R₃
σ₁₃ : R →+* R₃
inst✝⁵ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝⁴ : Module R M
inst✝³ : Module R₂ M₂
inst✝² : Module R₃ M₃
σ₂₁ : R₂ →+* R
τ₁₂ : R →+* R₂
τ₂₃ : R₂ →+* R₃
τ₁₃ : R →+* R₃
inst✝¹ : RingHomCompTriple τ₁₂ τ₂₃ τ₁₃
F : Type u_5
sc : SemilinearMapClass F τ₁₂ M M₂
inst✝ : RingHomSurjective τ₁₂
f : F
hf : range f = ⊤
p p' : Submodule R₂ M₂
H : comap f p ≤ comap f p'
y : M
hx : ↑f y ∈ p
⊢ ↑f y ∈ p'
Theorem: MeasureTheory.measure_diff_le_iff_le_add
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: rw [measure_diff hst hs hs', tsub_le_iff_left]
state_before: α : Type u_1
β : Type ?u.25758
γ : Type ?u.25761
δ : Type ?u.25764
ι : Type ?u.25767
R : Type ?u.25770
R' : Type ?u.25773
m : MeasurableSpace α
μ μ₁ μ₂ : Measure α
s s₁ s₂ t : Set α
hs : MeasurableSet s
hst : s ⊆ t
hs' : ↑↑μ s ≠ ⊤
ε : ℝ≥0∞
⊢ ↑↑μ (t \ s) ≤ ε ↔ ↑↑μ t ≤ ↑↑μ s + ε
Theorem: iteratedFDerivWithin_eventually_congr_set'
File: Mathlib/Analysis/Calculus/ContDiffDef.lean

tactic: induction' n with n ihn generalizing x
state_before: 𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
y : E
h : s =ᶠ[𝓝[{y}ᶜ] x] t
n : ℕ
⊢ iteratedFDerivWithin 𝕜 n f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 n f t

tactic: rfl
state_before: case zero
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
y : E
h✝ : s =ᶠ[𝓝[{y}ᶜ] x✝] t
x : E
h : s =ᶠ[𝓝[{y}ᶜ] x] t
⊢ iteratedFDerivWithin 𝕜 Nat.zero f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 Nat.zero f t

tactic: refine' (eventually_nhds_nhdsWithin.2 h).mono fun y hy => _
state_before: case succ
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
y : E
h✝ : s =ᶠ[𝓝[{y}ᶜ] x✝] t
n : ℕ
ihn : ∀ {x : E}, s =ᶠ[𝓝[{y}ᶜ] x] t → iteratedFDerivWithin 𝕜 n f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 n f t
x : E
h : s =ᶠ[𝓝[{y}ᶜ] x] t
⊢ iteratedFDerivWithin 𝕜 (Nat.succ n) f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 (Nat.succ n) f t

tactic: rw [(ihn hy).fderivWithin_eq_nhds, fderivWithin_congr_set' _ hy]
state_before: case succ
𝕜 : Type u
inst✝⁸ : NontriviallyNormedField 𝕜
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 uX
inst✝¹ : NormedAddCommGroup X
inst✝ : NormedSpace 𝕜 X
s s₁ t u : Set E
f f₁ : E → F
g : F → G
x✝ x₀ : E
c : F
m n✝ : ℕ∞
p : E → FormalMultilinearSeries 𝕜 E F
y✝ : E
h✝ : s =ᶠ[𝓝[{y✝}ᶜ] x✝] t
n : ℕ
ihn : ∀ {x : E}, s =ᶠ[𝓝[{y✝}ᶜ] x] t → iteratedFDerivWithin 𝕜 n f s =ᶠ[𝓝 x] iteratedFDerivWithin 𝕜 n f t
x : E
h : s =ᶠ[𝓝[{y✝}ᶜ] x] t
y : E
hy : ∀ᶠ (x : E) in 𝓝[{y✝}ᶜ] y, s x = t x
⊢ ↑(continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F) (fderivWithin 𝕜 (iteratedFDerivWithin 𝕜 n f s) s y) =
    ↑(continuousMultilinearCurryLeftEquiv 𝕜 (fun x => E) F) (fderivWithin 𝕜 (iteratedFDerivWithin 𝕜 n f t) t y)
Theorem: LocalHomeomorph.IsImage.closure
File: Mathlib/Topology/LocalHomeomorph.lean

tactic: simp only [mem_closure_iff_nhdsWithin_neBot, ← h.map_nhdsWithin_eq hx, map_neBot_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.44868
δ : Type ?u.44871
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
e : LocalHomeomorph α β
e' : LocalHomeomorph β γ
s : Set α
t : Set β
x✝ : α
y : β
h : IsImage e s t
x : α
hx : x ∈ e.source
⊢ ↑e x ∈ closure t ↔ x ∈ closure s
Theorem: Asymptotics.isLittleO_of_subsingleton
File: Mathlib/Analysis/Asymptotics/Asymptotics.lean

tactic: simp [Subsingleton.elim (f' _) 0, mul_nonneg hc.le]
state_before: α : Type u_2
β : Type ?u.51067
E : Type ?u.51070
F : Type ?u.51073
G : Type ?u.51076
E' : Type u_1
F' : Type u_3
G' : Type ?u.51085
E'' : Type ?u.51088
F'' : Type ?u.51091
G'' : Type ?u.51094
R : Type ?u.51097
R' : Type ?u.51100
𝕜 : Type ?u.51103
𝕜' : Type ?u.51106
inst✝¹³ : Norm E
inst✝¹² : Norm F
inst✝¹¹ : Norm G
inst✝¹⁰ : SeminormedAddCommGroup E'
inst✝⁹ : SeminormedAddCommGroup F'
inst✝⁸ : SeminormedAddCommGroup G'
inst✝⁷ : NormedAddCommGroup E''
inst✝⁶ : NormedAddCommGroup F''
inst✝⁵ : NormedAddCommGroup G''
inst✝⁴ : SeminormedRing R
inst✝³ : SeminormedRing R'
inst✝² : NormedField 𝕜
inst✝¹ : NormedField 𝕜'
c✝ c' c₁ c₂ : ℝ
f : α → E
g : α → F
k : α → G
f' : α → E'
g' : α → F'
k' : α → G'
f'' : α → E''
g'' : α → F''
k'' : α → G''
l l' : Filter α
inst✝ : Subsingleton E'
c : ℝ
hc : 0 < c
⊢ ∀ᶠ (x : α) in l, ‖f' x‖ ≤ c * ‖g' x‖
Theorem: Seminorm.closedBall_comp
File: Mathlib/Analysis/Seminorm.lean

tactic: ext
state_before: R : Type ?u.950251
R' : Type ?u.950254
𝕜 : Type u_3
𝕜₂ : Type u_1
𝕜₃ : Type ?u.950263
𝕝 : Type ?u.950266
E : Type u_4
E₂ : Type u_2
E₃ : Type ?u.950275
F : Type ?u.950278
G : Type ?u.950281
ι : Type ?u.950284
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
⊢ closedBall (comp p f) x r = ↑f ⁻¹' closedBall p (↑f x) r

tactic: simp_rw [closedBall, mem_preimage, comp_apply, Set.mem_setOf_eq, map_sub]
state_before: case h
R : Type ?u.950251
R' : Type ?u.950254
𝕜 : Type u_3
𝕜₂ : Type u_1
𝕜₃ : Type ?u.950263
𝕝 : Type ?u.950266
E : Type u_4
E₂ : Type u_2
E₃ : Type ?u.950275
F : Type ?u.950278
G : Type ?u.950281
ι : Type ?u.950284
inst✝⁶ : SeminormedRing 𝕜
inst✝⁵ : AddCommGroup E
inst✝⁴ : Module 𝕜 E
inst✝³ : SeminormedRing 𝕜₂
inst✝² : AddCommGroup E₂
inst✝¹ : Module 𝕜₂ E₂
σ₁₂ : 𝕜 →+* 𝕜₂
inst✝ : RingHomIsometric σ₁₂
p : Seminorm 𝕜₂ E₂
f : E →ₛₗ[σ₁₂] E₂
x : E
r : ℝ
x✝ : E
⊢ x✝ ∈ closedBall (comp p f) x r ↔ x✝ ∈ ↑f ⁻¹' closedBall p (↑f x) r
Theorem: HahnSeries.embDomain_add
File: Mathlib/RingTheory/HahnSeries.lean

tactic: ext g
state_before: Γ : Type u_1
R : Type u_3
inst✝² : PartialOrder Γ
inst✝¹ : AddMonoid R
Γ' : Type u_2
inst✝ : PartialOrder Γ'
f : Γ ↪o Γ'
x y : HahnSeries Γ R
⊢ embDomain f (x + y) = embDomain f x + embDomain f y

tactic: by_cases hg : g ∈ Set.range f
state_before: case coeff.h
Γ : Type u_1
R : Type u_3
inst✝² : PartialOrder Γ
inst✝¹ : AddMonoid R
Γ' : Type u_2
inst✝ : PartialOrder Γ'
f : Γ ↪o Γ'
x y : HahnSeries Γ R
g : Γ'
⊢ coeff (embDomain f (x + y)) g = coeff (embDomain f x + embDomain f y) g

tactic: obtain ⟨a, rfl⟩ := hg
state_before: case pos
Γ : Type u_1
R : Type u_3
inst✝² : PartialOrder Γ
inst✝¹ : AddMonoid R
Γ' : Type u_2
inst✝ : PartialOrder Γ'
f : Γ ↪o Γ'
x y : HahnSeries Γ R
g : Γ'
hg : g ∈ Set.range ↑f
⊢ coeff (embDomain f (x + y)) g = coeff (embDomain f x + embDomain f y) g

tactic: simp
state_before: case pos.intro
Γ : Type u_1
R : Type u_3
inst✝² : PartialOrder Γ
inst✝¹ : AddMonoid R
Γ' : Type u_2
inst✝ : PartialOrder Γ'
f : Γ ↪o Γ'
x y : HahnSeries Γ R
a : Γ
⊢ coeff (embDomain f (x + y)) (↑f a) = coeff (embDomain f x + embDomain f y) (↑f a)

tactic: simp [embDomain_notin_range hg]
state_before: case neg
Γ : Type u_1
R : Type u_3
inst✝² : PartialOrder Γ
inst✝¹ : AddMonoid R
Γ' : Type u_2
inst✝ : PartialOrder Γ'
f : Γ ↪o Γ'
x y : HahnSeries Γ R
g : Γ'
hg : ¬g ∈ Set.range ↑f
⊢ coeff (embDomain f (x + y)) g = coeff (embDomain f x + embDomain f y) g
Theorem: AntilipschitzWith.mul_div_lipschitzWith
File: Mathlib/Analysis/Normed/Group/Basic.lean

tactic: simpa only [Pi.div_apply, mul_div_cancel'_right] using hf.mul_lipschitzWith hg hK
state_before: 𝓕 : Type ?u.1212646
𝕜 : Type ?u.1212649
α : Type u_1
ι : Type ?u.1212655
κ : Type ?u.1212658
E : Type u_2
F : Type ?u.1212664
G : Type ?u.1212667
inst✝² : SeminormedCommGroup E
inst✝¹ : SeminormedCommGroup F
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝ : PseudoEMetricSpace α
K Kf Kg : ℝ≥0
f g : α → E
hf : AntilipschitzWith Kf f
hg : LipschitzWith Kg (g / f)
hK : Kg < Kf⁻¹
⊢ AntilipschitzWith (Kf⁻¹ - Kg)⁻¹ g
Theorem: Filter.exists_lt_of_tendsto_atTop
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: cases' exists_gt b with b' hb'
state_before: ι : Type ?u.68133
ι' : Type ?u.68136
α : Type u_1
β : Type u_2
γ : Type ?u.68145
inst✝² : SemilatticeSup α
inst✝¹ : Preorder β
inst✝ : NoMaxOrder β
u : α → β
h : Tendsto u atTop atTop
a : α
b : β
⊢ ∃ a', a' ≥ a ∧ b < u a'

tactic: rcases exists_le_of_tendsto_atTop h a b' with ⟨a', ha', ha''⟩
state_before: case intro
ι : Type ?u.68133
ι' : Type ?u.68136
α : Type u_1
β : Type u_2
γ : Type ?u.68145
inst✝² : SemilatticeSup α
inst✝¹ : Preorder β
inst✝ : NoMaxOrder β
u : α → β
h : Tendsto u atTop atTop
a : α
b b' : β
hb' : b < b'
⊢ ∃ a', a' ≥ a ∧ b < u a'

tactic: exact ⟨a', ha', lt_of_lt_of_le hb' ha''⟩
state_before: case intro.intro.intro
ι : Type ?u.68133
ι' : Type ?u.68136
α : Type u_1
β : Type u_2
γ : Type ?u.68145
inst✝² : SemilatticeSup α
inst✝¹ : Preorder β
inst✝ : NoMaxOrder β
u : α → β
h : Tendsto u atTop atTop
a : α
b b' : β
hb' : b < b'
a' : α
ha' : a' ≥ a
ha'' : b' ≤ u a'
⊢ ∃ a', a' ≥ a ∧ b < u a'
Theorem: Matrix.scalar.commute
File: Mathlib/Data/Matrix/Basic.lean

tactic: simp [Commute, SemiconjBy]
state_before: l : Type ?u.487731
m : Type ?u.487734
n : Type u_1
o : Type ?u.487740
m' : o → Type ?u.487745
n' : o → Type ?u.487750
R : Type ?u.487753
S : Type ?u.487756
α : Type v
β : Type w
γ : Type ?u.487763
inst✝² : CommSemiring α
inst✝¹ : Fintype n
inst✝ : DecidableEq n
r : α
M : Matrix n n α
⊢ Commute (↑(scalar n) r) M
Theorem: CategoryTheory.CoverPreserving.comp
File: Mathlib/CategoryTheory/Sites/CoverPreserving.lean

tactic: rw [Sieve.functorPushforward_comp]
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
F : C ⥤ D
hF : CoverPreserving J K F
G : D ⥤ A
hG : CoverPreserving K L G
U✝ : C
S✝ : Sieve U✝
hS : S✝ ∈ GrothendieckTopology.sieves J U✝
⊢ Sieve.functorPushforward (F ⋙ G) S✝ ∈ GrothendieckTopology.sieves L ((F ⋙ G).obj U✝)

tactic: exact hG.cover_preserve (hF.cover_preserve 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
F : C ⥤ D
hF : CoverPreserving J K F
G : D ⥤ A
hG : CoverPreserving K L G
U✝ : C
S✝ : Sieve U✝
hS : S✝ ∈ GrothendieckTopology.sieves J U✝
⊢ Sieve.functorPushforward G (Sieve.functorPushforward F S✝) ∈ GrothendieckTopology.sieves L ((F ⋙ G).obj U✝)
Theorem: Rat.divInt_mul_divInt
File: Std/Data/Rat/Lemmas.lean

tactic: rcases Int.eq_nat_or_neg d₁ with ⟨_, rfl | rfl⟩ <;>
rcases Int.eq_nat_or_neg d₂ with ⟨_, rfl | rfl⟩ <;>
simp_all [divInt_neg', Int.mul_neg, Int.ofNat_mul_ofNat,  Int.neg_mul, mkRat_mul_mkRat]
state_before: n₁ n₂ d₁ d₂ : Int
z₁ : d₁ ≠ 0
z₂ : d₂ ≠ 0
⊢ n₁ /. d₁ * (n₂ /. d₂) = n₁ * n₂ /. (d₁ * d₂)