1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: MeasureTheory.DominatedFinMeasAdditive.zero
File: Mathlib/MeasureTheory/Integral/SetToL1.lean

tactic: refine ⟨FinMeasAdditive.zero, fun 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' : ℝ
m : MeasurableSpace α
μ : Measure α
hC : 0 ≤ C
⊢ DominatedFinMeasAdditive μ 0 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' : ℝ
m : MeasurableSpace α
μ : Measure α
hC : 0 ≤ C
s : Set α
x✝¹ : MeasurableSet s
x✝ : μ s < ⊤
⊢ ‖0 s‖ ≤ C * (μ s).toReal

tactic: rw [Pi.zero_apply, norm_zero]
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' : ℝ
m : MeasurableSpace α
μ : Measure α
hC : 0 ≤ C
s : Set α
x✝¹ : MeasurableSet s
x✝ : μ s < ⊤
⊢ ‖0 s‖ ≤ 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' : ℝ
m : MeasurableSpace α
μ : Measure α
hC : 0 ≤ C
s : Set α
x✝¹ : MeasurableSet s
x✝ : μ s < ⊤
⊢ 0 ≤ C * (μ s).toReal

tactic: exact mul_nonneg hC toReal_nonneg
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' : ℝ
m : MeasurableSpace α
μ : Measure α
hC : 0 ≤ C
s : Set α
x✝¹ : MeasurableSet s
x✝ : μ s < ⊤
⊢ 0 ≤ C * (μ s).toReal
state_after: no goals
Theorem: List.nthLe_cons_aux
File: Mathlib/Data/List/Basic.lean

tactic: contrapose! h
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ l : List α
a : α
n : ℕ
hn : n ≠ 0
h : n < (a :: l).length
⊢ n - 1 < l.length
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ l : List α
a : α
n : ℕ
hn : n ≠ 0
h : l.length ≤ n - 1
⊢ (a :: l).length ≤ n

tactic: rw [length_cons]
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ l : List α
a : α
n : ℕ
hn : n ≠ 0
h : l.length ≤ n - 1
⊢ (a :: l).length ≤ n
state_after: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ l : List α
a : α
n : ℕ
hn : n ≠ 0
h : l.length ≤ n - 1
⊢ l.length + 1 ≤ n

tactic: omega
state_before: ι : Type u_1
α : Type u
β : Type v
γ : Type w
l₁ l₂ l : List α
a : α
n : ℕ
hn : n ≠ 0
h : l.length ≤ n - 1
⊢ l.length + 1 ≤ n
state_after: no goals
Theorem: Polynomial.natDegree_primPart
File: Mathlib/RingTheory/Polynomial/Content.lean

tactic: by_cases h : C p.content = 0
state_before: R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
⊢ p.primPart.natDegree = p.natDegree
state_after: case pos
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : C p.content = 0
⊢ p.primPart.natDegree = p.natDegree

case neg
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : ¬C p.content = 0
⊢ p.primPart.natDegree = p.natDegree

tactic: conv_rhs =>
  rw [p.eq_C_content_mul_primPart, natDegree_mul h p.primPart_ne_zero, natDegree_C, zero_add]
state_before: case neg
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : ¬C p.content = 0
⊢ p.primPart.natDegree = p.natDegree
state_after: no goals

tactic: rw [C_eq_zero, content_eq_zero_iff] at h
state_before: case pos
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : C p.content = 0
⊢ p.primPart.natDegree = p.natDegree
state_after: case pos
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : p = 0
⊢ p.primPart.natDegree = p.natDegree

tactic: simp [h]
state_before: case pos
R : Type u_1
inst✝² : CommRing R
inst✝¹ : IsDomain R
inst✝ : NormalizedGCDMonoid R
p : R[X]
h : p = 0
⊢ p.primPart.natDegree = p.natDegree
state_after: no goals
Theorem: Subfield.zpow_mem
File: Mathlib/Algebra/Field/Subfield.lean

tactic: cases n
state_before: K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s t : Subfield K
x : K
hx : x ∈ s
n : ℤ
⊢ x ^ n ∈ s
state_after: case ofNat
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s t : Subfield K
x : K
hx : x ∈ s
a✝ : ℕ
⊢ x ^ Int.ofNat a✝ ∈ s

case negSucc
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s t : Subfield K
x : K
hx : x ∈ s
a✝ : ℕ
⊢ x ^ Int.negSucc a✝ ∈ s

tactic: simpa using s.pow_mem hx _
state_before: case ofNat
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s t : Subfield K
x : K
hx : x ∈ s
a✝ : ℕ
⊢ x ^ Int.ofNat a✝ ∈ s
state_after: no goals

tactic: simpa [pow_succ'] using s.inv_mem (s.mul_mem hx (s.pow_mem hx _))
state_before: case negSucc
K : Type u
L : Type v
M : Type w
inst✝² : DivisionRing K
inst✝¹ : DivisionRing L
inst✝ : DivisionRing M
s t : Subfield K
x : K
hx : x ∈ s
a✝ : ℕ
⊢ x ^ Int.negSucc a✝ ∈ s
state_after: no goals
Theorem: Nat.eq_factorization_iff
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: rw [h, factorization_prod_pow_eq_self hn]
state_before: a b m n✝ p n : ℕ
f : ℕ →₀ ℕ
hn : n ≠ 0
hf : ∀ p ∈ f.support, Prime p
h : f = n.factorization
⊢ (f.prod fun x x_1 => x ^ x_1) = n
state_after: no goals

tactic: rw [← h, prod_pow_factorization_eq_self hf]
state_before: a b m n✝ p n : ℕ
f : ℕ →₀ ℕ
hn : n ≠ 0
hf : ∀ p ∈ f.support, Prime p
h : (f.prod fun x x_1 => x ^ x_1) = n
⊢ f = n.factorization
state_after: no goals
Theorem: Nat.factorization_inj
File: Mathlib/Data/Nat/Factorization/Basic.lean

tactic: simp [h]
state_before: a✝ b✝ m n p✝ a : ℕ
ha : a ∈ {x | x ≠ 0}
b : ℕ
hb : b ∈ {x | x ≠ 0}
h : a.factorization = b.factorization
p : ℕ
⊢ a.factorization p = b.factorization p
state_after: no goals
Theorem: Module.End.eigenspace_zero
File: Mathlib/LinearAlgebra/Eigenspace/Basic.lean

tactic: simp [eigenspace]
state_before: K R : Type v
V M : Type w
inst✝⁵ : CommRing R
inst✝⁴ : AddCommGroup M
inst✝³ : Module R M
inst✝² : Field K
inst✝¹ : AddCommGroup V
inst✝ : Module K V
f : End R M
⊢ f.eigenspace 0 = LinearMap.ker f
state_after: no goals
Theorem: NonUnitalStarSubalgebra.iSupLift_comp_inclusion
File: Mathlib/Algebra/Star/NonUnitalSubalgebra.lean

tactic: ext
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
ι : Type u_1
inst✝ : Nonempty ι
K : ι → NonUnitalStarSubalgebra R A
dir : Directed (fun x x_1 => x ≤ x_1) K
f : (i : ι) → ↥(K i) →⋆ₙₐ[R] B
hf : ∀ (i j : ι) (h : K i ≤ K j), f i = (f j).comp (inclusion h)
T : NonUnitalStarSubalgebra R A
hT : T = iSup K
i : ι
h : K i ≤ T
⊢ (iSupLift K dir f hf T hT).comp (inclusion h) = f i
state_after: case h
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
ι : Type u_1
inst✝ : Nonempty ι
K : ι → NonUnitalStarSubalgebra R A
dir : Directed (fun x x_1 => x ≤ x_1) K
f : (i : ι) → ↥(K i) →⋆ₙₐ[R] B
hf : ∀ (i j : ι) (h : K i ≤ K j), f i = (f j).comp (inclusion h)
T : NonUnitalStarSubalgebra R A
hT : T = iSup K
i : ι
h : K i ≤ T
x✝ : ↥(K i)
⊢ ((iSupLift K dir f hf T hT).comp (inclusion h)) x✝ = (f i) x✝

tactic: simp
state_before: case h
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
ι : Type u_1
inst✝ : Nonempty ι
K : ι → NonUnitalStarSubalgebra R A
dir : Directed (fun x x_1 => x ≤ x_1) K
f : (i : ι) → ↥(K i) →⋆ₙₐ[R] B
hf : ∀ (i j : ι) (h : K i ≤ K j), f i = (f j).comp (inclusion h)
T : NonUnitalStarSubalgebra R A
hT : T = iSup K
i : ι
h : K i ≤ T
x✝ : ↥(K i)
⊢ ((iSupLift K dir f hf T hT).comp (inclusion h)) x✝ = (f i) x✝
state_after: no goals
Theorem: DFinsupp.comp_liftAddHom
File: Mathlib/Data/DFinsupp/Basic.lean

tactic: rw [liftAddHom_symm_apply, AddMonoidHom.comp_assoc, liftAddHom_comp_single]
state_before: ι : Type u
γ : Type w
β : ι → Type v
β₁ : ι → Type v₁
β₂ : ι → Type v₂
inst✝³ : DecidableEq ι
δ : Type u_1
inst✝² : (i : ι) → AddZeroClass (β i)
inst✝¹ : AddCommMonoid γ
inst✝ : AddCommMonoid δ
g : γ →+ δ
f : (i : ι) → β i →+ γ
a : ι
⊢ liftAddHom.symm (g.comp (liftAddHom f)) a = g.comp (f a)
state_after: no goals
Theorem: Filter.frequently_cofinite_iff_infinite
File: Mathlib/Order/Filter/Cofinite.lean

tactic: simp only [Filter.Frequently, eventually_cofinite, not_not, Set.Infinite]
state_before: ι : Type u_1
α : Type u_2
β : Type u_3
l : Filter α
p : α → Prop
⊢ (∃ᶠ (x : α) in cofinite, p x) ↔ {x | p x}.Infinite
state_after: no goals
Theorem: WeierstrassCurve.Projective.polynomialZ_eq
File: Mathlib/AlgebraicGeometry/EllipticCurve/Projective.lean

tactic: rw [polynomialZ, polynomial]
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ W.polynomialZ =
    X 1 ^ 2 + C W.a₁ * X 0 * X 1 + C (2 * W.a₃) * X 1 * X 2 -
      (C W.a₂ * X 0 ^ 2 + C (2 * W.a₄) * X 0 * X 2 + C (3 * W.a₆) * X 2 ^ 2)
state_after: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ (pderiv 2)
      (X 1 ^ 2 * X 2 + C W.a₁ * X 0 * X 1 * X 2 + C W.a₃ * X 1 * X 2 ^ 2 -
        (X 0 ^ 3 + C W.a₂ * X 0 ^ 2 * X 2 + C W.a₄ * X 0 * X 2 ^ 2 + C W.a₆ * X 2 ^ 3)) =
    X 1 ^ 2 + C W.a₁ * X 0 * X 1 + C (2 * W.a₃) * X 1 * X 2 -
      (C W.a₂ * X 0 ^ 2 + C (2 * W.a₄) * X 0 * X 2 + C (3 * W.a₆) * X 2 ^ 2)

tactic: pderiv_simp
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ (pderiv 2)
      (X 1 ^ 2 * X 2 + C W.a₁ * X 0 * X 1 * X 2 + C W.a₃ * X 1 * X 2 ^ 2 -
        (X 0 ^ 3 + C W.a₂ * X 0 ^ 2 * X 2 + C W.a₄ * X 0 * X 2 ^ 2 + C W.a₆ * X 2 ^ 3)) =
    X 1 ^ 2 + C W.a₁ * X 0 * X 1 + C (2 * W.a₃) * X 1 * X 2 -
      (C W.a₂ * X 0 ^ 2 + C (2 * W.a₄) * X 0 * X 2 + C (3 * W.a₆) * X 2 ^ 2)
state_after: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ ↑2 * X 1 ^ (2 - 1) * 0 * X 2 + X 1 ^ 2 * 1 +
          (((0 * X 0 + C W.a₁ * 0) * X 1 + C W.a₁ * X 0 * 0) * X 2 + C W.a₁ * X 0 * X 1 * 1) +
        ((0 * X 1 + C W.a₃ * 0) * X 2 ^ 2 + C W.a₃ * X 1 * (↑2 * X 2 ^ (2 - 1) * 1)) -
      (↑3 * X 0 ^ (3 - 1) * 0 + ((0 * X 0 ^ 2 + C W.a₂ * (↑2 * X 0 ^ (2 - 1) * 0)) * X 2 + C W.a₂ * X 0 ^ 2 * 1) +
          ((0 * X 0 + C W.a₄ * 0) * X 2 ^ 2 + C W.a₄ * X 0 * (↑2 * X 2 ^ (2 - 1) * 1)) +
        (0 * X 2 ^ 3 + C W.a₆ * (↑3 * X 2 ^ (3 - 1) * 1))) =
    X 1 ^ 2 + C W.a₁ * X 0 * X 1 + 2 * C W.a₃ * X 1 * X 2 -
      (C W.a₂ * X 0 ^ 2 + 2 * C W.a₄ * X 0 * X 2 + 3 * C W.a₆ * X 2 ^ 2)

tactic: ring1
state_before: R : Type u
inst✝ : CommRing R
W : Projective R
⊢ ↑2 * X 1 ^ (2 - 1) * 0 * X 2 + X 1 ^ 2 * 1 +
          (((0 * X 0 + C W.a₁ * 0) * X 1 + C W.a₁ * X 0 * 0) * X 2 + C W.a₁ * X 0 * X 1 * 1) +
        ((0 * X 1 + C W.a₃ * 0) * X 2 ^ 2 + C W.a₃ * X 1 * (↑2 * X 2 ^ (2 - 1) * 1)) -
      (↑3 * X 0 ^ (3 - 1) * 0 + ((0 * X 0 ^ 2 + C W.a₂ * (↑2 * X 0 ^ (2 - 1) * 0)) * X 2 + C W.a₂ * X 0 ^ 2 * 1) +
          ((0 * X 0 + C W.a₄ * 0) * X 2 ^ 2 + C W.a₄ * X 0 * (↑2 * X 2 ^ (2 - 1) * 1)) +
        (0 * X 2 ^ 3 + C W.a₆ * (↑3 * X 2 ^ (3 - 1) * 1))) =
    X 1 ^ 2 + C W.a₁ * X 0 * X 1 + 2 * C W.a₃ * X 1 * X 2 -
      (C W.a₂ * X 0 ^ 2 + 2 * C W.a₄ * X 0 * X 2 + 3 * C W.a₆ * X 2 ^ 2)
state_after: no goals
Theorem: MeasureTheory.IsSetSemiring.sUnion_diffFinset₀_subset
File: Mathlib/MeasureTheory/SetSemiring.lean

tactic: rw [← hC.diff_sUnion_eq_sUnion_diffFinset₀]
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
I : Finset (Set α)
hC : IsSetSemiring C
hs : s ∈ C
hI : ↑I ⊆ C
⊢ ⋃₀ ↑(hC.diffFinset₀ hs hI) ⊆ s
state_after: α : Type u_1
C : Set (Set α)
s t : Set α
I : Finset (Set α)
hC : IsSetSemiring C
hs : s ∈ C
hI : ↑I ⊆ C
⊢ s \ ⋃₀ ↑I ⊆ s

tactic: exact diff_subset
state_before: α : Type u_1
C : Set (Set α)
s t : Set α
I : Finset (Set α)
hC : IsSetSemiring C
hs : s ∈ C
hI : ↑I ⊆ C
⊢ s \ ⋃₀ ↑I ⊆ s
state_after: no goals
Theorem: segment_subset_closure_openSegment
File: Mathlib/Analysis/Convex/Topology.lean

tactic: rw [segment_eq_image, openSegment_eq_image, ← closure_Ioo (zero_ne_one' 𝕜)]
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁸ : LinearOrderedRing 𝕜
inst✝⁷ : DenselyOrdered 𝕜
inst✝⁶ : TopologicalSpace 𝕜
inst✝⁵ : OrderTopology 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousAdd E
inst✝¹ : Module 𝕜 E
inst✝ : ContinuousSMul 𝕜 E
x y : E
⊢ [x-[𝕜]y] ⊆ closure (openSegment 𝕜 x y)
state_after: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁸ : LinearOrderedRing 𝕜
inst✝⁷ : DenselyOrdered 𝕜
inst✝⁶ : TopologicalSpace 𝕜
inst✝⁵ : OrderTopology 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousAdd E
inst✝¹ : Module 𝕜 E
inst✝ : ContinuousSMul 𝕜 E
x y : E
⊢ (fun θ => (1 - θ) • x + θ • y) '' closure (Ioo 0 1) ⊆ closure ((fun θ => (1 - θ) • x + θ • y) '' Ioo 0 1)

tactic: exact image_closure_subset_closure_image (by fun_prop)
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁸ : LinearOrderedRing 𝕜
inst✝⁷ : DenselyOrdered 𝕜
inst✝⁶ : TopologicalSpace 𝕜
inst✝⁵ : OrderTopology 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousAdd E
inst✝¹ : Module 𝕜 E
inst✝ : ContinuousSMul 𝕜 E
x y : E
⊢ (fun θ => (1 - θ) • x + θ • y) '' closure (Ioo 0 1) ⊆ closure ((fun θ => (1 - θ) • x + θ • y) '' Ioo 0 1)
state_after: no goals

tactic: fun_prop
state_before: ι : Type u_1
𝕜 : Type u_2
E : Type u_3
inst✝⁸ : LinearOrderedRing 𝕜
inst✝⁷ : DenselyOrdered 𝕜
inst✝⁶ : TopologicalSpace 𝕜
inst✝⁵ : OrderTopology 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : TopologicalSpace E
inst✝² : ContinuousAdd E
inst✝¹ : Module 𝕜 E
inst✝ : ContinuousSMul 𝕜 E
x y : E
⊢ Continuous fun θ => (1 - θ) • x + θ • y
state_after: no goals
Theorem: StructureGroupoid.LocalInvariantProp.liftPropWithinAt_indep_chart_aux
File: Mathlib/Geometry/Manifold/LocalInvariantProperties.lean

tactic: rw [← Function.comp.assoc, hG.liftPropWithinAt_indep_chart_source_aux (f ∘ g) he xe he' xe',
  Function.comp.assoc, hG.liftPropWithinAt_indep_chart_target_aux xe' hf xf hf' xf' hgs]
state_before: H : Type u_1
M : Type u_2
H' : Type u_3
M' : Type u_4
X : Type u_5
inst✝⁶ : TopologicalSpace H
inst✝⁵ : TopologicalSpace M
inst✝⁴ : ChartedSpace H M
inst✝³ : TopologicalSpace H'
inst✝² : TopologicalSpace M'
inst✝¹ : ChartedSpace H' M'
inst✝ : TopologicalSpace X
G : StructureGroupoid H
G' : StructureGroupoid H'
e e' : PartialHomeomorph M H
f f' : PartialHomeomorph M' H'
P : (H → H') → Set H → H → Prop
g g' : M → M'
s t : Set M
x : M
Q : (H → H) → Set H → H → Prop
hG : G.LocalInvariantProp G' P
he : e ∈ maximalAtlas M G
xe : x ∈ e.source
he' : e' ∈ maximalAtlas M G
xe' : x ∈ e'.source
hf : f ∈ maximalAtlas M' G'
xf : g x ∈ f.source
hf' : f' ∈ maximalAtlas M' G'
xf' : g x ∈ f'.source
hgs : ContinuousWithinAt g s x
⊢ P (↑f ∘ g ∘ ↑e.symm) (↑e.symm ⁻¹' s) (↑e x) ↔ P (↑f' ∘ g ∘ ↑e'.symm) (↑e'.symm ⁻¹' s) (↑e' x)
state_after: no goals
Theorem: SimpleGraph.chromaticNumber_bot
File: Mathlib/Combinatorics/SimpleGraph/Coloring.lean

tactic: have : (⊥ : SimpleGraph V).Colorable 1 := ⟨.mk 0 $ by simp⟩
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Nonempty V
⊢ ⊥.chromaticNumber = 1
state_after: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Nonempty V
this : ⊥.Colorable 1
⊢ ⊥.chromaticNumber = 1

tactic: exact this.chromaticNumber_le.antisymm $ ENat.one_le_iff_pos.2 $ chromaticNumber_pos this
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Nonempty V
this : ⊥.Colorable 1
⊢ ⊥.chromaticNumber = 1
state_after: no goals

tactic: simp
state_before: V : Type u
G : SimpleGraph V
n : ℕ
α : Type u_1
β : Type u_2
C : G.Coloring α
inst✝ : Nonempty V
⊢ ∀ {v w : V}, ⊥.Adj v w → 0 v ≠ 0 w
state_after: no goals
Theorem: Ordinal.cof_sup_le
File: Mathlib/SetTheory/Cardinal/Cofinality.lean

tactic: rw [← (#ι).lift_id]
state_before: α : Type u_1
r : α → α → Prop
ι : Type u
f : ι → Ordinal.{u}
H : ∀ (i : ι), f i < sup f
⊢ (sup f).cof ≤ #ι
state_after: α : Type u_1
r : α → α → Prop
ι : Type u
f : ι → Ordinal.{u}
H : ∀ (i : ι), f i < sup f
⊢ (sup f).cof ≤ Cardinal.lift.{u, u} #ι

tactic: exact cof_sup_le_lift H
state_before: α : Type u_1
r : α → α → Prop
ι : Type u
f : ι → Ordinal.{u}
H : ∀ (i : ι), f i < sup f
⊢ (sup f).cof ≤ Cardinal.lift.{u, u} #ι
state_after: no goals
Theorem: Ordinal.apply_lt_nfpBFamily
File: Mathlib/SetTheory/Ordinal/FixedPoint.lean

tactic: rw [← familyOfBFamily_enum o f]
state_before: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a b : Ordinal.{max v u}
hb : b < o.nfpBFamily f a
i : Ordinal.{u}
hi : i < o
⊢ f i hi b < o.nfpBFamily f a
state_after: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a b : Ordinal.{max v u}
hb : b < o.nfpBFamily f a
i : Ordinal.{u}
hi : i < o
⊢ o.familyOfBFamily f (enum (fun x x_1 => x < x_1) i ⋯) b < o.nfpBFamily f a

tactic: apply apply_lt_nfpFamily (fun _ => H _ _) hb
state_before: o : Ordinal.{u}
f : (b : Ordinal.{u}) → b < o → Ordinal.{max u v} → Ordinal.{max u v}
H : ∀ (i : Ordinal.{u}) (hi : i < o), IsNormal (f i hi)
a b : Ordinal.{max v u}
hb : b < o.nfpBFamily f a
i : Ordinal.{u}
hi : i < o
⊢ o.familyOfBFamily f (enum (fun x x_1 => x < x_1) i ⋯) b < o.nfpBFamily f a
state_after: no goals
Theorem: Polynomial.root_left_of_root_gcd
File: Mathlib/Algebra/Polynomial/FieldDivision.lean

tactic: cases' EuclideanDomain.gcd_dvd_left f g with p hp
state_before: R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝² : Field R
p q : R[X]
inst✝¹ : CommSemiring k
inst✝ : DecidableEq R
ϕ : R →+* k
f g : R[X]
α : k
hα : eval₂ ϕ α (EuclideanDomain.gcd f g) = 0
⊢ eval₂ ϕ α f = 0
state_after: case intro
R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝² : Field R
p✝ q : R[X]
inst✝¹ : CommSemiring k
inst✝ : DecidableEq R
ϕ : R →+* k
f g : R[X]
α : k
hα : eval₂ ϕ α (EuclideanDomain.gcd f g) = 0
p : R[X]
hp : f = EuclideanDomain.gcd f g * p
⊢ eval₂ ϕ α f = 0

tactic: rw [hp, Polynomial.eval₂_mul, hα, zero_mul]
state_before: case intro
R : Type u
S : Type v
k : Type y
A : Type z
a b : R
n : ℕ
inst✝² : Field R
p✝ q : R[X]
inst✝¹ : CommSemiring k
inst✝ : DecidableEq R
ϕ : R →+* k
f g : R[X]
α : k
hα : eval₂ ϕ α (EuclideanDomain.gcd f g) = 0
p : R[X]
hp : f = EuclideanDomain.gcd f g * p
⊢ eval₂ ϕ α f = 0
state_after: no goals
Theorem: MeasureTheory.OuterMeasure.sInf_eq_boundedBy_sInfGen
File: Mathlib/MeasureTheory/OuterMeasure/OfFunction.lean

tactic: refine le_antisymm ?_ ?_
state_before: α : Type u_1
m : Set (OuterMeasure α)
⊢ sInf m = boundedBy (sInfGen m)
state_after: case refine_1
α : Type u_1
m : Set (OuterMeasure α)
⊢ sInf m ≤ boundedBy (sInfGen m)

case refine_2
α : Type u_1
m : Set (OuterMeasure α)
⊢ boundedBy (sInfGen m) ≤ sInf m

tactic: refine le_boundedBy.2 fun s => le_iInf₂ fun μ hμ => ?_
state_before: case refine_1
α : Type u_1
m : Set (OuterMeasure α)
⊢ sInf m ≤ boundedBy (sInfGen m)
state_after: case refine_1
α : Type u_1
m : Set (OuterMeasure α)
s : Set α
μ : OuterMeasure α
hμ : μ ∈ m
⊢ (sInf m) s ≤ μ s

tactic: apply sInf_le hμ
state_before: case refine_1
α : Type u_1
m : Set (OuterMeasure α)
s : Set α
μ : OuterMeasure α
hμ : μ ∈ m
⊢ (sInf m) s ≤ μ s
state_after: no goals

tactic: refine le_sInf ?_
state_before: case refine_2
α : Type u_1
m : Set (OuterMeasure α)
⊢ boundedBy (sInfGen m) ≤ sInf m
state_after: case refine_2
α : Type u_1
m : Set (OuterMeasure α)
⊢ ∀ b ∈ m, boundedBy (sInfGen m) ≤ b

tactic: intro μ hμ t
state_before: case refine_2
α : Type u_1
m : Set (OuterMeasure α)
⊢ ∀ b ∈ m, boundedBy (sInfGen m) ≤ b
state_after: case refine_2
α : Type u_1
m : Set (OuterMeasure α)
μ : OuterMeasure α
hμ : μ ∈ m
t : Set α
⊢ (boundedBy (sInfGen m)) t ≤ μ t

tactic: exact le_trans (boundedBy_le t) (iInf₂_le μ hμ)
state_before: case refine_2
α : Type u_1
m : Set (OuterMeasure α)
μ : OuterMeasure α
hμ : μ ∈ m
t : Set α
⊢ (boundedBy (sInfGen m)) t ≤ μ t
state_after: no goals