1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: exists_seq_tendsto_sSup
File: Mathlib/Topology/Order/IsLUB.lean

tactic: rcases (isLUB_csSup hS hS').exists_seq_monotone_tendsto hS with ⟨u, hu⟩
state_before: α✝ : Type u_1
β : Type u_2
γ : Type u_3
inst✝⁹ : TopologicalSpace α✝
inst✝⁸ : TopologicalSpace β
inst✝⁷ : LinearOrder α✝
inst✝⁶ : LinearOrder β
inst✝⁵ : OrderTopology α✝
inst✝⁴ : OrderTopology β
α : Type u_4
inst✝³ : ConditionallyCompleteLinearOrder α
inst✝² : TopologicalSpace α
inst✝¹ : OrderTopology α
inst✝ : FirstCountableTopology α
S : Set α
hS : S.Nonempty
hS' : BddAbove S
⊢ ∃ u, Monotone u ∧ Tendsto u atTop (𝓝 (sSup S)) ∧ ∀ (n : ℕ), u n ∈ S
state_after: case intro
α✝ : Type u_1
β : Type u_2
γ : Type u_3
inst✝⁹ : TopologicalSpace α✝
inst✝⁸ : TopologicalSpace β
inst✝⁷ : LinearOrder α✝
inst✝⁶ : LinearOrder β
inst✝⁵ : OrderTopology α✝
inst✝⁴ : OrderTopology β
α : Type u_4
inst✝³ : ConditionallyCompleteLinearOrder α
inst✝² : TopologicalSpace α
inst✝¹ : OrderTopology α
inst✝ : FirstCountableTopology α
S : Set α
hS : S.Nonempty
hS' : BddAbove S
u : ℕ → α
hu : Monotone u ∧ (∀ (n : ℕ), u n ≤ sSup S) ∧ Tendsto u atTop (𝓝 (sSup S)) ∧ ∀ (n : ℕ), u n ∈ S
⊢ ∃ u, Monotone u ∧ Tendsto u atTop (𝓝 (sSup S)) ∧ ∀ (n : ℕ), u n ∈ S

tactic: exact ⟨u, hu.1, hu.2.2⟩
state_before: case intro
α✝ : Type u_1
β : Type u_2
γ : Type u_3
inst✝⁹ : TopologicalSpace α✝
inst✝⁸ : TopologicalSpace β
inst✝⁷ : LinearOrder α✝
inst✝⁶ : LinearOrder β
inst✝⁵ : OrderTopology α✝
inst✝⁴ : OrderTopology β
α : Type u_4
inst✝³ : ConditionallyCompleteLinearOrder α
inst✝² : TopologicalSpace α
inst✝¹ : OrderTopology α
inst✝ : FirstCountableTopology α
S : Set α
hS : S.Nonempty
hS' : BddAbove S
u : ℕ → α
hu : Monotone u ∧ (∀ (n : ℕ), u n ≤ sSup S) ∧ Tendsto u atTop (𝓝 (sSup S)) ∧ ∀ (n : ℕ), u n ∈ S
⊢ ∃ u, Monotone u ∧ Tendsto u atTop (𝓝 (sSup S)) ∧ ∀ (n : ℕ), u n ∈ S
state_after: no goals
Theorem: Polynomial.eq_of_infinite_eval_eq
File: Mathlib/Algebra/Polynomial/Roots.lean

tactic: rw [← sub_eq_zero]
state_before: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q✝ p q : R[X]
h : {x | eval x p = eval x q}.Infinite
⊢ p = q
state_after: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q✝ p q : R[X]
h : {x | eval x p = eval x q}.Infinite
⊢ p - q = 0

tactic: apply eq_zero_of_infinite_isRoot
state_before: R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q✝ p q : R[X]
h : {x | eval x p = eval x q}.Infinite
⊢ p - q = 0
state_after: case h
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q✝ p q : R[X]
h : {x | eval x p = eval x q}.Infinite
⊢ {x | (p - q).IsRoot x}.Infinite

tactic: simpa only [IsRoot, eval_sub, sub_eq_zero]
state_before: case h
R : Type u
S : Type v
T : Type w
a b : R
n : ℕ
inst✝¹ : CommRing R
inst✝ : IsDomain R
p✝ q✝ p q : R[X]
h : {x | eval x p = eval x q}.Infinite
⊢ {x | (p - q).IsRoot x}.Infinite
state_after: no goals
Theorem: Finsupp.comul_comp_lapply
File: Mathlib/RingTheory/Coalgebra/Basic.lean

tactic: ext j : 1
state_before: R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i : ι
⊢ comul ∘ₗ lapply i = TensorProduct.map (lapply i) (lapply i) ∘ₗ comul
state_after: case h
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = (TensorProduct.map (lapply i) (lapply i) ∘ₗ comul) ∘ₗ lsingle j

tactic: conv_rhs => rw [comp_assoc, comul_comp_lsingle, ← comp_assoc, ← TensorProduct.map_comp]
state_before: case h
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = (TensorProduct.map (lapply i) (lapply i) ∘ₗ comul) ∘ₗ lsingle j
state_after: case h
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = TensorProduct.map (lapply i ∘ₗ lsingle j) (lapply i ∘ₗ lsingle j) ∘ₗ comul

tactic: obtain rfl | hij := eq_or_ne i j
state_before: case h
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = TensorProduct.map (lapply i ∘ₗ lsingle j) (lapply i ∘ₗ lsingle j) ∘ₗ comul
state_after: case h.inl
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle i = TensorProduct.map (lapply i ∘ₗ lsingle i) (lapply i ∘ₗ lsingle i) ∘ₗ comul

case h.inr
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
hij : i ≠ j
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = TensorProduct.map (lapply i ∘ₗ lsingle j) (lapply i ∘ₗ lsingle j) ∘ₗ comul

tactic: rw [comp_assoc, lapply_comp_lsingle_same, comp_id,  TensorProduct.map_id, id_comp]
state_before: case h.inl
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i : ι
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle i = TensorProduct.map (lapply i ∘ₗ lsingle i) (lapply i ∘ₗ lsingle i) ∘ₗ comul
state_after: no goals

tactic: rw [comp_assoc, lapply_comp_lsingle_of_ne _ _ hij, comp_zero, TensorProduct.map_zero_left,
  zero_comp]
state_before: case h.inr
R : Type u
ι : Type v
A : Type w
inst✝³ : CommSemiring R
inst✝² : AddCommMonoid A
inst✝¹ : Module R A
inst✝ : Coalgebra R A
i j : ι
hij : i ≠ j
⊢ (comul ∘ₗ lapply i) ∘ₗ lsingle j = TensorProduct.map (lapply i ∘ₗ lsingle j) (lapply i ∘ₗ lsingle j) ∘ₗ comul
state_after: no goals
Theorem: FirstOrder.Language.card_sum
File: Mathlib/ModelTheory/Basic.lean

tactic: simp only [card_eq_card_functions_add_card_relations, card_functions_sum, card_relations_sum,
  sum_add_distrib', lift_add, lift_sum, lift_lift]
state_before: L : Language
L' : Language
⊢ (L.sum L').card = lift.{max u' v', max u v} L.card + lift.{max u v, max u' v'} L'.card
state_after: L : Language
L' : Language
⊢ ((sum fun i => lift.{max u' v v', u} #(L.Functions i)) + sum fun i => lift.{max u v v', u'} #(L'.Functions i)) +
      ((sum fun i => lift.{max v' u u', v} #(L.Relations i)) + sum fun i => lift.{max v u u', v'} #(L'.Relations i)) =
    ((sum fun i => lift.{max v u' v', u} #(L.Functions i)) + sum fun i => lift.{max u u' v', v} #(L.Relations i)) +
      ((sum fun i => lift.{max v' u v, u'} #(L'.Functions i)) + sum fun i => lift.{max u' u v, v'} #(L'.Relations i))

tactic: simp only [add_assoc, add_comm (Cardinal.sum fun i => (#(L'.Functions i)).lift)]
state_before: L : Language
L' : Language
⊢ ((sum fun i => lift.{max u' v v', u} #(L.Functions i)) + sum fun i => lift.{max u v v', u'} #(L'.Functions i)) +
      ((sum fun i => lift.{max v' u u', v} #(L.Relations i)) + sum fun i => lift.{max v u u', v'} #(L'.Relations i)) =
    ((sum fun i => lift.{max v u' v', u} #(L.Functions i)) + sum fun i => lift.{max u u' v', v} #(L.Relations i)) +
      ((sum fun i => lift.{max v' u v, u'} #(L'.Functions i)) + sum fun i => lift.{max u' u v, v'} #(L'.Relations i))
state_after: no goals
Theorem: MeasureTheory.Measure.count_empty
File: Mathlib/MeasureTheory/Measure/Count.lean

tactic: rw [count_apply MeasurableSet.empty, tsum_empty]
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : MeasurableSpace β
s : Set α
⊢ count ∅ = 0
state_after: no goals
Theorem: Module.Flat.injective_characterModule_iff_rTensor_preserves_injective_linearMap
File: Mathlib/RingTheory/Flat/Basic.lean

tactic: simp_rw [injective_iff, rTensor_injective_iff_lcomp_surjective, Surjective, DFunLike.ext_iff]
state_before: R : Type u
M : Type v
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type w
inst✝¹ : AddCommGroup N
inst✝ : Module R N
⊢ Injective R (CharacterModule M) ↔
    ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
      (L : N →ₗ[R] N'), Function.Injective ⇑L → Function.Injective ⇑(rTensor M L)
state_after: R : Type u
M : Type v
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type w
inst✝¹ : AddCommGroup N
inst✝ : Module R N
⊢ (∀ ⦃X Y : Type v⦄ [inst : AddCommGroup X] [inst_1 : AddCommGroup Y] [inst_2 : Module R X] [inst_3 : Module R Y]
      (f : X →ₗ[R] Y),
      Function.Injective ⇑f → ∀ (g : X →ₗ[R] CharacterModule M), ∃ h, ∀ (x : X) (x_1 : M), (h (f x)) x_1 = (g x) x_1) ↔
    ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
      (L : N →ₗ[R] N'),
      Function.Injective ⇑L →
        ∀ (b : N →ₗ[R] CharacterModule M),
          ∃ a, ∀ (x : N) (x_1 : M), (((lcomp R (CharacterModule M) L) a) x) x_1 = (b x) x_1

tactic: rfl
state_before: R : Type u
M : Type v
inst✝⁴ : CommRing R
inst✝³ : AddCommGroup M
inst✝² : Module R M
N : Type w
inst✝¹ : AddCommGroup N
inst✝ : Module R N
⊢ (∀ ⦃X Y : Type v⦄ [inst : AddCommGroup X] [inst_1 : AddCommGroup Y] [inst_2 : Module R X] [inst_3 : Module R Y]
      (f : X →ₗ[R] Y),
      Function.Injective ⇑f → ∀ (g : X →ₗ[R] CharacterModule M), ∃ h, ∀ (x : X) (x_1 : M), (h (f x)) x_1 = (g x) x_1) ↔
    ∀ ⦃N N' : Type v⦄ [inst : AddCommGroup N] [inst_1 : AddCommGroup N'] [inst_2 : Module R N] [inst_3 : Module R N']
      (L : N →ₗ[R] N'),
      Function.Injective ⇑L →
        ∀ (b : N →ₗ[R] CharacterModule M),
          ∃ a, ∀ (x : N) (x_1 : M), (((lcomp R (CharacterModule M) L) a) x) x_1 = (b x) x_1
state_after: no goals
Theorem: Function.disjoint_mulSupport_iff
File: Mathlib/Algebra/Group/Support.lean

tactic: rw [disjoint_comm, mulSupport_disjoint_iff]
state_before: α : Type u_1
β : Type u_2
A : Type u_3
B : Type u_4
M : Type u_5
N : Type u_6
P : Type u_7
G : Type u_8
inst✝² : One M
inst✝¹ : One N
inst✝ : One P
f : α → M
s : Set α
⊢ Disjoint s (mulSupport f) ↔ EqOn f 1 s
state_after: no goals
Theorem: associatedPrimes.nonempty
File: Mathlib/RingTheory/Ideal/AssociatedPrime.lean

tactic: obtain ⟨x, hx⟩ := exists_ne (0 : M)
state_before: R : Type u_1
inst✝⁶ : CommRing R
I J : Ideal R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
f : M →ₗ[R] M'
inst✝¹ : IsNoetherianRing R
inst✝ : Nontrivial M
⊢ (associatedPrimes R M).Nonempty
state_after: case intro
R : Type u_1
inst✝⁶ : CommRing R
I J : Ideal R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
f : M →ₗ[R] M'
inst✝¹ : IsNoetherianRing R
inst✝ : Nontrivial M
x : M
hx : x ≠ 0
⊢ (associatedPrimes R M).Nonempty

tactic: obtain ⟨P, hP, _⟩ := exists_le_isAssociatedPrime_of_isNoetherianRing R x hx
state_before: case intro
R : Type u_1
inst✝⁶ : CommRing R
I J : Ideal R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
f : M →ₗ[R] M'
inst✝¹ : IsNoetherianRing R
inst✝ : Nontrivial M
x : M
hx : x ≠ 0
⊢ (associatedPrimes R M).Nonempty
state_after: case intro.intro.intro
R : Type u_1
inst✝⁶ : CommRing R
I J : Ideal R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
f : M →ₗ[R] M'
inst✝¹ : IsNoetherianRing R
inst✝ : Nontrivial M
x : M
hx : x ≠ 0
P : Ideal R
hP : IsAssociatedPrime P M
right✝ : (Submodule.span R {x}).annihilator ≤ P
⊢ (associatedPrimes R M).Nonempty

tactic: exact ⟨P, hP⟩
state_before: case intro.intro.intro
R : Type u_1
inst✝⁶ : CommRing R
I J : Ideal R
M : Type u_2
inst✝⁵ : AddCommGroup M
inst✝⁴ : Module R M
M' : Type u_3
inst✝³ : AddCommGroup M'
inst✝² : Module R M'
f : M →ₗ[R] M'
inst✝¹ : IsNoetherianRing R
inst✝ : Nontrivial M
x : M
hx : x ≠ 0
P : Ideal R
hP : IsAssociatedPrime P M
right✝ : (Submodule.span R {x}).annihilator ≤ P
⊢ (associatedPrimes R M).Nonempty
state_after: no goals
Theorem: spectrum.SpectralRadius.of_subsingleton
File: Mathlib/Analysis/NormedSpace/Spectrum.lean

tactic: simp [spectralRadius]
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝³ : NormedField 𝕜
inst✝² : NormedRing A
inst✝¹ : NormedAlgebra 𝕜 A
inst✝ : Subsingleton A
a : A
⊢ spectralRadius 𝕜 a = 0
state_after: no goals
Theorem: FreeGroup.Red.Step.invRev
File: Mathlib/GroupTheory/FreeGroup/Basic.lean

tactic: cases' h with a b x y
state_before: α : Type u
L L₁✝ L₂✝ L₃ L₄ L₁ L₂ : List (α × Bool)
h : Step L₁ L₂
⊢ Step (FreeGroup.invRev L₁) (FreeGroup.invRev L₂)
state_after: case not
α : Type u
L L₁ L₂ L₃ L₄ a b : List (α × Bool)
x : α
y : Bool
⊢ Step (FreeGroup.invRev (a ++ (x, y) :: (x, !y) :: b)) (FreeGroup.invRev (a ++ b))

tactic: simp [FreeGroup.invRev]
state_before: case not
α : Type u
L L₁ L₂ L₃ L₄ a b : List (α × Bool)
x : α
y : Bool
⊢ Step (FreeGroup.invRev (a ++ (x, y) :: (x, !y) :: b)) (FreeGroup.invRev (a ++ b))
state_after: no goals
Theorem: Module.End.ker_pow_eq_ker_pow_finrank_of_le
File: Mathlib/LinearAlgebra/FiniteDimensional.lean

tactic: obtain ⟨k, h_k_le, hk⟩ :
  ∃ k, k ≤ finrank K V ∧ LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ) :=
  exists_ker_pow_eq_ker_pow_succ f
state_before: K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
⊢ LinearMap.ker (f ^ m) = LinearMap.ker (f ^ finrank K V)
state_after: case intro.intro
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
k : ℕ
h_k_le : k ≤ finrank K V
hk : LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
⊢ LinearMap.ker (f ^ m) = LinearMap.ker (f ^ finrank K V)

tactic: calc
  LinearMap.ker (f ^ m) = LinearMap.ker (f ^ (k + (m - k))) := by
    rw [add_tsub_cancel_of_le (h_k_le.trans hm)]
  _ = LinearMap.ker (f ^ k) := by rw [ker_pow_constant hk _]
  _ = LinearMap.ker (f ^ (k + (finrank K V - k))) := ker_pow_constant hk (finrank K V - k)
  _ = LinearMap.ker (f ^ finrank K V) := by rw [add_tsub_cancel_of_le h_k_le]
state_before: case intro.intro
K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
k : ℕ
h_k_le : k ≤ finrank K V
hk : LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
⊢ LinearMap.ker (f ^ m) = LinearMap.ker (f ^ finrank K V)
state_after: no goals

tactic: rw [add_tsub_cancel_of_le (h_k_le.trans hm)]
state_before: K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
k : ℕ
h_k_le : k ≤ finrank K V
hk : LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
⊢ LinearMap.ker (f ^ m) = LinearMap.ker (f ^ (k + (m - k)))
state_after: no goals

tactic: rw [ker_pow_constant hk _]
state_before: K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
k : ℕ
h_k_le : k ≤ finrank K V
hk : LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
⊢ LinearMap.ker (f ^ (k + (m - k))) = LinearMap.ker (f ^ k)
state_after: no goals

tactic: rw [add_tsub_cancel_of_le h_k_le]
state_before: K : Type u
V : Type v
inst✝³ : DivisionRing K
inst✝² : AddCommGroup V
inst✝¹ : Module K V
inst✝ : FiniteDimensional K V
f : End K V
m : ℕ
hm : finrank K V ≤ m
k : ℕ
h_k_le : k ≤ finrank K V
hk : LinearMap.ker (f ^ k) = LinearMap.ker (f ^ k.succ)
⊢ LinearMap.ker (f ^ (k + (finrank K V - k))) = LinearMap.ker (f ^ finrank K V)
state_after: no goals
Theorem: isNormalSubgroup_of_commGroup
File: Mathlib/Deprecated/Subgroup.lean

tactic: rwa [mul_right_comm, mul_right_inv, one_mul]
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a a₁ a₂ b c : G
inst✝ : CommGroup G
s : Set G
hs : IsSubgroup s
n : G
hn : n ∈ s
g : G
⊢ g * n * g⁻¹ ∈ s
state_after: no goals
Theorem: Real.mem_closure_iff
File: Mathlib/Topology/Instances/Real.lean

tactic: simp [mem_closure_iff_nhds_basis nhds_basis_ball, Real.dist_eq]
state_before: α : Type u
β : Type v
γ : Type w
s : Set ℝ
x : ℝ
⊢ x ∈ closure s ↔ ∀ ε > 0, ∃ y ∈ s, |y - x| < ε
state_after: no goals
Theorem: mabs_pow
File: Mathlib/Algebra/Order/Group/Abs.lean

tactic: obtain ha | ha := le_total a 1
state_before: α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
⊢ mabs (a ^ n) = mabs a ^ n
state_after: case inl
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : a ≤ 1
⊢ mabs (a ^ n) = mabs a ^ n

case inr
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : 1 ≤ a
⊢ mabs (a ^ n) = mabs a ^ n

tactic: rw [mabs_of_le_one ha, ← mabs_inv, ← inv_pow, mabs_of_one_le]
state_before: case inl
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : a ≤ 1
⊢ mabs (a ^ n) = mabs a ^ n
state_after: case inl
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : a ≤ 1
⊢ 1 ≤ a⁻¹ ^ n

tactic: exact one_le_pow_of_one_le' (one_le_inv'.2 ha) n
state_before: case inl
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : a ≤ 1
⊢ 1 ≤ a⁻¹ ^ n
state_after: no goals

tactic: rw [mabs_of_one_le ha, mabs_of_one_le (one_le_pow_of_one_le' ha n)]
state_before: case inr
α : Type u_1
inst✝ : LinearOrderedCommGroup α
a✝ b : α
n : ℕ
a : α
ha : 1 ≤ a
⊢ mabs (a ^ n) = mabs a ^ n
state_after: no goals
Theorem: CategoryTheory.Arrow.square_from_iso_invert
File: Mathlib/CategoryTheory/Comma/Arrow.lean

tactic: simp only [Iso.inv_hom_id_assoc, Arrow.w, Arrow.mk_hom]
state_before: T : Type u
inst✝ : Category.{v, u} T
X Y : T
i : X ≅ Y
p : Arrow T
sq : mk i.hom ⟶ p
⊢ i.inv ≫ sq.left ≫ p.hom = sq.right
state_after: no goals
Theorem: IsCyclotomicExtension.empty
File: Mathlib/NumberTheory/Cyclotomic/Basic.lean

tactic: simpa [Algebra.eq_top_iff, isCyclotomicExtension_iff] using h
state_before: n : ℕ+
S T : Set ℕ+
A : Type u
B : Type v
K : Type w
L : Type z
inst✝⁵ : CommRing A
inst✝⁴ : CommRing B
inst✝³ : Algebra A B
inst✝² : Field K
inst✝¹ : Field L
inst✝ : Algebra K L
h : IsCyclotomicExtension ∅ A B
⊢ ⊥ = ⊤
state_after: no goals
Theorem: MeasureTheory.Measure.InnerRegularWRT.restrict_of_measure_ne_top
File: Mathlib/MeasureTheory/Measure/Regular.lean

tactic: have : Fact (μ A < ∞) := ⟨hA.lt_top⟩
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : TopologicalSpace α
μ : Measure α
p q : Set α → Prop
U s : Set α
ε r : ℝ≥0∞
h : μ.InnerRegularWRT p fun s => MeasurableSet s ∧ μ s ≠ ⊤
A : Set α
hA : μ A ≠ ⊤
⊢ (μ.restrict A).InnerRegularWRT p fun s => MeasurableSet s
state_after: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : TopologicalSpace α
μ : Measure α
p q : Set α → Prop
U s : Set α
ε r : ℝ≥0∞
h : μ.InnerRegularWRT p fun s => MeasurableSet s ∧ μ s ≠ ⊤
A : Set α
hA : μ A ≠ ⊤
this : Fact (μ A < ⊤)
⊢ (μ.restrict A).InnerRegularWRT p fun s => MeasurableSet s

tactic: exact (restrict h A).trans (of_imp (fun s hs ↦ ⟨hs, measure_ne_top _ _⟩))
state_before: α : Type u_1
β : Type u_2
inst✝¹ : MeasurableSpace α
inst✝ : TopologicalSpace α
μ : Measure α
p q : Set α → Prop
U s : Set α
ε r : ℝ≥0∞
h : μ.InnerRegularWRT p fun s => MeasurableSet s ∧ μ s ≠ ⊤
A : Set α
hA : μ A ≠ ⊤
this : Fact (μ A < ⊤)
⊢ (μ.restrict A).InnerRegularWRT p fun s => MeasurableSet s
state_after: no goals
Theorem: NonUnitalStarAlgHom.map_adjoin_singleton
File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

tactic: simp [NonUnitalStarAlgHom.map_adjoin]
state_before: F : Type v'
R' : Type u'
R : Type u
A : Type v
B : Type w
C : Type w'
inst✝¹⁶ : CommSemiring R
inst✝¹⁵ : StarRing R
inst✝¹⁴ : NonUnitalSemiring A
inst✝¹³ : StarRing A
inst✝¹² : Module R A
inst✝¹¹ : IsScalarTower R A A
inst✝¹⁰ : SMulCommClass R A A
inst✝⁹ : StarModule R A
inst✝⁸ : NonUnitalSemiring B
inst✝⁷ : StarRing B
inst✝⁶ : Module R B
inst✝⁵ : IsScalarTower R B B
inst✝⁴ : SMulCommClass R B B
inst✝³ : StarModule R B
inst✝² : FunLike F A B
inst✝¹ : NonUnitalAlgHomClass F R A B
inst✝ : NonUnitalStarAlgHomClass F R A B
S : NonUnitalStarSubalgebra R A
f : F
x : A
⊢ map f (adjoin R {x}) = adjoin R {f x}
state_after: no goals
Theorem: MvPolynomial.degrees_def
File: Mathlib/Algebra/MvPolynomial/Degrees.lean

tactic: rw [degrees]
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
p✝ q : MvPolynomial σ R
inst✝ : DecidableEq σ
p : MvPolynomial σ R
⊢ p.degrees = p.support.sup fun s => toMultiset s
state_after: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
p✝ q : MvPolynomial σ R
inst✝ : DecidableEq σ
p : MvPolynomial σ R
⊢ (p.support.sup fun s => toMultiset s) = p.support.sup fun s => toMultiset s

tactic: convert rfl
state_before: R : Type u
S : Type v
σ : Type u_1
τ : Type u_2
r : R
e : ℕ
n m : σ
s : σ →₀ ℕ
inst✝¹ : CommSemiring R
p✝ q : MvPolynomial σ R
inst✝ : DecidableEq σ
p : MvPolynomial σ R
⊢ (p.support.sup fun s => toMultiset s) = p.support.sup fun s => toMultiset s
state_after: no goals
Theorem: MeasureTheory.Measure.AbsolutelyContinuous.mk
File: Mathlib/MeasureTheory/Measure/MeasureSpace.lean

tactic: intro s hs
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
f : α → β
h : ∀ ⦃s : Set α⦄, MeasurableSet s → ν s = 0 → μ s = 0
⊢ μ ≪ ν
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f : α → β
h : ∀ ⦃s : Set α⦄, MeasurableSet s → ν s = 0 → μ s = 0
s : Set α
hs : ν s = 0
⊢ μ s = 0

tactic: rcases exists_measurable_superset_of_null hs with ⟨t, h1t, h2t, h3t⟩
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t : Set α
f : α → β
h : ∀ ⦃s : Set α⦄, MeasurableSet s → ν s = 0 → μ s = 0
s : Set α
hs : ν s = 0
⊢ μ s = 0
state_after: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
f : α → β
h : ∀ ⦃s : Set α⦄, MeasurableSet s → ν s = 0 → μ s = 0
s : Set α
hs : ν s = 0
t : Set α
h1t : s ⊆ t
h2t : MeasurableSet t
h3t : ν t = 0
⊢ μ s = 0

tactic: exact measure_mono_null h1t (h h2t h3t)
state_before: case intro.intro.intro
α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
ι : Type u_5
R : Type u_6
R' : Type u_7
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s✝ s' t✝ : Set α
f : α → β
h : ∀ ⦃s : Set α⦄, MeasurableSet s → ν s = 0 → μ s = 0
s : Set α
hs : ν s = 0
t : Set α
h1t : s ⊆ t
h2t : MeasurableSet t
h3t : ν t = 0
⊢ μ s = 0
state_after: no goals
Theorem: IsMulHom.mul
File: Mathlib/Deprecated/Group.lean

tactic: simp only [hf.map_mul, hg.map_mul, mul_comm, mul_assoc, mul_left_comm]
state_before: α✝ : Type u
β✝ : Type v
inst✝⁴ : Mul α✝
inst✝³ : Mul β✝
γ : Type u_1
inst✝² : Mul γ
α : Type u_2
β : Type u_3
inst✝¹ : Semigroup α
inst✝ : CommSemigroup β
f g : α → β
hf : IsMulHom f
hg : IsMulHom g
a b : α
⊢ f (a * b) * g (a * b) = f a * g a * (f b * g b)
state_after: no goals
Theorem: tendsto_atBot_isGLB
File: Mathlib/Topology/Order/MonotoneConvergence.lean

tactic: convert tendsto_atTop_isLUB h_mono.dual ha.dual using 1
state_before: α : Type u_1
β : Type u_2
ι : Type u_3
inst✝³ : Preorder ι
inst✝² : TopologicalSpace α
inst✝¹ : Preorder α
inst✝ : InfConvergenceClass α
f : ι → α
a : α
h_mono : Monotone f
ha : IsGLB (range f) a
⊢ Tendsto f atBot (𝓝 a)
state_after: no goals
Theorem: Fin.succAbove_last_apply
File: Mathlib/Data/Fin/Basic.lean

tactic: rw [succAbove_last]
state_before: n m : ℕ
p : Fin (n + 1)
i✝ j i : Fin n
⊢ (last n).succAbove i = i.castSucc
state_after: no goals