1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: IsPrimitiveRoot.finite_quotient_toInteger_sub_one
File: Mathlib/NumberTheory/Cyclotomic/Rat.lean

tactic: refine (finite_iff_nonempty_fintype _).2 ⟨?_⟩
state_before: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
⊢ Finite (𝓞 K ⧸ Ideal.span {hζ.toInteger - 1})
state_after: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
⊢ Fintype (𝓞 K ⧸ Ideal.span {hζ.toInteger - 1})

tactic: refine Ideal.fintypeQuotientOfFreeOfNeBot _ (fun h ↦ ?_)
state_before: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
⊢ Fintype (𝓞 K ⧸ Ideal.span {hζ.toInteger - 1})
state_after: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
h : Ideal.span {hζ.toInteger - 1} = ⊥
⊢ False

tactic: simp only [Ideal.span_singleton_eq_bot, sub_eq_zero, ← Subtype.coe_inj] at h
state_before: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
h : Ideal.span {hζ.toInteger - 1} = ⊥
⊢ False
state_after: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
h : hζ.toInteger = 1
⊢ False

tactic: exact hζ.ne_one hk (RingOfIntegers.ext_iff.1 h)
state_before: p : ℕ+
k✝ : ℕ
K : Type u
inst✝² : Field K
inst✝¹ : CharZero K
ζ : K
hp : Fact (Nat.Prime ↑p)
inst✝ : NumberField K
k : ℕ+
hk : 1 < k
hζ : IsPrimitiveRoot ζ ↑k
h : hζ.toInteger = 1
⊢ False
state_after: no goals
Theorem: Polynomial.roots_expand
File: Mathlib/FieldTheory/Perfect.lean

tactic: conv_lhs => rw [← pow_one p, roots_expand_pow, iterateFrobeniusEquiv_eq_pow, pow_one]
state_before: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : PerfectRing R p
⊢ ((expand R p) f).roots = p • Multiset.map (⇑(frobeniusEquiv R p).symm) f.roots
state_after: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : PerfectRing R p
⊢ p • Multiset.map (⇑(frobeniusEquiv R p ^ 1).symm) f.roots = p • Multiset.map (⇑(frobeniusEquiv R p).symm) f.roots

tactic: rfl
state_before: R : Type u_1
inst✝³ : CommRing R
inst✝² : IsDomain R
p n : ℕ
inst✝¹ : ExpChar R p
f : R[X]
inst✝ : PerfectRing R p
⊢ p • Multiset.map (⇑(frobeniusEquiv R p ^ 1).symm) f.roots = p • Multiset.map (⇑(frobeniusEquiv R p).symm) f.roots
state_after: no goals
Theorem: SimplicialObject.Splitting.cofan_inj_id
File: Mathlib/AlgebraicTopology/SplitSimplicialObject.lean

tactic: erw [cofan_inj_eq, X.map_id, comp_id]
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : SimplicialObject C
s : Splitting X
n : ℕ
⊢ (s.cofan { unop := [n] }).inj (IndexSet.id { unop := [n] }) = s.ι n
state_after: C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : SimplicialObject C
s : Splitting X
n : ℕ
⊢ s.ι (IndexSet.id { unop := [n] }).fst.unop.len = s.ι n

tactic: rfl
state_before: C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : SimplicialObject C
s : Splitting X
n : ℕ
⊢ s.ι (IndexSet.id { unop := [n] }).fst.unop.len = s.ι n
state_after: no goals
Theorem: Matrix.PosSemidef.conjTranspose_mul_mul_same
File: Mathlib/LinearAlgebra/Matrix/PosDef.lean

tactic: constructor
state_before: m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
⊢ (Bᴴ * A * B).PosSemidef
state_after: case left
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
⊢ (Bᴴ * A * B).IsHermitian

case right
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
⊢ ∀ (x : m → R), 0 ≤ star x ⬝ᵥ (Bᴴ * A * B) *ᵥ x

tactic: exact isHermitian_conjTranspose_mul_mul B hA.1
state_before: case left
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
⊢ (Bᴴ * A * B).IsHermitian
state_after: no goals

tactic: intro x
state_before: case right
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
⊢ ∀ (x : m → R), 0 ≤ star x ⬝ᵥ (Bᴴ * A * B) *ᵥ x
state_after: case right
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
x : m → R
⊢ 0 ≤ star x ⬝ᵥ (Bᴴ * A * B) *ᵥ x

tactic: simpa only [star_mulVec, dotProduct_mulVec, vecMul_vecMul] using hA.2 (B *ᵥ x)
state_before: case right
m✝ : Type u_1
n : Type u_2
R : Type u_3
𝕜 : Type u_4
inst✝⁷ : Fintype m✝
inst✝⁶ : Fintype n
inst✝⁵ : CommRing R
inst✝⁴ : PartialOrder R
inst✝³ : StarRing R
inst✝² : StarOrderedRing R
inst✝¹ : RCLike 𝕜
A : Matrix n n R
hA : A.PosSemidef
m : Type u_5
inst✝ : Fintype m
B : Matrix n m R
x : m → R
⊢ 0 ≤ star x ⬝ᵥ (Bᴴ * A * B) *ᵥ x
state_after: no goals
Theorem: LiouvilleWith.rat_mul_iff
File: Mathlib/NumberTheory/Liouville/LiouvilleWith.lean

tactic: rw [mul_comm, mul_rat_iff hr]
state_before: p q x y : ℝ
r : ℚ
m : ℤ
n : ℕ
hr : r ≠ 0
⊢ LiouvilleWith p (↑r * x) ↔ LiouvilleWith p x
state_after: no goals
Theorem: Multiset.add_cons
File: Mathlib/Data/Multiset/Basic.lean

tactic: rw [add_comm, cons_add, add_comm]
state_before: α : Type u_1
β : Type v
γ : Type u_2
a : α
s t : Multiset α
⊢ s + a ::ₘ t = a ::ₘ (s + t)
state_after: no goals
Theorem: CategoryTheory.IsPullback.of_horiz_isIso
File: Mathlib/CategoryTheory/Limits/Shapes/CommSq.lean

tactic: refine
  PullbackCone.IsLimit.mk _ (fun s => s.fst ≫ inv fst) (by aesop_cat)
    (fun s => ?_) (by aesop_cat)
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : IsIso fst
inst✝ : IsIso g
sq : CommSq fst snd f g
⊢ IsLimit sq.cone
state_after: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : IsIso fst
inst✝ : IsIso g
sq : CommSq fst snd f g
s : PullbackCone f g
⊢ (fun s => s.fst ≫ inv fst) s ≫ snd = s.snd

tactic: simp only [← cancel_mono g, Category.assoc, ← sq.w, IsIso.inv_hom_id_assoc, s.condition]
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : IsIso fst
inst✝ : IsIso g
sq : CommSq fst snd f g
s : PullbackCone f g
⊢ (fun s => s.fst ≫ inv fst) s ≫ snd = s.snd
state_after: no goals

tactic: aesop_cat
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : IsIso fst
inst✝ : IsIso g
sq : CommSq fst snd f g
⊢ ∀ (s : PullbackCone f g), (fun s => s.fst ≫ inv fst) s ≫ fst = s.fst
state_after: no goals

tactic: aesop_cat
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : IsIso fst
inst✝ : IsIso g
sq : CommSq fst snd f g
⊢ ∀ (s : PullbackCone f g) (m : s.pt ⟶ P), m ≫ fst = s.fst → m ≫ snd = s.snd → m = (fun s => s.fst ≫ inv fst) s
state_after: no goals
Theorem: Finset.centerMass_segment
File: Mathlib/Analysis/Convex/Combination.lean

tactic: have hw : (∑ i ∈ s, (a * w₁ i + b * w₂ i)) = 1 := by
  simp only [← mul_sum, sum_add_distrib, mul_one, *]
state_before: R : Type u_1
R' : Type u_2
E : Type u_3
F : Type u_4
ι : Type u_5
ι' : Type u_6
α : Type u_7
inst✝⁸ : LinearOrderedField R
inst✝⁷ : LinearOrderedField R'
inst✝⁶ : AddCommGroup E
inst✝⁵ : AddCommGroup F
inst✝⁴ : LinearOrderedAddCommGroup α
inst✝³ : Module R E
inst✝² : Module R F
inst✝¹ : Module R α
inst✝ : OrderedSMul R α
s✝ : Set E
i j : ι
c : R
t : Finset ι
w : ι → R
z✝ : ι → E
s : Finset ι
w₁ w₂ : ι → R
z : ι → E
hw₁ : ∑ i ∈ s, w₁ i = 1
hw₂ : ∑ i ∈ s, w₂ i = 1
a b : R
hab : a + b = 1
⊢ a • s.centerMass w₁ z + b • s.centerMass w₂ z = s.centerMass (fun i => a * w₁ i + b * w₂ i) z
state_after: R : Type u_1
R' : Type u_2
E : Type u_3
F : Type u_4
ι : Type u_5
ι' : Type u_6
α : Type u_7
inst✝⁸ : LinearOrderedField R
inst✝⁷ : LinearOrderedField R'
inst✝⁶ : AddCommGroup E
inst✝⁵ : AddCommGroup F
inst✝⁴ : LinearOrderedAddCommGroup α
inst✝³ : Module R E
inst✝² : Module R F
inst✝¹ : Module R α
inst✝ : OrderedSMul R α
s✝ : Set E
i j : ι
c : R
t : Finset ι
w : ι → R
z✝ : ι → E
s : Finset ι
w₁ w₂ : ι → R
z : ι → E
hw₁ : ∑ i ∈ s, w₁ i = 1
hw₂ : ∑ i ∈ s, w₂ i = 1
a b : R
hab : a + b = 1
hw : ∑ i ∈ s, (a * w₁ i + b * w₂ i) = 1
⊢ a • s.centerMass w₁ z + b • s.centerMass w₂ z = s.centerMass (fun i => a * w₁ i + b * w₂ i) z

tactic: simp only [Finset.centerMass_eq_of_sum_1, Finset.centerMass_eq_of_sum_1 _ _ hw,
  smul_sum, sum_add_distrib, add_smul, mul_smul, *]
state_before: R : Type u_1
R' : Type u_2
E : Type u_3
F : Type u_4
ι : Type u_5
ι' : Type u_6
α : Type u_7
inst✝⁸ : LinearOrderedField R
inst✝⁷ : LinearOrderedField R'
inst✝⁶ : AddCommGroup E
inst✝⁵ : AddCommGroup F
inst✝⁴ : LinearOrderedAddCommGroup α
inst✝³ : Module R E
inst✝² : Module R F
inst✝¹ : Module R α
inst✝ : OrderedSMul R α
s✝ : Set E
i j : ι
c : R
t : Finset ι
w : ι → R
z✝ : ι → E
s : Finset ι
w₁ w₂ : ι → R
z : ι → E
hw₁ : ∑ i ∈ s, w₁ i = 1
hw₂ : ∑ i ∈ s, w₂ i = 1
a b : R
hab : a + b = 1
hw : ∑ i ∈ s, (a * w₁ i + b * w₂ i) = 1
⊢ a • s.centerMass w₁ z + b • s.centerMass w₂ z = s.centerMass (fun i => a * w₁ i + b * w₂ i) z
state_after: no goals

tactic: simp only [← mul_sum, sum_add_distrib, mul_one, *]
state_before: R : Type u_1
R' : Type u_2
E : Type u_3
F : Type u_4
ι : Type u_5
ι' : Type u_6
α : Type u_7
inst✝⁸ : LinearOrderedField R
inst✝⁷ : LinearOrderedField R'
inst✝⁶ : AddCommGroup E
inst✝⁵ : AddCommGroup F
inst✝⁴ : LinearOrderedAddCommGroup α
inst✝³ : Module R E
inst✝² : Module R F
inst✝¹ : Module R α
inst✝ : OrderedSMul R α
s✝ : Set E
i j : ι
c : R
t : Finset ι
w : ι → R
z✝ : ι → E
s : Finset ι
w₁ w₂ : ι → R
z : ι → E
hw₁ : ∑ i ∈ s, w₁ i = 1
hw₂ : ∑ i ∈ s, w₂ i = 1
a b : R
hab : a + b = 1
⊢ ∑ i ∈ s, (a * w₁ i + b * w₂ i) = 1
state_after: no goals
Theorem: CategoryTheory.IsPullback.of_is_bilimit'
File: Mathlib/CategoryTheory/Limits/Shapes/CommSq.lean

tactic: refine IsPullback.of_right ?_ (by simp) (IsPullback.inl_snd' h).flip
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
⊢ IsPullback 0 0 b.inl b.inr
state_after: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
⊢ IsPullback (0 ≫ 0) 0 0 (b.inr ≫ b.snd)

tactic: simp
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
⊢ IsPullback (0 ≫ 0) 0 0 (b.inr ≫ b.snd)
state_after: no goals

tactic: simp
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
P X Y Z : C
fst : P ⟶ X
snd : P ⟶ Y
f : X ⟶ Z
g : Y ⟶ Z
inst✝¹ : HasZeroObject C
inst✝ : HasZeroMorphisms C
b : BinaryBicone X Y
h : b.IsBilimit
⊢ 0 ≫ b.inl = 0 ≫ b.inr
state_after: no goals
Theorem: CategoryTheory.Limits.imageSubobjectIso_comp_image_map
File: Mathlib/CategoryTheory/Subobject/Limits.lean

tactic: erw [← Iso.comp_inv_eq, Category.assoc, ← (imageSubobjectIso f).eq_inv_comp,
  image_map_comp_imageSubobjectIso_inv sq]
state_before: C : Type u
inst✝⁴ : Category.{v, u} C
X✝ Y✝ Z✝ : C
f✝ : X✝ ⟶ Y✝
inst✝³ : HasImage f✝
W X Y Z : C
f : W ⟶ X
inst✝² : HasImage f
g : Y ⟶ Z
inst✝¹ : HasImage g
sq : Arrow.mk f ⟶ Arrow.mk g
inst✝ : HasImageMap sq
⊢ (imageSubobjectIso (Arrow.mk f).hom).hom ≫ image.map sq = imageSubobjectMap sq ≫ (imageSubobjectIso g).hom
state_after: no goals
Theorem: Fin.card_Ico
File: Mathlib/Order/Interval/Finset/Fin.lean

tactic: rw [← Nat.card_Ico, ← map_valEmbedding_Ico, card_map]
state_before: n : ℕ
a b : Fin n
⊢ (Ico a b).card = ↑b - ↑a
state_after: no goals
Theorem: WittVector.frobenius_verschiebung
File: Mathlib/RingTheory/WittVector/Identities.lean

tactic: have : IsPoly p fun {R} [CommRing R] x ↦ frobenius (verschiebung x) :=
  IsPoly.comp (hg := frobenius_isPoly p) (hf := verschiebung_isPoly)
state_before: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
x : 𝕎 R
⊢ frobenius (verschiebung x) = x * ↑p
state_after: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
x : 𝕎 R
this : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
⊢ frobenius (verschiebung x) = x * ↑p

tactic: have : IsPoly p fun {R} [CommRing R] x ↦ x * p := mulN_isPoly p p
state_before: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
x : 𝕎 R
this : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
⊢ frobenius (verschiebung x) = x * ↑p
state_after: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
x : 𝕎 R
this✝ : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
this : IsPoly p fun {R} [CommRing R] x => x * ↑p
⊢ frobenius (verschiebung x) = x * ↑p

tactic: ghost_calc x
state_before: p : ℕ
R : Type u_1
hp : Fact (Nat.Prime p)
inst✝ : CommRing R
x : 𝕎 R
this✝ : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
this : IsPoly p fun {R} [CommRing R] x => x * ↑p
⊢ frobenius (verschiebung x) = x * ↑p
state_after: case refine_3
p : ℕ
hp : Fact (Nat.Prime p)
this✝ : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
this : IsPoly p fun {R} [CommRing R] x => x * ↑p
R : Type u_1
R._inst : CommRing R
x : 𝕎 R
⊢ ∀ (n : ℕ), (ghostComponent n) (frobenius (verschiebung x)) = (ghostComponent n) (x * ↑p)

tactic: ghost_simp [mul_comm]
state_before: case refine_3
p : ℕ
hp : Fact (Nat.Prime p)
this✝ : IsPoly p fun {R} [CommRing R] x => frobenius (verschiebung x)
this : IsPoly p fun {R} [CommRing R] x => x * ↑p
R : Type u_1
R._inst : CommRing R
x : 𝕎 R
⊢ ∀ (n : ℕ), (ghostComponent n) (frobenius (verschiebung x)) = (ghostComponent n) (x * ↑p)
state_after: no goals
Theorem: Filter.sdiff_limsup
File: Mathlib/Order/LiminfLimsup.lean

tactic: rw [← compl_inj_iff]
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Type u_5
inst✝¹ : CompleteBooleanAlgebra α
f : Filter β
u : β → α
inst✝ : f.NeBot
a : α
⊢ a \ limsup u f = liminf (fun b => a \ u b) f
state_after: α : Type u_1
β : Type u_2
γ : Type u_3
ι : Type u_4
ι' : Type u_5
inst✝¹ : CompleteBooleanAlgebra α
f : Filter β
u : β → α
inst✝ : f.NeBot
a : α
⊢ (a \ limsup u f)ᶜ = (liminf (fun b => a \ u b) f)ᶜ
Theorem: WithLp.prod_norm_eq_of_L2
File: Mathlib/Analysis/NormedSpace/ProdLp.lean

tactic: rw [prod_norm_eq_of_nat 2 (by norm_cast) _, Real.sqrt_eq_rpow]
state_before: p : ℝ≥0∞
𝕜 : Type u_1
α : Type u_2
β : Type u_3
hp : Fact (1 ≤ p)
inst✝¹ : SeminormedAddCommGroup α
inst✝ : SeminormedAddCommGroup β
x : WithLp 2 (α × β)
⊢ ‖x‖ = √(‖x.1‖ ^ 2 + ‖x.2‖ ^ 2)
state_after: p : ℝ≥0∞
𝕜 : Type u_1
α : Type u_2
β : Type u_3
hp : Fact (1 ≤ p)
inst✝¹ : SeminormedAddCommGroup α
inst✝ : SeminormedAddCommGroup β
x : WithLp 2 (α × β)
⊢ (‖x.1‖ ^ 2 + ‖x.2‖ ^ 2) ^ (1 / ↑2) = (‖x.1‖ ^ 2 + ‖x.2‖ ^ 2) ^ (1 / 2)

tactic: norm_cast
state_before: p : ℝ≥0∞
𝕜 : Type u_1
α : Type u_2
β : Type u_3
hp : Fact (1 ≤ p)
inst✝¹ : SeminormedAddCommGroup α
inst✝ : SeminormedAddCommGroup β
x : WithLp 2 (α × β)
⊢ (‖x.1‖ ^ 2 + ‖x.2‖ ^ 2) ^ (1 / ↑2) = (‖x.1‖ ^ 2 + ‖x.2‖ ^ 2) ^ (1 / 2)
state_after: no goals

tactic: norm_cast
state_before: p : ℝ≥0∞
𝕜 : Type u_1
α : Type u_2
β : Type u_3
hp : Fact (1 ≤ p)
inst✝¹ : SeminormedAddCommGroup α
inst✝ : SeminormedAddCommGroup β
x : WithLp 2 (α × β)
⊢ 2 = ↑2
state_after: no goals
Theorem: MeromorphicAt.inv_iff
File: Mathlib/Analysis/Analytic/Meromorphic.lean

tactic: simpa only [inv_inv] using h.inv
state_before: 𝕜 : Type u_1
inst✝² : NontriviallyNormedField 𝕜
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace 𝕜 E
f : 𝕜 → 𝕜
x : 𝕜
h : MeromorphicAt f⁻¹ x
⊢ MeromorphicAt f x
state_after: no goals
Theorem: MeasureTheory.FiniteMeasure.eq_of_forall_apply_eq
File: Mathlib/MeasureTheory/Measure/FiniteMeasure.lean

tactic: ext1 s s_mble
state_before: Ω : Type u_1
inst✝ : MeasurableSpace Ω
μ ν : FiniteMeasure Ω
h : ∀ (s : Set Ω), MeasurableSet s → μ s = ν s
⊢ μ = ν
state_after: case h
Ω : Type u_1
inst✝ : MeasurableSpace Ω
μ ν : FiniteMeasure Ω
h : ∀ (s : Set Ω), MeasurableSet s → μ s = ν s
s : Set Ω
s_mble : MeasurableSet s
⊢ ↑μ s = ↑ν s

tactic: simpa [ennreal_coeFn_eq_coeFn_toMeasure] using congr_arg ((↑) : ℝ≥0 → ℝ≥0∞) (h s s_mble)
state_before: case h
Ω : Type u_1
inst✝ : MeasurableSpace Ω
μ ν : FiniteMeasure Ω
h : ∀ (s : Set Ω), MeasurableSet s → μ s = ν s
s : Set Ω
s_mble : MeasurableSet s
⊢ ↑μ s = ↑ν s
state_after: no goals
Theorem: PowerSeries.derivativeFun_smul
File: Mathlib/RingTheory/PowerSeries/Derivative.lean

tactic: rw [smul_eq_C_mul, smul_eq_C_mul, derivativeFun_mul, derivativeFun_C, smul_zero, add_zero,
  smul_eq_mul]
state_before: R : Type u_1
inst✝ : CommSemiring R
r : R
f : R⟦X⟧
⊢ (r • f).derivativeFun = r • f.derivativeFun
state_after: no goals
Theorem: NumberField.mixedEmbedding.convexBodySum_isBounded
File: Mathlib/NumberTheory/NumberField/CanonicalEmbedding/ConvexBody.lean

tactic: refine Metric.isBounded_iff.mpr ⟨B + B, fun x hx y hy => ?_⟩
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
⊢ Bornology.IsBounded (convexBodySum K B)
state_after: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ dist x y ≤ B + B

tactic: refine le_trans (norm_sub_le x y) (add_le_add ?_ ?_)
state_before: K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ dist x y ≤ B + B
state_after: case refine_1
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ ‖x‖ ≤ B

case refine_2
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ ‖y‖ ≤ B

tactic: exact le_trans (norm_le_convexBodySumFun x) hx
state_before: case refine_1
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ ‖x‖ ≤ B
state_after: no goals

tactic: exact le_trans (norm_le_convexBodySumFun y) hy
state_before: case refine_2
K : Type u_1
inst✝¹ : Field K
inst✝ : NumberField K
B : ℝ
x : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hx : x ∈ convexBodySum K B
y : ({ w // w.IsReal } → ℝ) × ({ w // w.IsComplex } → ℂ)
hy : y ∈ convexBodySum K B
⊢ ‖y‖ ≤ B
state_after: no goals
Theorem: AList.lookup_insert
File: Mathlib/Data/List/AList.lean

tactic: simp only [lookup, insert, dlookup_kinsert]
state_before: α : Type u
β : α → Type v
inst✝ : DecidableEq α
a : α
b : β a
s : AList β
⊢ lookup a (insert a b s) = some b
state_after: no goals
Theorem: Polynomial.eval₂_comp'
File: Mathlib/Algebra/Polynomial/Eval.lean

tactic: induction p using Polynomial.induction_on' with
| h_add r s hr hs => simp only [add_comp, eval₂_add, hr, hs]
| h_monomial n a => simp only [monomial_comp, eval₂_mul', eval₂_C, eval₂_monomial, eval₂_pow']
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝² : CommSemiring R
inst✝¹ : Semiring S
inst✝ : Algebra R S
x : S
p q : R[X]
⊢ eval₂ (algebraMap R S) x (p.comp q) = eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) p
state_after: no goals

tactic: simp only [add_comp, eval₂_add, hr, hs]
state_before: case h_add
R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝² : CommSemiring R
inst✝¹ : Semiring S
inst✝ : Algebra R S
x : S
p q r s : R[X]
hr : eval₂ (algebraMap R S) x (r.comp q) = eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) r
hs : eval₂ (algebraMap R S) x (s.comp q) = eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) s
⊢ eval₂ (algebraMap R S) x ((r + s).comp q) = eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) (r + s)
state_after: no goals

tactic: simp only [monomial_comp, eval₂_mul', eval₂_C, eval₂_monomial, eval₂_pow']
state_before: case h_monomial
R : Type u
S : Type v
T : Type w
ι : Type y
a✝ b : R
m n✝ : ℕ
inst✝² : CommSemiring R
inst✝¹ : Semiring S
inst✝ : Algebra R S
x : S
p q : R[X]
n : ℕ
a : R
⊢ eval₂ (algebraMap R S) x (((monomial n) a).comp q) =
    eval₂ (algebraMap R S) (eval₂ (algebraMap R S) x q) ((monomial n) a)
state_after: no goals
Theorem: Complex.circleIntegral_div_sub_of_differentiable_on_off_countable
File: Mathlib/Analysis/Complex/CauchyIntegral.lean

tactic: simpa only [smul_eq_mul, div_eq_inv_mul] using
  circleIntegral_sub_inv_smul_of_differentiable_on_off_countable hs hw hc hd
state_before: E : Type u
inst✝² : NormedAddCommGroup E
inst✝¹ : NormedSpace ℂ E
inst✝ : CompleteSpace E
R : ℝ
c w : ℂ
s : Set ℂ
hs : s.Countable
hw : w ∈ ball c R
f : ℂ → ℂ
hc : ContinuousOn f (closedBall c R)
hd : ∀ z ∈ ball c R \ s, DifferentiableAt ℂ f z
⊢ (∮ (z : ℂ) in C(c, R), f z / (z - w)) = 2 * ↑π * I * f w
state_after: no goals
Theorem: MeasureTheory.Measure.toSignedMeasure_congr
File: Mathlib/MeasureTheory/Measure/VectorMeasure.lean

tactic: congr
state_before: α : Type u_1
β : Type u_2
m : MeasurableSpace α
μ ν : Measure α
inst✝¹ : IsFiniteMeasure μ
inst✝ : IsFiniteMeasure ν
h : μ = ν
⊢ μ.toSignedMeasure = ν.toSignedMeasure
state_after: no goals