1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: Real.Angle.abs_toReal_neg_coe_eq_self_iff
File: Mathlib/Analysis/SpecialFunctions/Trigonometric/Angle.lean

tactic: refine ⟨fun h => h ▸ ⟨abs_nonneg _, abs_toReal_le_pi _⟩, fun h => ?_⟩
state_before: θ : ℝ
⊢ |(-↑θ).toReal| = θ ↔ 0 ≤ θ ∧ θ ≤ π
state_after: θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
⊢ |(-↑θ).toReal| = θ

tactic: by_cases hnegpi : θ = π
state_before: θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
⊢ |(-↑θ).toReal| = θ
state_after: case pos
θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
hnegpi : θ = π
⊢ |(-↑θ).toReal| = θ

case neg
θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
hnegpi : ¬θ = π
⊢ |(-↑θ).toReal| = θ

tactic: rw [← coe_neg,
  toReal_coe_eq_self_iff.2
    ⟨neg_lt_neg (lt_of_le_of_ne h.2 hnegpi), (neg_nonpos.2 h.1).trans Real.pi_pos.le⟩,
  abs_neg, abs_eq_self.2 h.1]
state_before: case neg
θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
hnegpi : ¬θ = π
⊢ |(-↑θ).toReal| = θ
state_after: no goals

tactic: simp [hnegpi, Real.pi_pos.le]
state_before: case pos
θ : ℝ
h : 0 ≤ θ ∧ θ ≤ π
hnegpi : θ = π
⊢ |(-↑θ).toReal| = θ
state_after: no goals
Theorem: CategoryTheory.Paths.lift_spec
File: Mathlib/CategoryTheory/PathCategory.lean

tactic: fapply Prefunctor.ext
state_before: V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
⊢ of ⋙q (lift φ).toPrefunctor = φ
state_after: case h_obj
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
⊢ ∀ (X : V), (of ⋙q (lift φ).toPrefunctor).obj X = φ.obj X

case h_map
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
⊢ ∀ (X Y : V) (f : X ⟶ Y), (of ⋙q (lift φ).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))

tactic: rintro X
state_before: case h_obj
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
⊢ ∀ (X : V), (of ⋙q (lift φ).toPrefunctor).obj X = φ.obj X
state_after: case h_obj
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
X : V
⊢ (of ⋙q (lift φ).toPrefunctor).obj X = φ.obj X

tactic: rfl
state_before: case h_obj
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
X : V
⊢ (of ⋙q (lift φ).toPrefunctor).obj X = φ.obj X
state_after: no goals

tactic: rintro X Y f
state_before: case h_map
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
⊢ ∀ (X Y : V) (f : X ⟶ Y), (of ⋙q (lift φ).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))
state_after: case h_map
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
X Y : V
f : X ⟶ Y
⊢ (of ⋙q (lift φ).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))

tactic: rcases φ with ⟨φo, φm⟩
state_before: case h_map
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
φ : V ⥤q C
X Y : V
f : X ⟶ Y
⊢ (of ⋙q (lift φ).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ (φ.map f))
state_after: case h_map.mk
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : V
f : X ⟶ Y
φo : V → C
φm : {X Y : V} → (X ⟶ Y) → (φo X ⟶ φo Y)
⊢ (of ⋙q (lift { obj := φo, map := φm }).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ ({ obj := φo, map := φm }.map f))

tactic: dsimp [lift, Quiver.Hom.toPath]
state_before: case h_map.mk
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : V
f : X ⟶ Y
φo : V → C
φm : {X Y : V} → (X ⟶ Y) → (φo X ⟶ φo Y)
⊢ (of ⋙q (lift { obj := φo, map := φm }).toPrefunctor).map f = Eq.recOn ⋯ (Eq.recOn ⋯ ({ obj := φo, map := φm }.map f))
state_after: case h_map.mk
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : V
f : X ⟶ Y
φo : V → C
φm : {X Y : V} → (X ⟶ Y) → (φo X ⟶ φo Y)
⊢ 𝟙 (φo X) ≫ φm f = φm f

tactic: simp only [Category.id_comp]
state_before: case h_map.mk
V : Type u₁
inst✝¹ : Quiver V
C : Type u_1
inst✝ : Category.{u_2, u_1} C
X Y : V
f : X ⟶ Y
φo : V → C
φm : {X Y : V} → (X ⟶ Y) → (φo X ⟶ φo Y)
⊢ 𝟙 (φo X) ≫ φm f = φm f
state_after: no goals
Theorem: Complex.abs_arg_le_pi_div_two_iff
File: Mathlib/Analysis/SpecialFunctions/Complex/Arg.lean

tactic: rw [abs_le, arg_le_pi_div_two_iff, neg_pi_div_two_le_arg_iff, ← or_and_left, ← not_le,
  and_not_self_iff, or_false_iff]
state_before: a x z✝ z : ℂ
⊢ |z.arg| ≤ π / 2 ↔ 0 ≤ z.re
state_after: no goals
Theorem: VectorFourier.norm_fourierIntegral_le_integral_norm
File: Mathlib/Analysis/Fourier/FourierTransform.lean

tactic: refine (norm_integral_le_integral_norm _).trans (le_of_eq ?_)
state_before: 𝕜 : Type u_1
inst✝¹¹ : CommRing 𝕜
V : Type u_2
inst✝¹⁰ : AddCommGroup V
inst✝⁹ : Module 𝕜 V
inst✝⁸ : MeasurableSpace V
W : Type u_3
inst✝⁷ : AddCommGroup W
inst✝⁶ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℂ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℂ F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℂ G
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
f : V → E
w : W
⊢ ‖fourierIntegral e μ L f w‖ ≤ ∫ (v : V), ‖f v‖ ∂μ
state_after: 𝕜 : Type u_1
inst✝¹¹ : CommRing 𝕜
V : Type u_2
inst✝¹⁰ : AddCommGroup V
inst✝⁹ : Module 𝕜 V
inst✝⁸ : MeasurableSpace V
W : Type u_3
inst✝⁷ : AddCommGroup W
inst✝⁶ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℂ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℂ F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℂ G
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
f : V → E
w : W
⊢ ∫ (a : V), ‖e (-(L a) w) • f a‖ ∂μ = ∫ (v : V), ‖f v‖ ∂μ

tactic: simp_rw [norm_circle_smul]
state_before: 𝕜 : Type u_1
inst✝¹¹ : CommRing 𝕜
V : Type u_2
inst✝¹⁰ : AddCommGroup V
inst✝⁹ : Module 𝕜 V
inst✝⁸ : MeasurableSpace V
W : Type u_3
inst✝⁷ : AddCommGroup W
inst✝⁶ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace ℂ E
inst✝³ : NormedAddCommGroup F
inst✝² : NormedSpace ℂ F
inst✝¹ : NormedAddCommGroup G
inst✝ : NormedSpace ℂ G
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
f : V → E
w : W
⊢ ∫ (a : V), ‖e (-(L a) w) • f a‖ ∂μ = ∫ (v : V), ‖f v‖ ∂μ
state_after: no goals
Theorem: Function.Surjective.iSup_congr
File: Mathlib/Order/CompleteLattice.lean

tactic: convert h1.iSup_comp g
state_before: α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f g✝ : ι → α
g : ι' → α
h : ι → ι'
h1 : Surjective h
h2 : ∀ (x : ι), g (h x) = f x
⊢ ⨆ x, f x = ⨆ y, g y
state_after: case h.e'_2.h.e'_4.h
α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f g✝ : ι → α
g : ι' → α
h : ι → ι'
h1 : Surjective h
h2 : ∀ (x : ι), g (h x) = f x
x✝ : ι
⊢ f x✝ = g (h x✝)

tactic: exact (h2 _).symm
state_before: case h.e'_2.h.e'_4.h
α : Type u_1
β : Type u_2
β₂ : Type u_3
γ : Type u_4
ι : Sort u_5
ι' : Sort u_6
κ : ι → Sort u_7
κ' : ι' → Sort u_8
inst✝ : SupSet α
f g✝ : ι → α
g : ι' → α
h : ι → ι'
h1 : Surjective h
h2 : ∀ (x : ι), g (h x) = f x
x✝ : ι
⊢ f x✝ = g (h x✝)
state_after: no goals
Theorem: WeierstrassCurve.Affine.C_addPolynomial
File: Mathlib/AlgebraicGeometry/EllipticCurve/Affine.lean

tactic: rw [addPolynomial, linePolynomial, polynomial, negPolynomial]
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ C (W.addPolynomial x y L) =
    (Y - C (linePolynomial x y L)) * (W.negPolynomial - C (linePolynomial x y L)) + W.polynomial
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ C
      (eval (C L * (X - C x) + C y)
        (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))) =
    (Y - C (C L * (X - C x) + C y)) * (-Y - C (C W.a₁ * X + C W.a₃) - C (C L * (X - C x) + C y)) +
      (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))

tactic: eval_simp
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ C
      (eval (C L * (X - C x) + C y)
        (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))) =
    (Y - C (C L * (X - C x) + C y)) * (-Y - C (C W.a₁ * X + C W.a₃) - C (C L * (X - C x) + C y)) +
      (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ C
      ((C L * (X - C x) + C y) ^ 2 + (C W.a₁ * X + C W.a₃) * (C L * (X - C x) + C y) -
        (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆)) =
    (Y - C (C L * (X - C x) + C y)) * (-Y - C (C W.a₁ * X + C W.a₃) - C (C L * (X - C x) + C y)) +
      (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))

tactic: C_simp
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ C
      ((C L * (X - C x) + C y) ^ 2 + (C W.a₁ * X + C W.a₃) * (C L * (X - C x) + C y) -
        (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆)) =
    (Y - C (C L * (X - C x) + C y)) * (-Y - C (C W.a₁ * X + C W.a₃) - C (C L * (X - C x) + C y)) +
      (Y ^ 2 + C (C W.a₁ * X + C W.a₃) * Y - C (X ^ 3 + C W.a₂ * X ^ 2 + C W.a₄ * X + C W.a₆))
state_after: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ (C (C L) * (C X - C (C x)) + C (C y)) ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * (C (C L) * (C X - C (C x)) + C (C y)) -
      (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)) =
    (Y - (C (C L) * (C X - C (C x)) + C (C y))) *
        (-Y - (C (C W.a₁) * C X + C (C W.a₃)) - (C (C L) * (C X - C (C x)) + C (C y))) +
      (Y ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * Y - (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)))

tactic: ring1
state_before: R : Type u
inst✝ : CommRing R
W : Affine R
x y L : R
⊢ (C (C L) * (C X - C (C x)) + C (C y)) ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * (C (C L) * (C X - C (C x)) + C (C y)) -
      (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)) =
    (Y - (C (C L) * (C X - C (C x)) + C (C y))) *
        (-Y - (C (C W.a₁) * C X + C (C W.a₃)) - (C (C L) * (C X - C (C x)) + C (C y))) +
      (Y ^ 2 + (C (C W.a₁) * C X + C (C W.a₃)) * Y - (C X ^ 3 + C (C W.a₂) * C X ^ 2 + C (C W.a₄) * C X + C (C W.a₆)))
state_after: no goals
Theorem: MeasurableSpace.cardinal_generateMeasurable_le
File: Mathlib/MeasureTheory/MeasurableSpace/Card.lean

tactic: rw [generateMeasurable_eq_rec]
state_before: α : Type u
s : Set (Set α)
⊢ #↑{t | GenerateMeasurable s t} ≤ max (#↑s) 2 ^ ℵ₀
state_after: α : Type u
s : Set (Set α)
⊢ #↑(⋃ i, generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀

tactic: apply (mk_iUnion_le _).trans
state_before: α : Type u
s : Set (Set α)
⊢ #↑(⋃ i, generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀
state_after: α : Type u
s : Set (Set α)
⊢ #(Quotient.out (aleph 1).ord).α * ⨆ i, #↑(generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀

tactic: rw [(aleph 1).mk_ord_out]
state_before: α : Type u
s : Set (Set α)
⊢ #(Quotient.out (aleph 1).ord).α * ⨆ i, #↑(generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀
state_after: α : Type u
s : Set (Set α)
⊢ aleph 1 * ⨆ i, #↑(generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀

tactic: refine le_trans (mul_le_mul' aleph_one_le_continuum
    (ciSup_le' fun i => cardinal_generateMeasurableRec_le s i)) ?_
state_before: α : Type u
s : Set (Set α)
⊢ aleph 1 * ⨆ i, #↑(generateMeasurableRec s i) ≤ max (#↑s) 2 ^ ℵ₀
state_after: α : Type u
s : Set (Set α)
⊢ 𝔠 * max (#↑s) 2 ^ ℵ₀ ≤ max (#↑s) 2 ^ ℵ₀

tactic: refine (mul_le_max_of_aleph0_le_left aleph0_le_continuum).trans (max_le ?_ le_rfl)
state_before: α : Type u
s : Set (Set α)
⊢ 𝔠 * max (#↑s) 2 ^ ℵ₀ ≤ max (#↑s) 2 ^ ℵ₀
state_after: α : Type u
s : Set (Set α)
⊢ 𝔠 ≤ max (#↑s) 2 ^ ℵ₀

tactic: exact power_le_power_right (le_max_right _ _)
state_before: α : Type u
s : Set (Set α)
⊢ 𝔠 ≤ max (#↑s) 2 ^ ℵ₀
state_after: no goals
Theorem: Specializes.pow
File: Mathlib/Topology/Algebra/Monoid.lean

tactic: simp only [pow_zero, specializes_rfl]
state_before: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace X
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : Mul M✝
inst✝³ : ContinuousMul M✝
M : Type u_6
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
a b : M
h : a ⤳ b
n : ℕ
⊢ (a ^ Nat.zero) ⤳ (b ^ Nat.zero)
state_after: no goals

tactic: simpa only [pow_succ] using ihn.mul h
state_before: ι : Type u_1
α : Type u_2
M✝ : Type u_3
N : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace X
inst✝⁵ : TopologicalSpace M✝
inst✝⁴ : Mul M✝
inst✝³ : ContinuousMul M✝
M : Type u_6
inst✝² : Monoid M
inst✝¹ : TopologicalSpace M
inst✝ : ContinuousMul M
a b : M
h : a ⤳ b
n x✝ : ℕ
ihn : (a ^ x✝) ⤳ (b ^ x✝)
⊢ (a ^ x✝.succ) ⤳ (b ^ x✝.succ)
state_after: no goals
Theorem: Ideal.KerLift.map_smul
File: Mathlib/RingTheory/Ideal/QuotientOperations.lean

tactic: obtain ⟨a, rfl⟩ := Quotient.mkₐ_surjective R₁ _ x
state_before: R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : Semiring S
R₁ : Type u_1
R₂ : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : Algebra R₁ A
inst✝² : Algebra R₂ A
inst✝¹ : Semiring B
inst✝ : Algebra R₁ B
f : A →ₐ[R₁] B
r : R₁
x : A ⧸ ker f
⊢ f.kerLift (r • x) = r • f.kerLift x
state_after: case intro
R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : Semiring S
R₁ : Type u_1
R₂ : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : Algebra R₁ A
inst✝² : Algebra R₂ A
inst✝¹ : Semiring B
inst✝ : Algebra R₁ B
f : A →ₐ[R₁] B
r : R₁
a : A
⊢ f.kerLift (r • (Quotient.mkₐ R₁ (ker f)) a) = r • f.kerLift ((Quotient.mkₐ R₁ (ker f)) a)

tactic: exact f.map_smul _ _
state_before: case intro
R : Type u
S : Type v
F : Type w
inst✝⁸ : CommRing R
inst✝⁷ : Semiring S
R₁ : Type u_1
R₂ : Type u_2
A : Type u_3
B : Type u_4
inst✝⁶ : CommSemiring R₁
inst✝⁵ : CommSemiring R₂
inst✝⁴ : CommRing A
inst✝³ : Algebra R₁ A
inst✝² : Algebra R₂ A
inst✝¹ : Semiring B
inst✝ : Algebra R₁ B
f : A →ₐ[R₁] B
r : R₁
a : A
⊢ f.kerLift (r • (Quotient.mkₐ R₁ (ker f)) a) = r • f.kerLift ((Quotient.mkₐ R₁ (ker f)) a)
state_after: no goals
Theorem: MeasureTheory.DominatedFinMeasAdditive.add
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: refine ⟨hT.1.add hT'.1, fun s hs hμs => ?_⟩
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T T' : Set α → β
C C' : ℝ
hT : DominatedFinMeasAdditive μ T C
hT' : DominatedFinMeasAdditive μ T' C'
⊢ DominatedFinMeasAdditive μ (T + T') (C + C')
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T T' : Set α → β
C C' : ℝ
hT : DominatedFinMeasAdditive μ T C
hT' : DominatedFinMeasAdditive μ T' C'
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖(T + T') s‖ ≤ (C + C') * (μ s).toReal

tactic: rw [Pi.add_apply, add_mul]
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T T' : Set α → β
C C' : ℝ
hT : DominatedFinMeasAdditive μ T C
hT' : DominatedFinMeasAdditive μ T' C'
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖(T + T') s‖ ≤ (C + C') * (μ s).toReal
state_after: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T T' : Set α → β
C C' : ℝ
hT : DominatedFinMeasAdditive μ T C
hT' : DominatedFinMeasAdditive μ T' C'
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖T s + T' s‖ ≤ C * (μ s).toReal + C' * (μ s).toReal

tactic: exact (norm_add_le _ _).trans (add_le_add (hT.2 s hs hμs) (hT'.2 s hs hμs))
state_before: α : Type u_1
E : Type u_2
F : Type u_3
F' : Type u_4
G : Type u_5
𝕜 : Type u_6
p : ℝ≥0∞
inst✝⁷ : NormedAddCommGroup E
inst✝⁶ : NormedSpace ℝ E
inst✝⁵ : NormedAddCommGroup F
inst✝⁴ : NormedSpace ℝ F
inst✝³ : NormedAddCommGroup F'
inst✝² : NormedSpace ℝ F'
inst✝¹ : NormedAddCommGroup G
m : MeasurableSpace α
μ : Measure α
β : Type u_7
inst✝ : SeminormedAddCommGroup β
T T' : Set α → β
C C' : ℝ
hT : DominatedFinMeasAdditive μ T C
hT' : DominatedFinMeasAdditive μ T' C'
s : Set α
hs : MeasurableSet s
hμs : μ s < ⊤
⊢ ‖T s + T' s‖ ≤ C * (μ s).toReal + C' * (μ s).toReal
state_after: no goals
Theorem: Real.strictAntiOn_log
File: Mathlib/Analysis/SpecialFunctions/Log/Basic.lean

tactic: rintro x (hx : x < 0) y (hy : y < 0) hxy
state_before: x y : ℝ
⊢ StrictAntiOn log (Iio 0)
state_after: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ log y < log x

tactic: rw [← log_abs y, ← log_abs x]
state_before: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ log y < log x
state_after: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ log |y| < log |x|

tactic: refine log_lt_log (abs_pos.2 hy.ne) ?_
state_before: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ log |y| < log |x|
state_after: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ |y| < |x|

tactic: rwa [abs_of_neg hy, abs_of_neg hx, neg_lt_neg_iff]
state_before: x✝ y✝ x : ℝ
hx : x < 0
y : ℝ
hy : y < 0
hxy : x < y
⊢ |y| < |x|
state_after: no goals
Theorem: IsClosed.inter
File: Mathlib/Topology/Basic.lean

tactic: rw [← isOpen_compl_iff] at *
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
h₁ : IsClosed s₁
h₂ : IsClosed s₂
⊢ IsClosed (s₁ ∩ s₂)
state_after: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
h₁ : IsOpen s₁ᶜ
h₂ : IsOpen s₂ᶜ
⊢ IsOpen (s₁ ∩ s₂)ᶜ

tactic: rw [compl_inter]
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
h₁ : IsOpen s₁ᶜ
h₂ : IsOpen s₂ᶜ
⊢ IsOpen (s₁ ∩ s₂)ᶜ
state_after: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
h₁ : IsOpen s₁ᶜ
h₂ : IsOpen s₂ᶜ
⊢ IsOpen (s₁ᶜ ∪ s₂ᶜ)

tactic: exact IsOpen.union h₁ h₂
state_before: X : Type u
Y : Type v
ι : Sort w
α : Type u_1
β : Type u_2
x : X
s s₁ s₂ t : Set X
p p₁ p₂ : X → Prop
inst✝ : TopologicalSpace X
h₁ : IsOpen s₁ᶜ
h₂ : IsOpen s₂ᶜ
⊢ IsOpen (s₁ᶜ ∪ s₂ᶜ)
state_after: no goals
Theorem: natDegree_minpolyDiv_succ
File: Mathlib/FieldTheory/Minpoly/MinpolyDiv.lean

tactic: rw [← (minpoly.monic hx).natDegree_map (algebraMap R S), ← minpolyDiv_spec, natDegree_mul']
state_before: R : Type u_2
K : Type ?u.58766
L : Type ?u.58769
S : Type u_1
inst✝⁶ : CommRing R
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : CommRing S
inst✝² : Algebra R S
inst✝¹ : Algebra K L
x : S
hx : IsIntegral R x
inst✝ : Nontrivial S
⊢ (minpolyDiv R x).natDegree + 1 = (minpoly R x).natDegree
state_after: R : Type u_2
K : Type ?u.58766
L : Type ?u.58769
S : Type u_1
inst✝⁶ : CommRing R
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : CommRing S
inst✝² : Algebra R S
inst✝¹ : Algebra K L
x : S
hx : IsIntegral R x
inst✝ : Nontrivial S
⊢ (minpolyDiv R x).natDegree + 1 = (minpolyDiv R x).natDegree + (X - C x).natDegree

R : Type u_2
K : Type ?u.58766
L : Type ?u.58769
S : Type u_1
inst✝⁶ : CommRing R
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : CommRing S
inst✝² : Algebra R S
inst✝¹ : Algebra K L
x : S
hx : IsIntegral R x
inst✝ : Nontrivial S
⊢ (minpolyDiv R x).leadingCoeff * (X - C x).leadingCoeff ≠ 0

tactic: simp
state_before: R : Type u_2
K : Type ?u.58766
L : Type ?u.58769
S : Type u_1
inst✝⁶ : CommRing R
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : CommRing S
inst✝² : Algebra R S
inst✝¹ : Algebra K L
x : S
hx : IsIntegral R x
inst✝ : Nontrivial S
⊢ (minpolyDiv R x).natDegree + 1 = (minpolyDiv R x).natDegree + (X - C x).natDegree
state_after: no goals

tactic: simpa using minpolyDiv_ne_zero hx
state_before: R : Type u_2
K : Type ?u.58766
L : Type ?u.58769
S : Type u_1
inst✝⁶ : CommRing R
inst✝⁵ : Field K
inst✝⁴ : Field L
inst✝³ : CommRing S
inst✝² : Algebra R S
inst✝¹ : Algebra K L
x : S
hx : IsIntegral R x
inst✝ : Nontrivial S
⊢ (minpolyDiv R x).leadingCoeff * (X - C x).leadingCoeff ≠ 0
state_after: no goals
Theorem: SimpleGraph.Path.loop_eq
File: Mathlib/Combinatorics/SimpleGraph/Connectivity.lean

tactic: obtain ⟨_ | _, h⟩ := p
state_before: V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
v : V
p : G.Path v v
⊢ p = Path.nil
state_after: case mk.nil
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
v : V
h : Walk.nil.IsPath
⊢ ⟨Walk.nil, h⟩ = Path.nil

case mk.cons
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
v v✝ : V
h✝ : G.Adj v v✝
p✝ : G.Walk v✝ v
h : (Walk.cons h✝ p✝).IsPath
⊢ ⟨Walk.cons h✝ p✝, h⟩ = Path.nil

tactic: rfl
state_before: case mk.nil
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
v : V
h : Walk.nil.IsPath
⊢ ⟨Walk.nil, h⟩ = Path.nil
state_after: no goals

tactic: simp at h
state_before: case mk.cons
V : Type u
V' : Type v
V'' : Type w
G : SimpleGraph V
G' : SimpleGraph V'
G'' : SimpleGraph V''
v v✝ : V
h✝ : G.Adj v v✝
p✝ : G.Walk v✝ v
h : (Walk.cons h✝ p✝).IsPath
⊢ ⟨Walk.cons h✝ p✝, h⟩ = Path.nil
state_after: no goals
Theorem: OmegaCompletePartialOrder.Chain.map_le_map
File: Mathlib/Order/OmegaCompletePartialOrder.lean

tactic: simp [mem_map_iff]
state_before: α : Type u
β : Type v
γ : Type u_1
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
c c' : Chain α
f : α →o β
g✝ : β →o γ
g : α →o β
h : f ≤ g
i : ℕ
⊢ ∃ j, (c.map f) i ≤ (c.map g) j
state_after: α : Type u
β : Type v
γ : Type u_1
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
c c' : Chain α
f : α →o β
g✝ : β →o γ
g : α →o β
h : f ≤ g
i : ℕ
⊢ ∃ j, f (c i) ≤ g (c j)

tactic: exists i
state_before: α : Type u
β : Type v
γ : Type u_1
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
c c' : Chain α
f : α →o β
g✝ : β →o γ
g : α →o β
h : f ≤ g
i : ℕ
⊢ ∃ j, f (c i) ≤ g (c j)
state_after: α : Type u
β : Type v
γ : Type u_1
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
c c' : Chain α
f : α →o β
g✝ : β →o γ
g : α →o β
h : f ≤ g
i : ℕ
⊢ f (c i) ≤ g (c i)

tactic: apply h
state_before: α : Type u
β : Type v
γ : Type u_1
inst✝² : Preorder α
inst✝¹ : Preorder β
inst✝ : Preorder γ
c c' : Chain α
f : α →o β
g✝ : β →o γ
g : α →o β
h : f ≤ g
i : ℕ
⊢ f (c i) ≤ g (c i)
state_after: no goals
Theorem: Filter.principal_eq_map_coe_top
File: Mathlib/Order/Filter/Basic.lean

tactic: simp
state_before: α : Type u
β : Type v
γ : Type w
δ : Type u_1
ι : Sort x
l : Filter α
s : Set α
⊢ 𝓟 s = map Subtype.val ⊤
state_after: no goals