1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: IntermediateField.finrank_eq_one_iff
File: Mathlib/FieldTheory/Adjoin.lean

tactic: rw [← toSubalgebra_eq_iff, ← finrank_eq_finrank_subalgebra, Subalgebra.finrank_eq_one_iff,
  bot_toSubalgebra]
state_before: F : Type u_1
inst✝² : Field F
E : Type u_2
inst✝¹ : Field E
inst✝ : Algebra F E
α : E
S : Set E
K L : IntermediateField F E
⊢ finrank F ↥K = 1 ↔ K = ⊥
state_after: no goals
Theorem: Group.conjugatesOf_subset
File: Mathlib/Deprecated/Subgroup.lean

tactic: obtain ⟨c, w⟩ := isConj_iff.1 hc
state_before: G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b c : G
s : Set G
inst✝ : Group G
t : Set G
ht : IsNormalSubgroup t
a : G
h : a ∈ t
x : G
hc : x ∈ conjugatesOf a
⊢ x ∈ t
state_after: case intro
G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b c✝ : G
s : Set G
inst✝ : Group G
t : Set G
ht : IsNormalSubgroup t
a : G
h : a ∈ t
x : G
hc : x ∈ conjugatesOf a
c : G
w : c * a * c⁻¹ = x
⊢ x ∈ t

tactic: have H := IsNormalSubgroup.normal ht a h c
state_before: case intro
G : Type u_1
H : Type u_2
A : Type u_3
a✝ a₁ a₂ b c✝ : G
s : Set G
inst✝ : Group G
t : Set G
ht : IsNormalSubgroup t
a : G
h : a ∈ t
x : G
hc : x ∈ conjugatesOf a
c : G
w : c * a * c⁻¹ = x
⊢ x ∈ t
state_after: case intro
G : Type u_1
H✝ : Type u_2
A : Type u_3
a✝ a₁ a₂ b c✝ : G
s : Set G
inst✝ : Group G
t : Set G
ht : IsNormalSubgroup t
a : G
h : a ∈ t
x : G
hc : x ∈ conjugatesOf a
c : G
w : c * a * c⁻¹ = x
H : c * a * c⁻¹ ∈ t
⊢ x ∈ t

tactic: rwa [← w]
state_before: case intro
G : Type u_1
H✝ : Type u_2
A : Type u_3
a✝ a₁ a₂ b c✝ : G
s : Set G
inst✝ : Group G
t : Set G
ht : IsNormalSubgroup t
a : G
h : a ∈ t
x : G
hc : x ∈ conjugatesOf a
c : G
w : c * a * c⁻¹ = x
H : c * a * c⁻¹ ∈ t
⊢ x ∈ t
state_after: no goals
Theorem: Real.one_lt_cosh
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Deriv.lean

tactic: simp only [_root_.abs_zero, abs_pos]
state_before: x y z : ℝ
⊢ |0| < |x| ↔ x ≠ 0
state_after: no goals
Theorem: Homeomorph.comp_continuousAt_iff'
File: Mathlib/Topology/Homeomorph.lean

tactic: simp
state_before: X : Type u_1
Y : Type u_2
Z : Type u_3
inst✝⁴ : TopologicalSpace X
inst✝³ : TopologicalSpace Y
inst✝² : TopologicalSpace Z
X' : Type u_4
Y' : Type u_5
inst✝¹ : TopologicalSpace X'
inst✝ : TopologicalSpace Y'
h : X ≃ₜ Y
f : Y → Z
x : X
⊢ range ⇑h ∈ 𝓝 (h x)
state_after: no goals
Theorem: Gamma_one_top
File: Mathlib/NumberTheory/ModularForms/CongruenceSubgroups.lean

tactic: ext
state_before: N : ℕ
⊢ Gamma 1 = ⊤
state_after: case h
N : ℕ
x✝ : SL(2, ℤ)
⊢ x✝ ∈ Gamma 1 ↔ x✝ ∈ ⊤

tactic: simp [eq_iff_true_of_subsingleton]
state_before: case h
N : ℕ
x✝ : SL(2, ℤ)
⊢ x✝ ∈ Gamma 1 ↔ x✝ ∈ ⊤
state_after: no goals
Theorem: GeneralizedContinuedFraction.terminatedAt_iff_s_terminatedAt
File: Mathlib/Algebra/ContinuedFractions/Translations.lean

tactic: rfl
state_before: α : Type u_1
g : GeneralizedContinuedFraction α
n : ℕ
⊢ g.TerminatedAt n ↔ g.s.TerminatedAt n
state_after: no goals
Theorem: Pi.openSegment_subset
File: Mathlib/Analysis/Convex/Segment.lean

tactic: rintro z ⟨a, b, ha, hb, hab, hz⟩ i -
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝² : OrderedSemiring 𝕜
inst✝¹ : (i : ι) → AddCommMonoid (π i)
inst✝ : (i : ι) → Module 𝕜 (π i)
s : Set ι
x y : (i : ι) → π i
⊢ openSegment 𝕜 x y ⊆ s.pi fun i => openSegment 𝕜 (x i) (y i)
state_after: case intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝² : OrderedSemiring 𝕜
inst✝¹ : (i : ι) → AddCommMonoid (π i)
inst✝ : (i : ι) → Module 𝕜 (π i)
s : Set ι
x y z : (i : ι) → π i
a b : 𝕜
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hz : a • x + b • y = z
i : ι
⊢ z i ∈ (fun i => openSegment 𝕜 (x i) (y i)) i

tactic: exact ⟨a, b, ha, hb, hab, congr_fun hz i⟩
state_before: case intro.intro.intro.intro.intro
𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝² : OrderedSemiring 𝕜
inst✝¹ : (i : ι) → AddCommMonoid (π i)
inst✝ : (i : ι) → Module 𝕜 (π i)
s : Set ι
x y z : (i : ι) → π i
a b : 𝕜
ha : 0 < a
hb : 0 < b
hab : a + b = 1
hz : a • x + b • y = z
i : ι
⊢ z i ∈ (fun i => openSegment 𝕜 (x i) (y i)) i
state_after: no goals
Theorem: NonUnitalSubring.unitization_range
File: Mathlib/Algebra/Algebra/Subalgebra/Unitization.lean

tactic: have := AddSubgroupClass.zsmulMemClass (S := S)
state_before: R : Type u_1
S : Type u_2
inst✝¹ : Ring R
inst✝ : SetLike S R
hSR : NonUnitalSubringClass S R
s : S
⊢ (unitization s).range = subalgebraOfSubring (Subring.closure ↑s)
state_after: R : Type u_1
S : Type u_2
inst✝¹ : Ring R
inst✝ : SetLike S R
hSR : NonUnitalSubringClass S R
s : S
this : SMulMemClass S ℤ R
⊢ (unitization s).range = subalgebraOfSubring (Subring.closure ↑s)

tactic: rw [unitization, NonUnitalSubalgebra.unitization_range (hSRA := this), Algebra.adjoin_int]
state_before: R : Type u_1
S : Type u_2
inst✝¹ : Ring R
inst✝ : SetLike S R
hSR : NonUnitalSubringClass S R
s : S
this : SMulMemClass S ℤ R
⊢ (unitization s).range = subalgebraOfSubring (Subring.closure ↑s)
state_after: no goals
Theorem: FirstOrder.Language.Theory.models_iff_not_satisfiable
File: Mathlib/ModelTheory/Satisfiability.lean

tactic: rw [models_sentence_iff, IsSatisfiable]
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
⊢ T ⊨ᵇ φ ↔ ¬(T ∪ {Formula.not φ}).IsSatisfiable
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
⊢ (∀ (M : T.ModelType), ↑M ⊨ φ) ↔ ¬Nonempty (T ∪ {Formula.not φ}).ModelType

tactic: refine
  ⟨fun h1 h2 =>
    (Sentence.realize_not _).1
      (realize_sentence_of_mem (T ∪ {Formula.not φ})
        (Set.subset_union_right (Set.mem_singleton _)))
      (h1 (h2.some.subtheoryModel Set.subset_union_left)),
    fun h M => ?_⟩
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
⊢ (∀ (M : T.ModelType), ↑M ⊨ φ) ↔ ¬Nonempty (T ∪ {Formula.not φ}).ModelType
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
h : ¬Nonempty (T ∪ {Formula.not φ}).ModelType
M : T.ModelType
⊢ ↑M ⊨ φ

tactic: contrapose! h
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
h : ¬Nonempty (T ∪ {Formula.not φ}).ModelType
M : T.ModelType
⊢ ↑M ⊨ φ
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ¬↑M ⊨ φ
⊢ Nonempty (T ∪ {Formula.not φ}).ModelType

tactic: rw [← Sentence.realize_not] at h
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ¬↑M ⊨ φ
⊢ Nonempty (T ∪ {Formula.not φ}).ModelType
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
⊢ Nonempty (T ∪ {Formula.not φ}).ModelType

tactic: refine
  ⟨{  Carrier := M
      is_model := ⟨fun ψ hψ => hψ.elim (realize_sentence_of_mem _) fun h' => ?_⟩ }⟩
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
⊢ Nonempty (T ∪ {Formula.not φ}).ModelType
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
ψ : L.Sentence
hψ : ψ ∈ T ∪ {Formula.not φ}
h' : ψ ∈ {Formula.not φ}
⊢ ↑M ⊨ ψ

tactic: rw [Set.mem_singleton_iff.1 h']
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
ψ : L.Sentence
hψ : ψ ∈ T ∪ {Formula.not φ}
h' : ψ ∈ {Formula.not φ}
⊢ ↑M ⊨ ψ
state_after: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
ψ : L.Sentence
hψ : ψ ∈ T ∪ {Formula.not φ}
h' : ψ ∈ {Formula.not φ}
⊢ ↑M ⊨ Formula.not φ

tactic: exact h
state_before: L : Language
T : L.Theory
α : Type w
n : ℕ
φ : L.Sentence
M : T.ModelType
h : ↑M ⊨ Formula.not φ
ψ : L.Sentence
hψ : ψ ∈ T ∪ {Formula.not φ}
h' : ψ ∈ {Formula.not φ}
⊢ ↑M ⊨ Formula.not φ
state_after: no goals
Theorem: MeasureTheory.Measure.restrict_sUnion_congr
File: Mathlib/MeasureTheory/Measure/Restrict.lean

tactic: rw [sUnion_eq_biUnion, restrict_biUnion_congr hc]
state_before: R : Type u_1
α : Type u_2
β : Type u_3
δ : Type u_4
γ : Type u_5
ι : Type u_6
m0 : MeasurableSpace α
inst✝¹ : MeasurableSpace β
inst✝ : MeasurableSpace γ
μ μ₁ μ₂ μ₃ ν ν' ν₁ ν₂ : Measure α
s s' t : Set α
S : Set (Set α)
hc : S.Countable
⊢ μ.restrict (⋃₀ S) = ν.restrict (⋃₀ S) ↔ ∀ s ∈ S, μ.restrict s = ν.restrict s
state_after: no goals
Theorem: CochainComplex.HomComplex.Cochain.d_comp_ofHom_v
File: Mathlib/Algebra/Homology/HomotopyCategory/HomComplex.lean

tactic: simp only [ofHom, d_comp_ofHoms_v]
state_before: C : Type u
inst✝³ : Category.{v, u} C
inst✝² : Preadditive C
R : Type u_1
inst✝¹ : Ring R
inst✝ : Linear R C
F G K L : CochainComplex C ℤ
n m : ℤ
φ : F ⟶ G
p' p q : ℤ
hpq : p + 0 = q
⊢ F.d p' p ≫ (ofHom φ).v p q hpq = F.d p' q ≫ φ.f q
state_after: no goals
Theorem: CircleDeg1Lift.coe_pow
File: Mathlib/Dynamics/Circle/RotationNumber/TranslationNumber.lean

tactic: ext x
state_before: f g : CircleDeg1Lift
n : ℕ
⊢ ⇑(f ^ (n + 1)) = (⇑f)^[n + 1]
state_after: case h
f g : CircleDeg1Lift
n : ℕ
x : ℝ
⊢ (f ^ (n + 1)) x = (⇑f)^[n + 1] x

tactic: simp [coe_pow n, pow_succ]
state_before: case h
f g : CircleDeg1Lift
n : ℕ
x : ℝ
⊢ (f ^ (n + 1)) x = (⇑f)^[n + 1] x
state_after: no goals
Theorem: Real.lt_logb_iff_rpow_lt
File: Mathlib/Analysis/SpecialFunctions/Log/Base.lean

tactic: rw [← rpow_lt_rpow_left_iff hb, rpow_logb (b_pos hb) (b_ne_one' hb) hy]
state_before: b x y : ℝ
hb : 1 < b
hy : 0 < y
⊢ x < logb b y ↔ b ^ x < y
state_after: no goals
Theorem: Equiv.mul_swap_eq_swap_mul
File: Mathlib/GroupTheory/Perm/Basic.lean

tactic: rw [swap_mul_eq_mul_swap, Perm.inv_apply_self, Perm.inv_apply_self]
state_before: α : Type u
β : Type v
inst✝ : DecidableEq α
f : Perm α
x y : α
⊢ f * swap x y = swap (f x) (f y) * f
state_after: no goals
Theorem: EMetric.preimage_smul_closedBall
File: Mathlib/Topology/MetricSpace/IsometricSMul.lean

tactic: rw [preimage_smul, smul_closedBall]
state_before: M : Type u
G : Type v
X : Type w
inst✝³ : PseudoEMetricSpace X
inst✝² : Group G
inst✝¹ : MulAction G X
inst✝ : IsometricSMul G X
c : G
x : X
r : ℝ≥0∞
⊢ (fun x => c • x) ⁻¹' closedBall x r = closedBall (c⁻¹ • x) r
state_after: no goals
Theorem: Real.div_rpow
File: Mathlib/Analysis/SpecialFunctions/Pow/Real.lean

tactic: simp only [div_eq_mul_inv, mul_rpow hx (inv_nonneg.2 hy), inv_rpow hy]
state_before: x y z✝ : ℝ
n : ℕ
hx : 0 ≤ x
hy : 0 ≤ y
z : ℝ
⊢ (x / y) ^ z = x ^ z / y ^ z
state_after: no goals
Theorem: PosNum.add_one
File: Mathlib/Data/Num/Lemmas.lean

tactic: cases n <;> rfl
state_before: α : Type u_1
n : PosNum
⊢ n + 1 = n.succ
state_after: no goals
Theorem: EuclideanGeometry.inner_vsub_vsub_of_dist_eq_of_dist_eq
File: Mathlib/Geometry/Euclidean/PerpBisector.lean

tactic: rw [← Submodule.mem_orthogonal_singleton_iff_inner_left, ← direction_perpBisector]
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c₁ c₂ p₁ p₂ : P
hc₁ : dist p₁ c₁ = dist p₂ c₁
hc₂ : dist p₁ c₂ = dist p₂ c₂
⊢ ⟪c₂ -ᵥ c₁, p₂ -ᵥ p₁⟫_ℝ = 0
state_after: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c₁ c₂ p₁ p₂ : P
hc₁ : dist p₁ c₁ = dist p₂ c₁
hc₂ : dist p₁ c₂ = dist p₂ c₂
⊢ c₂ -ᵥ c₁ ∈ (perpBisector p₁ p₂).direction

tactic: apply vsub_mem_direction <;> rwa [mem_perpBisector_iff_dist_eq']
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c₁ c₂ p₁ p₂ : P
hc₁ : dist p₁ c₁ = dist p₂ c₁
hc₂ : dist p₁ c₂ = dist p₂ c₂
⊢ c₂ -ᵥ c₁ ∈ (perpBisector p₁ p₂).direction
state_after: no goals
Theorem: AddLECancellable.le_tsub_of_add_le_right
File: Mathlib/Algebra/Order/Sub/Defs.lean

tactic: rwa [add_comm]
state_before: α : Type u_1
β : Type u_2
inst✝³ : Preorder α
inst✝² : AddCommSemigroup α
inst✝¹ : Sub α
inst✝ : OrderedSub α
a b c d : α
hb : AddLECancellable b
h : a + b ≤ c
⊢ b + a ≤ c
state_after: no goals
Theorem: WeierstrassCurve.baseChange_Φ
File: Mathlib/AlgebraicGeometry/EllipticCurve/DivisionPolynomial/Basic.lean

tactic: rw [← map_Φ, map_baseChange]
state_before: R : Type r
S : Type s
inst✝¹⁰ : CommRing R
inst✝⁹ : CommRing S
W : WeierstrassCurve R
inst✝⁸ : Algebra R S
A : Type u
inst✝⁷ : CommRing A
inst✝⁶ : Algebra R A
inst✝⁵ : Algebra S A
inst✝⁴ : IsScalarTower R S A
B : Type v
inst✝³ : CommRing B
inst✝² : Algebra R B
inst✝¹ : Algebra S B
inst✝ : IsScalarTower R S B
f : A →ₐ[S] B
n : ℤ
⊢ (W.baseChange B).Φ n = Polynomial.map (↑f) ((W.baseChange A).Φ n)
state_after: no goals
Theorem: SimpleGraph.IsTuranMaximal.not_adj_iff_part_eq
File: Mathlib/Combinatorics/SimpleGraph/Turan.lean

tactic: change h.setoid.r s t ↔ _
state_before: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
⊢ ¬G.Adj s t ↔ h.finpartition.part s = h.finpartition.part t
state_after: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
⊢ Setoid.r s t ↔ h.finpartition.part s = h.finpartition.part t

tactic: rw [← Finpartition.mem_part_ofSetoid_iff_rel]
state_before: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
⊢ Setoid.r s t ↔ h.finpartition.part s = h.finpartition.part t
state_after: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
⊢ t ∈ (Finpartition.ofSetoid h.setoid).part s ↔ h.finpartition.part s = h.finpartition.part t

tactic: let fp := h.finpartition
state_before: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
⊢ t ∈ (Finpartition.ofSetoid h.setoid).part s ↔ h.finpartition.part s = h.finpartition.part t
state_after: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
fp : Finpartition univ := h.finpartition
⊢ t ∈ (Finpartition.ofSetoid h.setoid).part s ↔ h.finpartition.part s = h.finpartition.part t

tactic: change t ∈ fp.part s ↔ fp.part s = fp.part t
state_before: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
fp : Finpartition univ := h.finpartition
⊢ t ∈ (Finpartition.ofSetoid h.setoid).part s ↔ h.finpartition.part s = h.finpartition.part t
state_after: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
fp : Finpartition univ := h.finpartition
⊢ t ∈ fp.part s ↔ fp.part s = fp.part t

tactic: rw [fp.mem_part_iff_part_eq_part (mem_univ t) (mem_univ s), eq_comm]
state_before: V : Type u_1
inst✝² : Fintype V
inst✝¹ : DecidableEq V
G : SimpleGraph V
inst✝ : DecidableRel G.Adj
n r : ℕ
s t u : V
h : G.IsTuranMaximal r
fp : Finpartition univ := h.finpartition
⊢ t ∈ fp.part s ↔ fp.part s = fp.part t
state_after: no goals
Theorem: SemiconjBy.mul_right
File: Mathlib/Algebra/Group/Semiconj/Defs.lean

tactic: unfold SemiconjBy
state_before: S : Type u_1
M : Type u_2
G : Type u_3
inst✝ : Semigroup S
a b x y z x' y' : S
h : SemiconjBy a x y
h' : SemiconjBy a x' y'
⊢ SemiconjBy a (x * x') (y * y')
state_after: S : Type u_1
M : Type u_2
G : Type u_3
inst✝ : Semigroup S
a b x y z x' y' : S
h : SemiconjBy a x y
h' : SemiconjBy a x' y'
⊢ a * (x * x') = y * y' * a

tactic: rw [← mul_assoc, h.eq, mul_assoc, h'.eq, ← mul_assoc]
state_before: S : Type u_1
M : Type u_2
G : Type u_3
inst✝ : Semigroup S
a b x y z x' y' : S
h : SemiconjBy a x y
h' : SemiconjBy a x' y'
⊢ a * (x * x') = y * y' * a
state_after: no goals
Theorem: Metric.diam_le_of_subset_closedBall
File: Mathlib/Topology/MetricSpace/Bounded.lean

tactic: simp [mul_two, mul_comm]
state_before: α : Type u
β : Type v
X : Type u_1
ι : Type u_2
inst✝ : PseudoMetricSpace α
s : Set α
x y z : α
r : ℝ
hr : 0 ≤ r
h : s ⊆ closedBall x r
a : α
ha : a ∈ s
b : α
hb : b ∈ s
⊢ r + r = 2 * r
state_after: no goals
Theorem: Polynomial.derivative_comp_one_sub_X
File: Mathlib/Algebra/Polynomial/Derivative.lean

tactic: simp [derivative_comp]
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
A : Type z
a b : R
n : ℕ
inst✝ : CommRing R
p : R[X]
⊢ derivative (p.comp (1 - X)) = -(derivative p).comp (1 - X)
state_after: no goals
Theorem: Complex.conj_cpow
File: Mathlib/Analysis/SpecialFunctions/Pow/Complex.lean

tactic: rw [conj_cpow_eq_ite, if_neg hx]
state_before: x n : ℂ
hx : x.arg ≠ π
⊢ (starRingEnd ℂ) x ^ n = (starRingEnd ℂ) (x ^ (starRingEnd ℂ) n)
state_after: no goals
Theorem: ChainComplex.mk_d_1_0
File: Mathlib/Algebra/Homology/HomologicalComplex.lean

tactic: change ite (1 = 0 + 1) (𝟙 X₁ ≫ d₀) 0 = d₀
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
X₀ X₁ X₂ : V
d₀ : X₁ ⟶ X₀
d₁ : X₂ ⟶ X₁
s : d₁ ≫ d₀ = 0
succ : (S : ShortComplex V) → (X₃ : V) ×' (d₂ : X₃ ⟶ S.X₁) ×' d₂ ≫ S.f = 0
⊢ (mk X₀ X₁ X₂ d₀ d₁ s succ).d 1 0 = d₀
state_after: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
X₀ X₁ X₂ : V
d₀ : X₁ ⟶ X₀
d₁ : X₂ ⟶ X₁
s : d₁ ≫ d₀ = 0
succ : (S : ShortComplex V) → (X₃ : V) ×' (d₂ : X₃ ⟶ S.X₁) ×' d₂ ≫ S.f = 0
⊢ (if 1 = 0 + 1 then 𝟙 X₁ ≫ d₀ else 0) = d₀

tactic: rw [if_pos rfl, Category.id_comp]
state_before: ι : Type u_1
V : Type u
inst✝¹ : Category.{v, u} V
inst✝ : HasZeroMorphisms V
X₀ X₁ X₂ : V
d₀ : X₁ ⟶ X₀
d₁ : X₂ ⟶ X₁
s : d₁ ≫ d₀ = 0
succ : (S : ShortComplex V) → (X₃ : V) ×' (d₂ : X₃ ⟶ S.X₁) ×' d₂ ≫ S.f = 0
⊢ (if 1 = 0 + 1 then 𝟙 X₁ ≫ d₀ else 0) = d₀
state_after: no goals
Theorem: Matrix.frobenius_nnnorm_one
File: Mathlib/Analysis/Matrix.lean

tactic: refine (frobenius_nnnorm_diagonal _).trans ?_
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ‖1‖₊ = NNReal.sqrt ↑(Fintype.card n) * ‖1‖₊
state_after: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ‖(WithLp.equiv 2 (n → α)).symm fun x => 1‖₊ = NNReal.sqrt ↑(Fintype.card n) * ‖1‖₊

tactic: erw [PiLp.nnnorm_equiv_symm_const ENNReal.two_ne_top]
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ‖(WithLp.equiv 2 (n → α)).symm fun x => 1‖₊ = NNReal.sqrt ↑(Fintype.card n) * ‖1‖₊
state_after: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ↑(Fintype.card n) ^ (1 / 2).toReal * ‖1‖₊ = NNReal.sqrt ↑(Fintype.card n) * ‖1‖₊

tactic: simp_rw [NNReal.sqrt_eq_rpow]
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ↑(Fintype.card n) ^ (1 / 2).toReal * ‖1‖₊ = NNReal.sqrt ↑(Fintype.card n) * ‖1‖₊
state_after: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ↑(Fintype.card n) ^ (1 / 2).toReal * ‖1‖₊ = ↑(Fintype.card n) ^ (1 / 2) * ‖1‖₊

tactic: simp only [ENNReal.toReal_div, ENNReal.one_toReal, ENNReal.toReal_ofNat]
state_before: R : Type u_1
l : Type u_2
m : Type u_3
n : Type u_4
α : Type u_5
β : Type u_6
ι : Type u_7
inst✝⁶ : Fintype l
inst✝⁵ : Fintype m
inst✝⁴ : Fintype n
inst✝³ : Unique ι
inst✝² : DecidableEq n
inst✝¹ : SeminormedAddCommGroup α
inst✝ : One α
⊢ ↑(Fintype.card n) ^ (1 / 2).toReal * ‖1‖₊ = ↑(Fintype.card n) ^ (1 / 2) * ‖1‖₊
state_after: no goals
Theorem: CategoryTheory.LocalizerMorphism.IsRightDerivabilityStructure.mk'
File: Mathlib/CategoryTheory/Localization/DerivabilityStructure/Constructor.lean

tactic: rw [Φ.isRightDerivabilityStructure_iff (Φ.functor ⋙ W₂.Q) W₂.Q (𝟭 _)
  (Functor.rightUnitor _).symm, TwoSquare.guitartExact_iff_isConnected_downwards]
state_before: C₁ : Type u_1
C₂ : Type u_2
inst✝⁶ : Category.{u_3, u_1} C₁
inst✝⁵ : Category.{u_4, u_2} C₂
W₁ : MorphismProperty C₁
W₂ : MorphismProperty C₂
Φ : LocalizerMorphism W₁ W₂
inst✝⁴ : Φ.IsLocalizedEquivalence
inst✝³ : W₁.IsMultiplicative
inst✝² : ∀ (X₂ : C₂), IsConnected (Φ.RightResolution X₂)
inst✝¹ : Φ.arrow.HasRightResolutions
inst✝ : W₂.ContainsIdentities
⊢ Φ.IsRightDerivabilityStructure
state_after: C₁ : Type u_1
C₂ : Type u_2
inst✝⁶ : Category.{u_3, u_1} C₁
inst✝⁵ : Category.{u_4, u_2} C₂
W₁ : MorphismProperty C₁
W₂ : MorphismProperty C₂
Φ : LocalizerMorphism W₁ W₂
inst✝⁴ : Φ.IsLocalizedEquivalence
inst✝³ : W₁.IsMultiplicative
inst✝² : ∀ (X₂ : C₂), IsConnected (Φ.RightResolution X₂)
inst✝¹ : Φ.arrow.HasRightResolutions
inst✝ : W₂.ContainsIdentities
⊢ ∀ {X₂ : C₂} {X₃ : W₂.Localization} (g : W₂.Q.obj X₂ ⟶ (𝟭 W₂.Localization).obj X₃),
    IsConnected (TwoSquare.CostructuredArrowDownwards (Φ.functor ⋙ W₂.Q).rightUnitor.symm.hom g)

tactic: intro X₂ X₃ g
state_before: C₁ : Type u_1
C₂ : Type u_2
inst✝⁶ : Category.{u_3, u_1} C₁
inst✝⁵ : Category.{u_4, u_2} C₂
W₁ : MorphismProperty C₁
W₂ : MorphismProperty C₂
Φ : LocalizerMorphism W₁ W₂
inst✝⁴ : Φ.IsLocalizedEquivalence
inst✝³ : W₁.IsMultiplicative
inst✝² : ∀ (X₂ : C₂), IsConnected (Φ.RightResolution X₂)
inst✝¹ : Φ.arrow.HasRightResolutions
inst✝ : W₂.ContainsIdentities
⊢ ∀ {X₂ : C₂} {X₃ : W₂.Localization} (g : W₂.Q.obj X₂ ⟶ (𝟭 W₂.Localization).obj X₃),
    IsConnected (TwoSquare.CostructuredArrowDownwards (Φ.functor ⋙ W₂.Q).rightUnitor.symm.hom g)
state_after: C₁ : Type u_1
C₂ : Type u_2
inst✝⁶ : Category.{u_3, u_1} C₁
inst✝⁵ : Category.{u_4, u_2} C₂
W₁ : MorphismProperty C₁
W₂ : MorphismProperty C₂
Φ : LocalizerMorphism W₁ W₂
inst✝⁴ : Φ.IsLocalizedEquivalence
inst✝³ : W₁.IsMultiplicative
inst✝² : ∀ (X₂ : C₂), IsConnected (Φ.RightResolution X₂)
inst✝¹ : Φ.arrow.HasRightResolutions
inst✝ : W₂.ContainsIdentities
X₂ : C₂
X₃ : W₂.Localization
g : W₂.Q.obj X₂ ⟶ (𝟭 W₂.Localization).obj X₃
⊢ IsConnected (TwoSquare.CostructuredArrowDownwards (Φ.functor ⋙ W₂.Q).rightUnitor.symm.hom g)

tactic: apply Constructor.isConnected
state_before: C₁ : Type u_1
C₂ : Type u_2
inst✝⁶ : Category.{u_3, u_1} C₁
inst✝⁵ : Category.{u_4, u_2} C₂
W₁ : MorphismProperty C₁
W₂ : MorphismProperty C₂
Φ : LocalizerMorphism W₁ W₂
inst✝⁴ : Φ.IsLocalizedEquivalence
inst✝³ : W₁.IsMultiplicative
inst✝² : ∀ (X₂ : C₂), IsConnected (Φ.RightResolution X₂)
inst✝¹ : Φ.arrow.HasRightResolutions
inst✝ : W₂.ContainsIdentities
X₂ : C₂
X₃ : W₂.Localization
g : W₂.Q.obj X₂ ⟶ (𝟭 W₂.Localization).obj X₃
⊢ IsConnected (TwoSquare.CostructuredArrowDownwards (Φ.functor ⋙ W₂.Q).rightUnitor.symm.hom g)
state_after: no goals
Theorem: differentiableOn_sub_const_iff
File: Mathlib/Analysis/Calculus/FDeriv/Add.lean

tactic: simp only [sub_eq_add_neg, differentiableOn_add_const_iff]
state_before: 𝕜 : Type u_1
inst✝⁸ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace 𝕜 E
F : Type u_3
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace 𝕜 F
G : Type u_4
inst✝³ : NormedAddCommGroup G
inst✝² : NormedSpace 𝕜 G
G' : Type u_5
inst✝¹ : NormedAddCommGroup G'
inst✝ : NormedSpace 𝕜 G'
f f₀ f₁ g : E → F
f' f₀' f₁' g' e : E →L[𝕜] F
x : E
s t : Set E
L L₁ L₂ : Filter E
c : F
⊢ DifferentiableOn 𝕜 (fun y => f y - c) s ↔ DifferentiableOn 𝕜 f s
state_after: no goals
Theorem: LinearMap.map_mul_algebraMap
File: Mathlib/Algebra/Algebra/Basic.lean

tactic: rw [← Algebra.commutes, ← Algebra.commutes, map_algebraMap_mul]
state_before: R : Type u_1
A : Type u_2
B : Type u_3
inst✝⁴ : CommSemiring R
inst✝³ : Semiring A
inst✝² : Semiring B
inst✝¹ : Algebra R A
inst✝ : Algebra R B
f : A →ₗ[R] B
a : A
r : R
⊢ f (a * (algebraMap R A) r) = f a * (algebraMap R B) r
state_after: no goals