1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: LieIdeal.comap_mono
File: Mathlib/Algebra/Lie/Submodule.lean

tactic: rw [← SetLike.coe_subset_coe] at h ⊢
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂ : LieIdeal R L
J J₁ J₂ : LieIdeal R L'
h : J₁ ≤ J₂
⊢ comap f J₁ ≤ comap f J₂
state_after: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂ : LieIdeal R L
J J₁ J₂ : LieIdeal R L'
h : ↑J₁ ⊆ ↑J₂
⊢ ↑(comap f J₁) ⊆ ↑(comap f J₂)

tactic: dsimp only [SetLike.coe]
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂ : LieIdeal R L
J J₁ J₂ : LieIdeal R L'
h : ↑J₁ ⊆ ↑J₂
⊢ ↑(comap f J₁) ⊆ ↑(comap f J₂)
state_after: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂ : LieIdeal R L
J J₁ J₂ : LieIdeal R L'
h : ↑J₁ ⊆ ↑J₂
⊢ (↑(comap f J₁)).carrier ⊆ (↑(comap f J₂)).carrier

tactic: exact Set.preimage_mono h
state_before: R : Type u
L : Type v
L' : Type w₂
M : Type w
M' : Type w₁
inst✝¹² : CommRing R
inst✝¹¹ : LieRing L
inst✝¹⁰ : LieAlgebra R L
inst✝⁹ : LieRing L'
inst✝⁸ : LieAlgebra R L'
inst✝⁷ : AddCommGroup M
inst✝⁶ : Module R M
inst✝⁵ : LieRingModule L M
inst✝⁴ : LieModule R L M
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
inst✝¹ : LieRingModule L M'
inst✝ : LieModule R L M'
f : L →ₗ⁅R⁆ L'
I I₂ : LieIdeal R L
J J₁ J₂ : LieIdeal R L'
h : ↑J₁ ⊆ ↑J₂
⊢ (↑(comap f J₁)).carrier ⊆ (↑(comap f J₂)).carrier
state_after: no goals
Theorem: MeasureTheory.tilted_neg_same
File: Mathlib/MeasureTheory/Measure/Tilted.lean

tactic: simp [hf]
state_before: α : Type u_1
mα : MeasurableSpace α
μ : Measure α
f : α → ℝ
inst✝ : IsProbabilityMeasure μ
hf : Integrable (fun x => rexp (f x)) μ
⊢ (μ.tilted f).tilted (-f) = μ
state_after: no goals
Theorem: SetTheory.PGame.neg_lf_zero_iff
File: Mathlib/SetTheory/Game/PGame.lean

tactic: rw [neg_lf_iff, neg_zero]
state_before: xl xr : Type u
x : PGame
⊢ -x ⧏ 0 ↔ 0 ⧏ x
state_after: no goals
Theorem: Multiset.sup_ndunion
File: Mathlib/Data/Multiset/Lattice.lean

tactic: rw [← sup_dedup, dedup_ext.2, sup_dedup, sup_add]
state_before: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
s₁ s₂ : Multiset α
⊢ (s₁.ndunion s₂).sup = s₁.sup ⊔ s₂.sup
state_after: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
s₁ s₂ : Multiset α
⊢ ∀ (a : α), a ∈ s₁.ndunion s₂ ↔ a ∈ s₁ + s₂

tactic: simp
state_before: α : Type u_1
inst✝² : SemilatticeSup α
inst✝¹ : OrderBot α
inst✝ : DecidableEq α
s₁ s₂ : Multiset α
⊢ ∀ (a : α), a ∈ s₁.ndunion s₂ ↔ a ∈ s₁ + s₂
state_after: no goals
Theorem: IntermediateField.eq_of_le_of_finrank_le'
File: Mathlib/FieldTheory/IntermediateField.lean

tactic: refine le_antisymm h_le (fun l hl ↦ ?_)
state_before: K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : Field L'
inst✝² : Algebra K L
inst✝¹ : Algebra K L'
S F E : IntermediateField K L
inst✝ : FiniteDimensional (↥F) L
h_le : F ≤ E
h_finrank : finrank (↥F) L ≤ finrank (↥E) L
⊢ F = E
state_after: K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : Field L'
inst✝² : Algebra K L
inst✝¹ : Algebra K L'
S F E : IntermediateField K L
inst✝ : FiniteDimensional (↥F) L
h_le : F ≤ E
h_finrank : finrank (↥F) L ≤ finrank (↥E) L
l : L
hl : l ∈ E
⊢ l ∈ F

tactic: rwa [← mem_extendScalars (le_refl F), eq_of_le_of_finrank_le''
  ((extendScalars_le_extendScalars_iff (le_refl F) h_le).2 h_le) h_finrank, mem_extendScalars]
state_before: K : Type u_1
L : Type u_2
L' : Type u_3
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : Field L'
inst✝² : Algebra K L
inst✝¹ : Algebra K L'
S F E : IntermediateField K L
inst✝ : FiniteDimensional (↥F) L
h_le : F ≤ E
h_finrank : finrank (↥F) L ≤ finrank (↥E) L
l : L
hl : l ∈ E
⊢ l ∈ F
state_after: no goals
Theorem: DualNumber.algHom_ext
File: Mathlib/Algebra/DualNumber.lean

tactic: ext
state_before: R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f g : R[ε] →ₐ[R] A
hε : f ε = g ε
⊢ f = g
state_after: case hinr.h
R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f g : R[ε] →ₐ[R] A
hε : f ε = g ε
⊢ (f.toLinearMap ∘ₗ ↑R (LinearMap.toSpanSingleton R R[ε] ε)) 1 =
    (g.toLinearMap ∘ₗ ↑R (LinearMap.toSpanSingleton R R[ε] ε)) 1

tactic: dsimp
state_before: case hinr.h
R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f g : R[ε] →ₐ[R] A
hε : f ε = g ε
⊢ (f.toLinearMap ∘ₗ ↑R (LinearMap.toSpanSingleton R R[ε] ε)) 1 =
    (g.toLinearMap ∘ₗ ↑R (LinearMap.toSpanSingleton R R[ε] ε)) 1
state_after: case hinr.h
R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f g : R[ε] →ₐ[R] A
hε : f ε = g ε
⊢ f (1 • ε) = g (1 • ε)

tactic: simp only [one_smul, hε]
state_before: case hinr.h
R : Type u_1
A✝ : Type u_2
B : Type u_3
A : Type u_4
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f g : R[ε] →ₐ[R] A
hε : f ε = g ε
⊢ f (1 • ε) = g (1 • ε)
state_after: no goals
Theorem: Padic.padicNormE_lim_le
File: Mathlib/NumberTheory/Padics/PadicNumbers.lean

tactic: obtain ⟨N, hN⟩ := (CauSeq.equiv_lim f) _ ha
state_before: p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
⊢ ‖f.lim‖ ≤ a
state_after: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ ‖f.lim‖ ≤ a

tactic: rw [← sub_add_cancel f.lim (f N)]
state_before: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ ‖f.lim‖ ≤ a
state_after: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ ‖f.lim - ↑f N + ↑f N‖ ≤ a

tactic: refine le_trans (padicNormE.nonarchimedean _ _) ?_
state_before: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ ‖f.lim - ↑f N + ↑f N‖ ≤ a
state_after: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ max ‖f.lim - ↑f N‖ ‖↑f N‖ ≤ a

tactic: rw [norm_sub_rev]
state_before: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ max ‖f.lim - ↑f N‖ ‖↑f N‖ ≤ a
state_after: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ max ‖↑f N - f.lim‖ ‖↑f N‖ ≤ a

tactic: exact max_le (le_of_lt (hN _ le_rfl)) (hf _)
state_before: case intro
p : ℕ
hp : Fact (Nat.Prime p)
f : CauSeq ℚ_[p] norm
a : ℝ
ha : 0 < a
hf : ∀ (i : ℕ), ‖↑f i‖ ≤ a
N : ℕ
hN : ∀ j ≥ N, ‖↑(f - const norm f.lim) j‖ < a
⊢ max ‖↑f N - f.lim‖ ‖↑f N‖ ≤ a
state_after: no goals
Theorem: Complex.tendsto_log_nhdsWithin_im_nonneg_of_re_neg_of_im_zero
File: Mathlib/Analysis/SpecialFunctions/Complex/Log.lean

tactic: simpa only [log, arg_eq_pi_iff.2 ⟨hre, him⟩] using
  (continuousWithinAt_log_of_re_neg_of_im_zero hre him).tendsto
state_before: z : ℂ
hre : z.re < 0
him : z.im = 0
⊢ Tendsto log (𝓝[{z | 0 ≤ z.im}] z) (𝓝 (↑(Real.log (abs z)) + ↑π * I))
state_after: no goals
Theorem: CategoryTheory.shiftFunctorAdd_zero_add_hom_app
File: Mathlib/CategoryTheory/Shift/Basic.lean

tactic: dsimp
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (0 + a)).obj X = (shiftFunctor C a).obj ((𝟭 C).obj X)
state_after: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (0 + a)).obj X = (shiftFunctor C a).obj X

tactic: rw [zero_add]
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctor C (0 + a)).obj X = (shiftFunctor C a).obj X
state_after: no goals

tactic: simp [← shiftFunctorAdd'_zero_add_hom_app, shiftFunctorAdd']
state_before: C : Type u
A : Type u_1
inst✝² : Category.{v, u} C
inst✝¹ : AddMonoid A
inst✝ : HasShift C A
a : A
X : C
⊢ (shiftFunctorAdd C 0 a).hom.app X = eqToHom ⋯ ≫ (shiftFunctor C a).map ((shiftFunctorZero C A).inv.app X)
state_after: no goals
Theorem: Complex.tan_periodic
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Basic.lean

tactic: simpa only [tan_eq_sin_div_cos] using sin_antiperiodic.div cos_antiperiodic
state_before: ⊢ Function.Periodic tan ↑π
state_after: no goals
Theorem: Finset.map_subtype_subset
File: Mathlib/Data/Finset/Image.lean

tactic: intro a ha
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
t : Set α
s : Finset ↑t
⊢ ↑(map (Embedding.subtype fun x => x ∈ t) s) ⊆ t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
t : Set α
s : Finset ↑t
a : α
ha : a ∈ ↑(map (Embedding.subtype fun x => x ∈ t) s)
⊢ a ∈ t

tactic: rw [mem_coe] at ha
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
t : Set α
s : Finset ↑t
a : α
ha : a ∈ ↑(map (Embedding.subtype fun x => x ∈ t) s)
⊢ a ∈ t
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
t : Set α
s : Finset ↑t
a : α
ha : a ∈ map (Embedding.subtype fun x => x ∈ t) s
⊢ a ∈ t

tactic: convert property_of_mem_map_subtype s ha
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
t : Set α
s : Finset ↑t
a : α
ha : a ∈ map (Embedding.subtype fun x => x ∈ t) s
⊢ a ∈ t
state_after: no goals
Theorem: Nat.Icc_pred_right
File: Mathlib/Order/Interval/Finset/Nat.lean

tactic: ext x
state_before: a b✝ c b : ℕ
h : 0 < b
⊢ Icc a (b - 1) = Ico a b
state_after: case a
a b✝ c b : ℕ
h : 0 < b
x : ℕ
⊢ x ∈ Icc a (b - 1) ↔ x ∈ Ico a b

tactic: rw [mem_Icc, mem_Ico, lt_iff_le_pred h]
state_before: case a
a b✝ c b : ℕ
h : 0 < b
x : ℕ
⊢ x ∈ Icc a (b - 1) ↔ x ∈ Ico a b
state_after: no goals
Theorem: HasDerivAt.inner
File: Mathlib/Analysis/InnerProductSpace/Calculus.lean

tactic: simpa only [← hasDerivWithinAt_univ] using HasDerivWithinAt.inner 𝕜
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁷ : _root_.RCLike 𝕜
inst✝⁶ : NormedAddCommGroup E
inst✝⁵ : InnerProductSpace 𝕜 E
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : NormedSpace ℝ E
G : Type u_4
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℝ G
f✝ g✝ : G → E
f'✝ g'✝ : G →L[ℝ] E
s : Set G
x✝ : G
n : ℕ∞
f g : ℝ → E
f' g' : E
x : ℝ
⊢ HasDerivAt f f' x → HasDerivAt g g' x → HasDerivAt (fun t => ⟪f t, g t⟫_𝕜) (⟪f x, g'⟫_𝕜 + ⟪f', g x⟫_𝕜) x
state_after: no goals
Theorem: Algebra.adjoin.powerBasis'_gen
File: Mathlib/FieldTheory/Minpoly/IsIntegrallyClosed.lean

tactic: rw [Algebra.adjoin.powerBasis', PowerBasis.map_gen, AdjoinRoot.powerBasis'_gen, equivAdjoin,
  AlgEquiv.ofBijective_apply, Minpoly.toAdjoin, liftHom_root]
state_before: R : Type u_1
S : Type u_2
inst✝⁶ : CommRing R
inst✝⁵ : CommRing S
inst✝⁴ : IsDomain R
inst✝³ : Algebra R S
inst✝² : IsDomain S
inst✝¹ : NoZeroSMulDivisors R S
inst✝ : IsIntegrallyClosed R
x : S
hx : IsIntegral R x
⊢ (adjoin.powerBasis' hx).gen = ⟨x, ⋯⟩
state_after: no goals
Theorem: Equiv.Perm.cycleType_extendDomain
File: Mathlib/GroupTheory/Perm/Cycle/Type.lean

tactic: induction g using cycle_induction_on with
| base_one => rw [extendDomain_one, cycleType_one, cycleType_one]
| base_cycles σ hσ =>
  rw [(hσ.extendDomain f).cycleType, hσ.cycleType, card_support_extend_domain]
| induction_disjoint σ τ hd _ hσ hτ =>
  rw [hd.cycleType, ← extendDomain_mul, (hd.extendDomain f).cycleType, hσ, hτ]
state_before: α : Type u_1
inst✝⁴ : Fintype α
inst✝³ : DecidableEq α
β : Type u_2
inst✝² : Fintype β
inst✝¹ : DecidableEq β
p : β → Prop
inst✝ : DecidablePred p
f : α ≃ Subtype p
g : Perm α
⊢ (g.extendDomain f).cycleType = g.cycleType
state_after: no goals

tactic: rw [extendDomain_one, cycleType_one, cycleType_one]
state_before: case base_one
α : Type u_1
inst✝⁴ : Fintype α
inst✝³ : DecidableEq α
β : Type u_2
inst✝² : Fintype β
inst✝¹ : DecidableEq β
p : β → Prop
inst✝ : DecidablePred p
f : α ≃ Subtype p
⊢ (extendDomain 1 f).cycleType = cycleType 1
state_after: no goals

tactic: rw [(hσ.extendDomain f).cycleType, hσ.cycleType, card_support_extend_domain]
state_before: case base_cycles
α : Type u_1
inst✝⁴ : Fintype α
inst✝³ : DecidableEq α
β : Type u_2
inst✝² : Fintype β
inst✝¹ : DecidableEq β
p : β → Prop
inst✝ : DecidablePred p
f : α ≃ Subtype p
σ : Perm α
hσ : σ.IsCycle
⊢ (σ.extendDomain f).cycleType = σ.cycleType
state_after: no goals

tactic: rw [hd.cycleType, ← extendDomain_mul, (hd.extendDomain f).cycleType, hσ, hτ]
state_before: case induction_disjoint
α : Type u_1
inst✝⁴ : Fintype α
inst✝³ : DecidableEq α
β : Type u_2
inst✝² : Fintype β
inst✝¹ : DecidableEq β
p : β → Prop
inst✝ : DecidablePred p
f : α ≃ Subtype p
σ τ : Perm α
hd : σ.Disjoint τ
a✝ : σ.IsCycle
hσ : (σ.extendDomain f).cycleType = σ.cycleType
hτ : (τ.extendDomain f).cycleType = τ.cycleType
⊢ ((σ * τ).extendDomain f).cycleType = (σ * τ).cycleType
state_after: no goals
Theorem: Metric.continuousAt_inv_infDist_pt
File: Mathlib/Topology/MetricSpace/HausdorffDistance.lean

tactic: rcases s.eq_empty_or_nonempty with (rfl | hs)
state_before: ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∉ closure s
⊢ ContinuousAt (fun x => (infDist x s)⁻¹) x
state_after: case inl
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
t u : Set α
x y : α
Φ : α → β
h : x ∉ closure ∅
⊢ ContinuousAt (fun x => (infDist x ∅)⁻¹) x

case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∉ closure s
hs : s.Nonempty
⊢ ContinuousAt (fun x => (infDist x s)⁻¹) x

tactic: simp only [infDist_empty, continuousAt_const]
state_before: case inl
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
t u : Set α
x y : α
Φ : α → β
h : x ∉ closure ∅
⊢ ContinuousAt (fun x => (infDist x ∅)⁻¹) x
state_after: no goals

tactic: refine (continuous_infDist_pt s).continuousAt.inv₀ ?_
state_before: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∉ closure s
hs : s.Nonempty
⊢ ContinuousAt (fun x => (infDist x s)⁻¹) x
state_after: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∉ closure s
hs : s.Nonempty
⊢ infDist x s ≠ 0

tactic: rwa [Ne, ← mem_closure_iff_infDist_zero hs]
state_before: case inr
ι : Sort u_1
α : Type u
β : Type v
inst✝¹ : PseudoMetricSpace α
inst✝ : PseudoMetricSpace β
s t u : Set α
x y : α
Φ : α → β
h : x ∉ closure s
hs : s.Nonempty
⊢ infDist x s ≠ 0
state_after: no goals
Theorem: CochainComplex.mappingCone.ofHom_lift
File: Mathlib/Algebra/Homology/HomotopyCategory/MappingCone.lean

tactic: simp only [lift, Cocycle.cochain_ofHom_homOf_eq_coe, liftCocycle_coe]
state_before: C : Type u_1
inst✝² : Category.{u_2, u_1} C
inst✝¹ : Preadditive C
F G : CochainComplex C ℤ
φ : F ⟶ G
inst✝ : HasHomotopyCofiber φ
K : CochainComplex C ℤ
α : Cocycle K F 1
β : Cochain K G 0
eq : δ 0 1 β + (↑α).comp (Cochain.ofHom φ) ⋯ = 0
⊢ Cochain.ofHom (lift φ α β eq) = liftCochain φ (↑α) β ⋯
state_after: no goals
Theorem: VitaliFamily.tendsto_filterAt_iff
File: Mathlib/MeasureTheory/Covering/VitaliFamily.lean

tactic: simp only [filterAt, tendsto_inf, nhds_basis_closedBall.smallSets.tendsto_right_iff,
  tendsto_principal, and_comm, mem_powerset_iff]
state_before: α : Type u_1
inst✝ : MetricSpace α
m0 : MeasurableSpace α
μ : Measure α
v : VitaliFamily μ
ι : Type u_2
l : Filter ι
f : ι → Set α
x : α
⊢ Tendsto f l (v.filterAt x) ↔ (∀ᶠ (i : ι) in l, f i ∈ v.setsAt x) ∧ ∀ ε > 0, ∀ᶠ (i : ι) in l, f i ⊆ closedBall x ε
state_after: no goals
Theorem: ZeroAtInftyContinuousMap.isometry_toBCF
File: Mathlib/Topology/ContinuousFunction/ZeroAtInfty.lean

tactic: tauto
state_before: F : Type u_1
α : Type u
β : Type v
γ : Type w
inst✝⁴ : TopologicalSpace α
inst✝³ : PseudoMetricSpace β
inst✝² : Zero β
inst✝¹ : FunLike F α β
inst✝ : ZeroAtInftyContinuousMapClass F α β
C : ℝ
f g : α →C₀ β
⊢ Isometry toBCF
state_after: no goals
Theorem: MvPolynomial.supported_le_supported_iff
File: Mathlib/Algebra/MvPolynomial/Supported.lean

tactic: constructor
state_before: σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ supported R s ≤ supported R t ↔ s ⊆ t
state_after: case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ supported R s ≤ supported R t → s ⊆ t

case mpr
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ s ⊆ t → supported R s ≤ supported R t

tactic: intro h i
state_before: case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ supported R s ≤ supported R t → s ⊆ t
state_after: case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
h : supported R s ≤ supported R t
i : σ
⊢ i ∈ s → i ∈ t

tactic: simpa using @h (X i)
state_before: case mp
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
h : supported R s ≤ supported R t
i : σ
⊢ i ∈ s → i ∈ t
state_after: no goals

tactic: exact supported_mono
state_before: case mpr
σ : Type u_1
τ : Type u_2
R : Type u
S : Type v
r : R
e : ℕ
n m : σ
inst✝¹ : CommSemiring R
p q : MvPolynomial σ R
s t : Set σ
inst✝ : Nontrivial R
⊢ s ⊆ t → supported R s ≤ supported R t
state_after: no goals
Theorem: RestrictGenTopology.of_continuous_prop
File: Mathlib/Topology/RestrictGenTopology.lean

tactic: simp only [continuousOn_iff_continuous_restrict, continuous_Prop] at *
state_before: X : Type u_1
inst✝ : TopologicalSpace X
S : Set (Set X)
t : Set X
x : X
h : ∀ (f : X → Prop), (∀ s ∈ S, ContinuousOn f s) → Continuous f
u : Set X
hu : ∀ s ∈ S, IsOpen (Subtype.val ⁻¹' u)
⊢ IsOpen u
state_after: X : Type u_1
inst✝ : TopologicalSpace X
S : Set (Set X)
t : Set X
x : X
u : Set X
hu : ∀ s ∈ S, IsOpen (Subtype.val ⁻¹' u)
h : ∀ (f : X → Prop), (∀ s ∈ S, IsOpen {x | s.restrict f x}) → IsOpen {x | f x}
⊢ IsOpen u

tactic: exact h _ hu
state_before: X : Type u_1
inst✝ : TopologicalSpace X
S : Set (Set X)
t : Set X
x : X
u : Set X
hu : ∀ s ∈ S, IsOpen (Subtype.val ⁻¹' u)
h : ∀ (f : X → Prop), (∀ s ∈ S, IsOpen {x | s.restrict f x}) → IsOpen {x | f x}
⊢ IsOpen u
state_after: no goals
Theorem: NNReal.exists_pow_lt_of_lt_one
File: Mathlib/Data/NNReal/Basic.lean

tactic: simpa only [← coe_pow, NNReal.coe_lt_coe] using
  exists_pow_lt_of_lt_one (NNReal.coe_pos.2 ha) (NNReal.coe_lt_coe.2 hb)
state_before: a b : ℝ≥0
ha : 0 < a
hb : b < 1
⊢ ∃ n, b ^ n < a
state_after: no goals
Theorem: inducing_pullbackTotalSpaceEmbedding
File: Mathlib/Topology/FiberBundle/Constructions.lean

tactic: constructor
state_before: B : Type u
F : Type v
E : B → Type w₁
B' : Type w₂
f✝ : B' → B
inst✝¹ : TopologicalSpace B'
inst✝ : TopologicalSpace (TotalSpace F E)
f : B' → B
⊢ Inducing (pullbackTotalSpaceEmbedding f)
state_after: case induced
B : Type u
F : Type v
E : B → Type w₁
B' : Type w₂
f✝ : B' → B
inst✝¹ : TopologicalSpace B'
inst✝ : TopologicalSpace (TotalSpace F E)
f : B' → B
⊢ Pullback.TotalSpace.topologicalSpace F E f = induced (pullbackTotalSpaceEmbedding f) instTopologicalSpaceProd

tactic: simp_rw [instTopologicalSpaceProd, induced_inf, induced_compose,
  Pullback.TotalSpace.topologicalSpace, pullbackTopology_def]
state_before: case induced
B : Type u
F : Type v
E : B → Type w₁
B' : Type w₂
f✝ : B' → B
inst✝¹ : TopologicalSpace B'
inst✝ : TopologicalSpace (TotalSpace F E)
f : B' → B
⊢ Pullback.TotalSpace.topologicalSpace F E f = induced (pullbackTotalSpaceEmbedding f) instTopologicalSpaceProd
state_after: case induced
B : Type u
F : Type v
E : B → Type w₁
B' : Type w₂
f✝ : B' → B
inst✝¹ : TopologicalSpace B'
inst✝ : TopologicalSpace (TotalSpace F E)
f : B' → B
⊢ induced TotalSpace.proj inst✝¹ ⊓ induced (Pullback.lift f) inst✝ =
    induced (Prod.fst ∘ pullbackTotalSpaceEmbedding f) inst✝¹ ⊓ induced (Prod.snd ∘ pullbackTotalSpaceEmbedding f) inst✝

tactic: rfl
state_before: case induced
B : Type u
F : Type v
E : B → Type w₁
B' : Type w₂
f✝ : B' → B
inst✝¹ : TopologicalSpace B'
inst✝ : TopologicalSpace (TotalSpace F E)
f : B' → B
⊢ induced TotalSpace.proj inst✝¹ ⊓ induced (Pullback.lift f) inst✝ =
    induced (Prod.fst ∘ pullbackTotalSpaceEmbedding f) inst✝¹ ⊓ induced (Prod.snd ∘ pullbackTotalSpaceEmbedding f) inst✝
state_after: no goals
Theorem: Nat.card_le_card_of_injective
File: Mathlib/SetTheory/Cardinal/Finite.lean

tactic: simpa using toNat_le_toNat (lift_mk_le_lift_mk_of_injective hf) (by simp [lt_aleph0_of_finite])
state_before: α✝ : Type u_1
β✝ : Type u_2
α : Type u
β : Type v
inst✝ : Finite β
f : α → β
hf : Injective f
⊢ Nat.card α ≤ Nat.card β
state_after: no goals

tactic: simp [lt_aleph0_of_finite]
state_before: α✝ : Type u_1
β✝ : Type u_2
α : Type u
β : Type v
inst✝ : Finite β
f : α → β
hf : Injective f
⊢ lift.{u, v} #β < ℵ₀
state_after: no goals