tasksource/leandojo huggingface dataset:
Theorem: tendsto_one_plus_div_pow_exp
File: Mathlib/Analysis/SpecialFunctions/Pow/Deriv.lean

tactic: simp
state_before: t : ℝ
⊢ ∀ (x : ℕ), ((fun x => (1 + t / x) ^ x) ∘ Nat.cast) x = (1 + t / ↑x) ^ ↑x
Theorem: ENNReal.biInf_le_nhds
File: Mathlib/Topology/Instances/ENNReal.lean

tactic: simpa only [← coe_one, top_sub_coe, top_add, Icc_self, principal_singleton] using pure_le_nhds _
state_before: α : Type ?u.69959
β : Type ?u.69962
γ : Type ?u.69965
a b c d : ℝ≥0∞
r p q : ℝ≥0
x y z ε ε₁ ε₂ : ℝ≥0∞
s : Set ℝ≥0∞
⊢ 𝓟 (Icc (⊤ - 1) (⊤ + 1)) ≤ 𝓝 ⊤
Theorem: Finset.card_image₂_singleton_left
File: Mathlib/Data/Finset/NAry.lean

tactic: rw [image₂_singleton_left, card_image_of_injective _ hf]
state_before: α : Type u_3
α' : Type ?u.50799
β : Type u_1
β' : Type ?u.50805
γ : Type u_2
γ' : Type ?u.50811
δ : Type ?u.50814
δ' : Type ?u.50817
ε : Type ?u.50820
ε' : Type ?u.50823
ζ : Type ?u.50826
ζ' : Type ?u.50829
ν : Type ?u.50832
inst✝⁷ : DecidableEq α'
inst✝⁶ : DecidableEq β'
inst✝⁵ : DecidableEq γ
inst✝⁴ : DecidableEq γ'
inst✝³ : DecidableEq δ
inst✝² : DecidableEq δ'
inst✝¹ : DecidableEq ε
inst✝ : DecidableEq ε'
f f' : α → β → γ
g g' : α → β → γ → δ
s s' : Finset α
t t' : Finset β
u u' : Finset γ
a a' : α
b b' : β
c : γ
hf : Injective (f a)
⊢ card (image₂ f {a} t) = card t
Theorem: Nat.Linear.Poly.denote_append
File: src/lean/Init/Data/Nat/Linear.lean

tactic: match p with
| []  => simp
| (k, v) :: p => simp [denote_append]
state_before: ctx : Context
p q : Poly
⊢ denote ctx (p ++ q) = denote ctx p + denote ctx q

tactic: simp
state_before: ctx : Context
p q : Poly
⊢ denote ctx ([] ++ q) = denote ctx [] + denote ctx q

tactic: simp [denote_append]
state_before: ctx : Context
p✝ q : Poly
k : Nat
v : Var
p : List (Nat × Var)
⊢ denote ctx ((k, v) :: p ++ q) = denote ctx ((k, v) :: p) + denote ctx q
Theorem: Polynomial.monic_zero_iff_subsingleton'
File: Mathlib/Data/Polynomial/Monic.lean

tactic: intro
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q r : R[X]
⊢ Subsingleton R → (∀ (f g : R[X]), f = g) ∧ ∀ (a b : R), a = b

tactic: simp
state_before: R : Type u
S : Type v
a b : R
m n : ℕ
ι : Type y
inst✝ : Semiring R
p q r : R[X]
a✝ : Subsingleton R
⊢ (∀ (f g : R[X]), f = g) ∧ ∀ (a b : R), a = b
Theorem: Localization.mk_algebraMap
File: Mathlib/RingTheory/Localization/Basic.lean

tactic: rw [mk_eq_mk', mk'_eq_iff_eq_mul, Submonoid.coe_one, map_one, mul_one]
state_before: R : Type u_2
inst✝⁵ : CommSemiring R
M : Submonoid R
S : Type ?u.2882462
inst✝⁴ : CommSemiring S
inst✝³ : Algebra R S
P : Type ?u.2882629
inst✝² : CommSemiring P
A : Type u_1
inst✝¹ : CommSemiring A
inst✝ : Algebra A R
m : A
⊢ mk (↑(algebraMap A R) m) 1 = ↑(algebraMap A (Localization M)) m

tactic: rfl
state_before: R : Type u_2
inst✝⁵ : CommSemiring R
M : Submonoid R
S : Type ?u.2882462
inst✝⁴ : CommSemiring S
inst✝³ : Algebra R S
P : Type ?u.2882629
inst✝² : CommSemiring P
A : Type u_1
inst✝¹ : CommSemiring A
inst✝ : Algebra A R
m : A
⊢ ↑(algebraMap ((fun x => R) m) (Localization M)) (↑(algebraMap A R) m) = ↑(algebraMap A (Localization M)) m
Theorem: Ordinal.bsup_eq_blsub_or_succ_bsup_eq_blsub
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: rw [← sup_eq_bsup, ← lsub_eq_blsub]
state_before: α : Type ?u.353871
β : Type ?u.353874
γ : Type ?u.353877
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
f : (a : Ordinal) → a < o → Ordinal
⊢ bsup o f = blsub o f ∨ succ (bsup o f) = blsub o f

tactic: exact sup_eq_lsub_or_sup_succ_eq_lsub _
state_before: α : Type ?u.353871
β : Type ?u.353874
γ : Type ?u.353877
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
o : Ordinal
f : (a : Ordinal) → a < o → Ordinal
⊢ sup (familyOfBFamily o f) = lsub (familyOfBFamily o f) ∨ succ (sup (familyOfBFamily o f)) = lsub (familyOfBFamily o f)
Theorem: AlgebraicTopology.DoldKan.PInfty_f_comp_QInfty_f
File: Mathlib/AlgebraicTopology/DoldKan/PInfty.lean

tactic: dsimp only [QInfty]
state_before: C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ HomologicalComplex.Hom.f PInfty n ≫ HomologicalComplex.Hom.f QInfty n = 0

tactic: simp only [HomologicalComplex.sub_f_apply, HomologicalComplex.id_f, comp_sub, comp_id,
  PInfty_f_idem, sub_self]
state_before: C : Type u_2
inst✝¹ : Category C
inst✝ : Preadditive C
X : SimplicialObject C
n : ℕ
⊢ HomologicalComplex.Hom.f PInfty n ≫ HomologicalComplex.Hom.f (𝟙 K[X] - PInfty) n = 0
Theorem: Ideal.comap_eq_top_iff
File: Mathlib/RingTheory/Ideal/Operations.lean

tactic: rw [h, comap_top]
state_before: R : Type u
S : Type v
F : Type u_1
inst✝¹ : Semiring R
inst✝ : Semiring S
rc : RingHomClass F R S
f : F
I✝ J : Ideal R
K L : Ideal S
G : Type ?u.781465
rcg : RingHomClass G S R
I : Ideal S
h : I = ⊤
⊢ comap f I = ⊤
Theorem: QuaternionGroup.orderOf_xa
File: Mathlib/GroupTheory/SpecificGroups/Quaternion.lean

tactic: change _ = 2 ^ 2
state_before: n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
⊢ orderOf (xa i) = 4

tactic: haveI : Fact (Nat.Prime 2) := Fact.mk Nat.prime_two
state_before: n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
⊢ orderOf (xa i) = 2 ^ 2

tactic: apply orderOf_eq_prime_pow
state_before: n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
⊢ orderOf (xa i) = 2 ^ 2

tactic: intro h
state_before: case hnot
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
⊢ ¬xa i ^ 2 ^ 1 = 1

tactic: simp only [pow_one, xa_sq] at h
state_before: case hnot
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
h : xa i ^ 2 ^ 1 = 1
⊢ False

tactic: injection h with h'
state_before: case hnot
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
h : a ↑n = 1
⊢ False

tactic: apply_fun ZMod.val  at h'
state_before: case hnot
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
h' : ↑n = 0
⊢ False

tactic: simp only [ZMod.val_nat_cast, ZMod.val_zero, Nat.zero_div, Nat.mod_mul_left_div_self,
  Nat.div_self (NeZero.pos n)] at h'
state_before: case hnot
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
h' : ZMod.val ↑n / n = ZMod.val 0 / n
⊢ False

tactic: norm_num
state_before: case hfin
n : ℕ
inst✝ : NeZero n
i : ZMod (2 * n)
this : Fact (Nat.Prime 2)
⊢ xa i ^ 2 ^ (1 + 1) = 1
Theorem: Set.ncard_preimage_ofInjective_subset_range
File: Mathlib/Data/Set/Ncard.lean

tactic: rw [← ncard_image_ofInjective _ H, image_preimage_eq_iff.mpr hs]
state_before: α : Type u_2
β : Type u_1
s✝ t : Set α
a b x y : α
f : α → β
s : Set β
H : Function.Injective f
hs : s ⊆ range f
⊢ ncard (f ⁻¹' s) = ncard s
Theorem: Polynomial.degree_linear_lt_degree_C_mul_X_sq
File: Mathlib/Data/Polynomial/Degree/Definitions.lean

tactic: simpa only [degree_C_mul_X_pow 2 ha] using degree_linear_lt
state_before: R : Type u
S : Type v
a b c d : R
n m : ℕ
inst✝ : Semiring R
p q : R[X]
ι : Type ?u.1018519
ha : a ≠ 0
⊢ degree (↑C b * X + ↑C c) < degree (↑C a * X ^ 2)
Theorem: MultilinearMap.mkPiAlgebraFin_apply_const
File: Mathlib/LinearAlgebra/Multilinear/Basic.lean

tactic: simp
state_before: R : Type u
ι : Type u'
n : ℕ
M : Fin (Nat.succ n) → Type v
M₁ : ι → Type v₁
M₂ : Type v₂
M₃ : Type v₃
M' : Type v'
inst✝⁸ : CommSemiring R
inst✝⁷ : (i : ι) → AddCommMonoid (M₁ i)
inst✝⁶ : (i : Fin (Nat.succ n)) → AddCommMonoid (M i)
inst✝⁵ : AddCommMonoid M₂
inst✝⁴ : (i : Fin (Nat.succ n)) → Module R (M i)
inst✝³ : (i : ι) → Module R (M₁ i)
inst✝² : Module R M₂
f f' : MultilinearMap R M₁ M₂
A : Type u_1
inst✝¹ : Semiring A
inst✝ : Algebra R A
a : A
⊢ (↑(MultilinearMap.mkPiAlgebraFin R n A) fun x => a) = a ^ n
Theorem: Ordnode.Valid'.rotateL_lemma₄
File: Mathlib/Data/Ordmap/Ordset.lean

tactic: linarith
state_before: α : Type ?u.313834
inst✝ : Preorder α
a b : ℕ
H3 : 2 * b ≤ 9 * a + 3
⊢ 3 * b ≤ 16 * a + 9
Theorem: Matrix.mul_nonsing_inv_cancel_left
File: Mathlib/LinearAlgebra/Matrix/NonsingularInverse.lean

tactic: simp [← Matrix.mul_assoc, mul_nonsing_inv A h]
state_before: l : Type ?u.206113
m : Type u
n : Type u'
α : Type v
inst✝² : Fintype n
inst✝¹ : DecidableEq n
inst✝ : CommRing α
A B✝ : Matrix n n α
B : Matrix n m α
h : IsUnit (det A)
⊢ A ⬝ (A⁻¹ ⬝ B) = B
Theorem: CharP.int_cast_eq_zero_iff
File: Mathlib/Algebra/CharP/Basic.lean

tactic: rcases lt_trichotomy a 0 with (h | rfl | h)
state_before: R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
⊢ ↑a = 0 ↔ ↑p ∣ a

tactic: rw [← neg_eq_zero, ← Int.cast_neg, ← dvd_neg]
state_before: case inl
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
h : a < 0
⊢ ↑a = 0 ↔ ↑p ∣ a

tactic: lift -a to ℕ using neg_nonneg.mpr (le_of_lt h) with b
state_before: case inl
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
h : a < 0
⊢ ↑(-a) = 0 ↔ ↑p ∣ -a

tactic: rw [Int.cast_ofNat, CharP.cast_eq_zero_iff R p, Int.coe_nat_dvd]
state_before: case inl.intro
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
h : a < 0
b : ℕ
⊢ ↑↑b = 0 ↔ ↑p ∣ ↑b

tactic: simp only [Int.cast_zero, eq_self_iff_true, dvd_zero]
state_before: case inr.inl
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
⊢ ↑0 = 0 ↔ ↑p ∣ 0

tactic: lift a to ℕ using le_of_lt h with b
state_before: case inr.inr
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
h : 0 < a
⊢ ↑a = 0 ↔ ↑p ∣ a

tactic: rw [Int.cast_ofNat, CharP.cast_eq_zero_iff R p, Int.coe_nat_dvd]
state_before: case inr.inr.intro
R : Type u_1
inst✝¹ : AddGroupWithOne R
p : ℕ
inst✝ : CharP R p
a : ℤ
b : ℕ
h✝ h : 0 < ↑b
⊢ ↑↑b = 0 ↔ ↑p ∣ ↑b
Theorem: Finset.centroid_map
File: Mathlib/LinearAlgebra/AffineSpace/Combination.lean

tactic: simp [centroid_def, affineCombination_map, centroidWeights]
state_before: k : Type u_4
V : Type u_5
P : Type u_3
inst✝³ : DivisionRing k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_2
s : Finset ι
ι₂ : Type u_1
s₂ : Finset ι₂
e : ι₂ ↪ ι
p : ι → P
⊢ centroid k (map e s₂) p = centroid k s₂ (p ∘ ↑e)
Theorem: Equiv.Perm.ne_and_ne_of_swap_mul_apply_ne_self
File: Mathlib/GroupTheory/Perm/Support.lean

tactic: simp only [swap_apply_def, mul_apply, f.injective.eq_iff] at *
state_before: α : Type u_1
inst✝ : DecidableEq α
f : Perm α
x y : α
hy : ↑(swap x (↑f x) * f) y ≠ y
⊢ ↑f y ≠ y ∧ y ≠ x

tactic: by_cases h : f y = x
state_before: α : Type u_1
inst✝ : DecidableEq α
f : Perm α
x y : α
hy : (if ↑f y = x then ↑f x else if y = x then x else ↑f y) ≠ y
⊢ ↑f y ≠ y ∧ y ≠ x

tactic: constructor <;> intro <;> simp_all only [if_true, eq_self_iff_true, not_true, Ne.def]
state_before: case pos
α : Type u_1
inst✝ : DecidableEq α
f : Perm α
x y : α
hy : (if ↑f y = x then ↑f x else if y = x then x else ↑f y) ≠ y
h : ↑f y = x
⊢ ↑f y ≠ y ∧ y ≠ x

tactic: split_ifs at hy with h h <;> try { subst x } <;> try { simp [*] at * }
state_before: case neg
α : Type u_1
inst✝ : DecidableEq α
f : Perm α
x y : α
hy : (if ↑f y = x then ↑f x else if y = x then x else ↑f y) ≠ y
h : ¬↑f y = x
⊢ ↑f y ≠ y ∧ y ≠ x
Theorem: AlgebraicTopology.DoldKan.N₁Γ₀_hom_app
File: Mathlib/AlgebraicTopology/DoldKan/GammaCompN.lean

tactic: change (N₁Γ₀.app K).hom = _
state_before: C : Type u_2
inst✝² : Category C
inst✝¹ : Preadditive C
inst✝ : HasFiniteCoproducts C
K : ChainComplex C ℕ
⊢ N₁Γ₀.hom.app K =
    (Splitting.toKaroubiNondegComplexIsoN₁ (Γ₀.splitting K)).inv ≫
      (toKaroubi (ChainComplex C ℕ)).map (Γ₀NondegComplexIso K).hom

tactic: simp only [N₁Γ₀_app]
state_before: C : Type u_2
inst✝² : Category C
inst✝¹ : Preadditive C
inst✝ : HasFiniteCoproducts C
K : ChainComplex C ℕ
⊢ (N₁Γ₀.app K).hom =
    (Splitting.toKaroubiNondegComplexIsoN₁ (Γ₀.splitting K)).inv ≫
      (toKaroubi (ChainComplex C ℕ)).map (Γ₀NondegComplexIso K).hom

tactic: rfl
state_before: C : Type u_2
inst✝² : Category C
inst✝¹ : Preadditive C
inst✝ : HasFiniteCoproducts C
K : ChainComplex C ℕ
⊢ ((Splitting.toKaroubiNondegComplexIsoN₁ (Γ₀.splitting K)).symm ≪≫
        (toKaroubi (ChainComplex C ℕ)).mapIso (Γ₀NondegComplexIso K)).hom =
    (Splitting.toKaroubiNondegComplexIsoN₁ (Γ₀.splitting K)).inv ≫
      (toKaroubi (ChainComplex C ℕ)).map (Γ₀NondegComplexIso K).hom
Theorem: Nat.lcm_one_left
File: Std/Data/Nat/Gcd.lean

tactic: simp [lcm]
state_before: m : Nat
⊢ lcm 1 m = m
Theorem: mul_one_sub
File: Mathlib/Algebra/Ring/Defs.lean

tactic: rw [mul_sub, mul_one]
state_before: α : Type u
β : Type v
γ : Type w
R : Type x
inst✝ : NonAssocRing α
a b : α
⊢ a * (1 - b) = a - a * b
Theorem: EMetric.diam_image_le_iff
File: Mathlib/Topology/MetricSpace/EMetricSpace.lean

tactic: simp only [diam_le_iff, ball_image_iff]
state_before: α : Type u
β : Type v
X : Type ?u.284548
inst✝ : PseudoEMetricSpace α
x y z : α
ε ε₁ ε₂ : ℝ≥0∞
s✝ t : Set α
d : ℝ≥0∞
f : β → α
s : Set β
⊢ diam (f '' s) ≤ d ↔ ∀ (x : β), x ∈ s → ∀ (y : β), y ∈ s → edist (f x) (f y) ≤ d
Theorem: Filter.isUnit_iff_singleton
File: Mathlib/Order/Filter/Pointwise.lean

tactic: simp only [isUnit_iff, Group.isUnit, and_true_iff]
state_before: F : Type ?u.318482
α : Type u_1
β : Type ?u.318488
γ : Type ?u.318491
δ : Type ?u.318494
ε : Type ?u.318497
inst✝² : Group α
inst✝¹ : DivisionMonoid β
inst✝ : MonoidHomClass F α β
m : F
f g f₁ g₁ : Filter α
f₂ g₂ : Filter β
⊢ IsUnit f ↔ ∃ a, f = pure a
Theorem: Matrix.det_eq_zero_of_column_eq_zero
File: Mathlib/LinearAlgebra/Matrix/Determinant.lean

tactic: rw [← det_transpose]
state_before: m : Type ?u.1632406
n : Type u_1
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
A : Matrix n n R
j : n
h : ∀ (i : n), A i j = 0
⊢ det A = 0

tactic: exact det_eq_zero_of_row_eq_zero j h
state_before: m : Type ?u.1632406
n : Type u_1
inst✝⁴ : DecidableEq n
inst✝³ : Fintype n
inst✝² : DecidableEq m
inst✝¹ : Fintype m
R : Type v
inst✝ : CommRing R
A : Matrix n n R
j : n
h : ∀ (i : n), A i j = 0
⊢ det Aᵀ = 0
Theorem: LieAlgebra.center_eq_bot_of_semisimple
File: Mathlib/Algebra/Lie/Semisimple.lean

tactic: rw [isSemisimple_iff_no_abelian_ideals] at h
state_before: R : Type u
L : Type v
inst✝² : CommRing R
inst✝¹ : LieRing L
inst✝ : LieAlgebra R L
h : IsSemisimple R L
⊢ center R L = ⊥

tactic: apply h
state_before: R : Type u
L : Type v
inst✝² : CommRing R
inst✝¹ : LieRing L
inst✝ : LieAlgebra R L
h : ∀ (I : LieIdeal R L), IsLieAbelian { x // x ∈ ↑I } → I = ⊥
⊢ center R L = ⊥

tactic: infer_instance
state_before: case a
R : Type u
L : Type v
inst✝² : CommRing R
inst✝¹ : LieRing L
inst✝ : LieAlgebra R L
h : ∀ (I : LieIdeal R L), IsLieAbelian { x // x ∈ ↑I } → I = ⊥
⊢ IsLieAbelian { x // x ∈ ↑(center R L) }
Theorem: padicNorm.sum_le'
File: Mathlib/NumberTheory/Padics/PadicNorm.lean

tactic: obtain rfl | hs := Finset.eq_empty_or_nonempty s
state_before: p : ℕ
hp : Fact (Nat.Prime p)
α : Type u_1
F : α → ℚ
t : ℚ
s : Finset α
hF : ∀ (i : α), i ∈ s → padicNorm p (F i) ≤ t
ht : 0 ≤ t
⊢ padicNorm p (∑ i in s, F i) ≤ t

tactic: simp [ht]
state_before: case inl
p : ℕ
hp : Fact (Nat.Prime p)
α : Type u_1
F : α → ℚ
t : ℚ
ht : 0 ≤ t
hF : ∀ (i : α), i ∈ ∅ → padicNorm p (F i) ≤ t
⊢ padicNorm p (∑ i in ∅, F i) ≤ t

tactic: exact sum_le hs hF
state_before: case inr
p : ℕ
hp : Fact (Nat.Prime p)
α : Type u_1
F : α → ℚ
t : ℚ
s : Finset α
hF : ∀ (i : α), i ∈ s → padicNorm p (F i) ≤ t
ht : 0 ≤ t
hs : Finset.Nonempty s
⊢ padicNorm p (∑ i in s, F i) ≤ t
Theorem: Homeomorph.symm_trans_self
File: Mathlib/Topology/Homeomorph.lean

tactic: ext
state_before: α : Type u_1
β : Type u_2
γ : Type ?u.36194
δ : Type ?u.36197
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
⊢ Homeomorph.trans (Homeomorph.symm h) h = Homeomorph.refl β

tactic: apply apply_symm_apply
state_before: case H
α : Type u_1
β : Type u_2
γ : Type ?u.36194
δ : Type ?u.36197
inst✝³ : TopologicalSpace α
inst✝² : TopologicalSpace β
inst✝¹ : TopologicalSpace γ
inst✝ : TopologicalSpace δ
h : α ≃ₜ β
x✝ : β
⊢ ↑(Homeomorph.trans (Homeomorph.symm h) h) x✝ = ↑(Homeomorph.refl β) x✝
Theorem: Complex.exp_inj_of_neg_pi_lt_of_le_pi
File: Mathlib/Analysis/SpecialFunctions/Complex/Log.lean

tactic: rw [← log_exp hx₁ hx₂, ← log_exp hy₁ hy₂, hxy]
state_before: x y : ℂ
hx₁ : -π < x.im
hx₂ : x.im ≤ π
hy₁ : -π < y.im
hy₂ : y.im ≤ π
hxy : exp x = exp y
⊢ x = y
Theorem: ContinuousLinearMap.exists_mul_lt_of_lt_op_norm
File: Mathlib/Analysis/NormedSpace/OperatorNorm.lean

tactic: lift r to ℝ≥0 using hr₀
state_before: 𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type ?u.744106
E : Type u_3
Eₗ : Type ?u.744112
F : Type u_4
Fₗ : Type ?u.744118
G : Type ?u.744121
Gₗ : Type ?u.744124
𝓕 : Type ?u.744127
inst✝¹⁶ : SeminormedAddCommGroup E
inst✝¹⁵ : SeminormedAddCommGroup Eₗ
inst✝¹⁴ : SeminormedAddCommGroup F
inst✝¹³ : SeminormedAddCommGroup Fₗ
inst✝¹² : SeminormedAddCommGroup G
inst✝¹¹ : SeminormedAddCommGroup Gₗ
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NontriviallyNormedField 𝕜₂
inst✝⁸ : NontriviallyNormedField 𝕜₃
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 Eₗ
inst✝⁵ : NormedSpace 𝕜₂ F
inst✝⁴ : NormedSpace 𝕜 Fₗ
inst✝³ : NormedSpace 𝕜₃ G
inst✝² : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
r : ℝ
hr₀ : 0 ≤ r
hr : r < ‖f‖
⊢ ∃ x, r * ‖x‖ < ‖↑f x‖

tactic: exact f.exists_mul_lt_apply_of_lt_op_nnnorm hr
state_before: case intro
𝕜 : Type u_1
𝕜₂ : Type u_2
𝕜₃ : Type ?u.744106
E : Type u_3
Eₗ : Type ?u.744112
F : Type u_4
Fₗ : Type ?u.744118
G : Type ?u.744121
Gₗ : Type ?u.744124
𝓕 : Type ?u.744127
inst✝¹⁶ : SeminormedAddCommGroup E
inst✝¹⁵ : SeminormedAddCommGroup Eₗ
inst✝¹⁴ : SeminormedAddCommGroup F
inst✝¹³ : SeminormedAddCommGroup Fₗ
inst✝¹² : SeminormedAddCommGroup G
inst✝¹¹ : SeminormedAddCommGroup Gₗ
inst✝¹⁰ : NontriviallyNormedField 𝕜
inst✝⁹ : NontriviallyNormedField 𝕜₂
inst✝⁸ : NontriviallyNormedField 𝕜₃
inst✝⁷ : NormedSpace 𝕜 E
inst✝⁶ : NormedSpace 𝕜 Eₗ
inst✝⁵ : NormedSpace 𝕜₂ F
inst✝⁴ : NormedSpace 𝕜 Fₗ
inst✝³ : NormedSpace 𝕜₃ G
inst✝² : NormedSpace 𝕜 Gₗ
σ₁₂ : 𝕜 →+* 𝕜₂
σ₂₃ : 𝕜₂ →+* 𝕜₃
σ₁₃ : 𝕜 →+* 𝕜₃
inst✝¹ : RingHomCompTriple σ₁₂ σ₂₃ σ₁₃
inst✝ : RingHomIsometric σ₁₂
f : E →SL[σ₁₂] F
r : ℝ≥0
hr : ↑r < ‖f‖
⊢ ∃ x, ↑r * ‖x‖ < ‖↑f x‖
Theorem: isBoundedBilinearMap_inner
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

tactic: simp only [← algebraMap_smul 𝕜 r x, algebraMap_eq_ofReal, inner_smul_real_left]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.3418113
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace ℝ F
dec_E : DecidableEq E
inst✝ : NormedSpace ℝ E
r : ℝ
x y : E
⊢ inner (r • x, y).fst (r • x, y).snd = r • inner (x, y).fst (x, y).snd

tactic: simp only [← algebraMap_smul 𝕜 r y, algebraMap_eq_ofReal, inner_smul_real_right]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.3418113
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace ℝ F
dec_E : DecidableEq E
inst✝ : NormedSpace ℝ E
r : ℝ
x y : E
⊢ inner (x, r • y).fst (x, r • y).snd = r • inner (x, y).fst (x, y).snd

tactic: rw [one_mul]
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.3418113
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace ℝ F
dec_E : DecidableEq E
inst✝ : NormedSpace ℝ E
x y : E
⊢ ‖inner (x, y).fst (x, y).snd‖ ≤ 1 * ‖x‖ * ‖y‖

tactic: exact norm_inner_le_norm x y
state_before: 𝕜 : Type u_2
E : Type u_1
F : Type ?u.3418113
inst✝⁵ : IsROrC 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace ℝ F
dec_E : DecidableEq E
inst✝ : NormedSpace ℝ E
x y : E
⊢ ‖inner (x, y).fst (x, y).snd‖ ≤ ‖x‖ * ‖y‖
Theorem: OrderIso.tendsto_atTop_iff
File: Mathlib/Order/Filter/AtTopBot.lean

tactic: rw [← e.comap_atTop, tendsto_comap_iff]
state_before: ι : Type ?u.53584
ι' : Type ?u.53587
α : Type u_2
β : Type u_3
γ : Type u_1
inst✝¹ : Preorder α
inst✝ : Preorder β
l : Filter γ
f : γ → α
e : α ≃o β
⊢ Tendsto (fun x => ↑e (f x)) l atTop ↔ Tendsto f l atTop

tactic: rfl
state_before: ι : Type ?u.53584
ι' : Type ?u.53587
α : Type u_2
β : Type u_3
γ : Type u_1
inst✝¹ : Preorder α
inst✝ : Preorder β
l : Filter γ
f : γ → α
e : α ≃o β
⊢ Tendsto (fun x => ↑e (f x)) l atTop ↔ Tendsto (↑e ∘ f) l atTop
Theorem: Set.finite_of_finite_preimage
File: Mathlib/Data/Set/Finite.lean

tactic: rw [← image_preimage_eq_of_subset hs]
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
f : α → β
s : Set β
h : Set.Finite (f ⁻¹' s)
hs : s ⊆ range f
⊢ Set.Finite s

tactic: exact Finite.image f h
state_before: α : Type u
β : Type v
ι : Sort w
γ : Type x
f : α → β
s : Set β
h : Set.Finite (f ⁻¹' s)
hs : s ⊆ range f
⊢ Set.Finite (f '' (f ⁻¹' s))
Theorem: Ordinal.IsNormal.bsup_eq
File: Mathlib/SetTheory/Ordinal/Arithmetic.lean

tactic: rw [← IsNormal.bsup.{u, u, v} H (fun x _ => x) h.1, bsup_id_limit h.2]
state_before: α : Type ?u.366130
β : Type ?u.366133
γ : Type ?u.366136
r : α → α → Prop
s : β → β → Prop
t : γ → γ → Prop
f : Ordinal → Ordinal
H : IsNormal f
o : Ordinal
h : IsLimit o
⊢ (Ordinal.bsup o fun x x_1 => f x) = f o
Theorem: Nat.card_zmod
File: Mathlib/SetTheory/Cardinal/Finite.lean

tactic: cases n
state_before: α : Type ?u.13639
β : Type ?u.13642
n : ℕ
⊢ Nat.card (ZMod n) = n

tactic: exact @Nat.card_eq_zero_of_infinite _ Int.infinite
state_before: case zero
α : Type ?u.13639
β : Type ?u.13642
⊢ Nat.card (ZMod zero) = zero

tactic: rw [Nat.card_eq_fintype_card, ZMod.card]
state_before: case succ
α : Type ?u.13639
β : Type ?u.13642
n✝ : ℕ
⊢ Nat.card (ZMod (succ n✝)) = succ n✝
Theorem: tendstoLocallyUniformlyOn_sUnion
File: Mathlib/Topology/UniformSpace/UniformConvergence.lean

tactic: rw [sUnion_eq_biUnion]
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝ : TopologicalSpace α
S : Set (Set α)
hS : ∀ (s : Set α), s ∈ S → IsOpen s
h : ∀ (s : Set α), s ∈ S → TendstoLocallyUniformlyOn F f p s
⊢ TendstoLocallyUniformlyOn F f p (⋃₀ S)

tactic: exact tendstoLocallyUniformlyOn_biUnion hS h
state_before: α : Type u
β : Type v
γ : Type w
ι : Type x
inst✝¹ : UniformSpace β
F : ι → α → β
f : α → β
s s' : Set α
x : α
p : Filter ι
p' : Filter α
g : ι → α
inst✝ : TopologicalSpace α
S : Set (Set α)
hS : ∀ (s : Set α), s ∈ S → IsOpen s
h : ∀ (s : Set α), s ∈ S → TendstoLocallyUniformlyOn F f p s
⊢ TendstoLocallyUniformlyOn F f p (⋃ (i : Set α) (_ : i ∈ S), i)
Theorem: MeasurableSet.exists_isClosed_diff_lt
File: Mathlib/MeasureTheory/Measure/Regular.lean

tactic: rcases hA.exists_isClosed_lt_add h'A hε with ⟨F, hFA, hFc, hF⟩
state_before: α : Type u_1
β : Type ?u.75620
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
inst✝¹ : OpensMeasurableSpace α
inst✝ : WeaklyRegular μ
A : Set α
hA : MeasurableSet A
h'A : ↑↑μ A ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
⊢ ∃ F, F ⊆ A ∧ IsClosed F ∧ ↑↑μ (A \ F) < ε

tactic: exact
  ⟨F, hFA, hFc,
    measure_diff_lt_of_lt_add hFc.measurableSet hFA (ne_top_of_le_ne_top h'A <| measure_mono hFA)
      hF⟩
state_before: case intro.intro.intro
α : Type u_1
β : Type ?u.75620
inst✝³ : MeasurableSpace α
inst✝² : TopologicalSpace α
μ : Measure α
inst✝¹ : OpensMeasurableSpace α
inst✝ : WeaklyRegular μ
A : Set α
hA : MeasurableSet A
h'A : ↑↑μ A ≠ ⊤
ε : ℝ≥0∞
hε : ε ≠ 0
F : Set α
hFA : F ⊆ A
hFc : IsClosed F
hF : ↑↑μ A < ↑↑μ F + ε
⊢ ∃ F, F ⊆ A ∧ IsClosed F ∧ ↑↑μ (A \ F) < ε
Theorem: Finset.Icc_subset_Iic_self
File: Mathlib/Data/Finset/LocallyFinite.lean

tactic: simpa [← coe_subset] using Set.Icc_subset_Iic_self
state_before: ι : Type ?u.52044
α : Type u_1
inst✝² : Preorder α
inst✝¹ : LocallyFiniteOrder α
a a₁ a₂ b b₁ b₂ c x : α
inst✝ : LocallyFiniteOrderBot α
⊢ Icc a b ⊆ Iic b
Theorem: IsPrimitiveRoot.zpow_eq_one
File: Mathlib/RingTheory/RootsOfUnity/Basic.lean

tactic: rw [zpow_ofNat]
state_before: M : Type ?u.2599937
N : Type ?u.2599940
G : Type u_1
R : Type ?u.2599946
S : Type ?u.2599949
F : Type ?u.2599952
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ k
⊢ ζ ^ ↑k = 1

tactic: exact h.pow_eq_one
state_before: M : Type ?u.2599937
N : Type ?u.2599940
G : Type u_1
R : Type ?u.2599946
S : Type ?u.2599949
F : Type ?u.2599952
inst✝² : CommMonoid M
inst✝¹ : CommMonoid N
inst✝ : DivisionCommMonoid G
k l : ℕ
ζ : G
h : IsPrimitiveRoot ζ k
⊢ ζ ^ k = 1