1337xyz1337xyz/leandojo-benchmark4-v10 huggingface dataset:
Theorem: ConvexOn.le_on_segment'
File: Mathlib/Analysis/Convex/Function.lean

tactic: gcongr
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : LinearOrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : Module 𝕜 β
inst✝ : OrderedSMul 𝕜 β
s : Set E
f g : E → β
hf : ConvexOn 𝕜 s f
x y : E
hx : x ∈ s
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ a • f x + b • f y ≤ a • max (f x) (f y) + b • max (f x) (f y)
state_after: case h₁.hb
𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : LinearOrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : Module 𝕜 β
inst✝ : OrderedSMul 𝕜 β
s : Set E
f g : E → β
hf : ConvexOn 𝕜 s f
x y : E
hx : x ∈ s
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ f x ≤ max (f x) (f y)

case h₂.hb
𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : LinearOrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : Module 𝕜 β
inst✝ : OrderedSMul 𝕜 β
s : Set E
f g : E → β
hf : ConvexOn 𝕜 s f
x y : E
hx : x ∈ s
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ f y ≤ max (f x) (f y)

tactic: apply le_max_left
state_before: case h₁.hb
𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : LinearOrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : Module 𝕜 β
inst✝ : OrderedSMul 𝕜 β
s : Set E
f g : E → β
hf : ConvexOn 𝕜 s f
x y : E
hx : x ∈ s
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ f x ≤ max (f x) (f y)
state_after: no goals

tactic: apply le_max_right
state_before: case h₂.hb
𝕜 : Type u_1
E : Type u_2
F : Type u_3
α : Type u_4
β : Type u_5
ι : Type u_6
inst✝⁶ : OrderedSemiring 𝕜
inst✝⁵ : AddCommMonoid E
inst✝⁴ : AddCommMonoid F
inst✝³ : LinearOrderedAddCommMonoid β
inst✝² : SMul 𝕜 E
inst✝¹ : Module 𝕜 β
inst✝ : OrderedSMul 𝕜 β
s : Set E
f g : E → β
hf : ConvexOn 𝕜 s f
x y : E
hx : x ∈ s
hy : y ∈ s
a b : 𝕜
ha : 0 ≤ a
hb : 0 ≤ b
hab : a + b = 1
⊢ f y ≤ max (f x) (f y)
state_after: no goals
Theorem: Orientation.rotation_rotation
File: Mathlib/Geometry/Euclidean/Angle/Oriented/Rotation.lean

tactic: simp only [o.rotation_apply, ← mul_smul, Real.Angle.cos_add, Real.Angle.sin_add, add_smul,
  sub_smul, LinearIsometryEquiv.trans_apply, smul_add, LinearIsometryEquiv.map_add,
  LinearIsometryEquiv.map_smul, rightAngleRotation_rightAngleRotation, smul_neg]
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
θ₁ θ₂ : Real.Angle
x : V
⊢ (o.rotation θ₁) ((o.rotation θ₂) x) = (o.rotation (θ₁ + θ₂)) x
state_after: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
θ₁ θ₂ : Real.Angle
x : V
⊢ (θ₁.cos * θ₂.cos) • x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x +
      ((θ₁.sin * θ₂.cos) • o.rightAngleRotation x + -((θ₁.sin * θ₂.sin) • x)) =
    (θ₁.cos * θ₂.cos) • x - (θ₁.sin * θ₂.sin) • x +
      ((θ₁.sin * θ₂.cos) • o.rightAngleRotation x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x)

tactic: ring_nf
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
θ₁ θ₂ : Real.Angle
x : V
⊢ (θ₁.cos * θ₂.cos) • x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x +
      ((θ₁.sin * θ₂.cos) • o.rightAngleRotation x + -((θ₁.sin * θ₂.sin) • x)) =
    (θ₁.cos * θ₂.cos) • x - (θ₁.sin * θ₂.sin) • x +
      ((θ₁.sin * θ₂.cos) • o.rightAngleRotation x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x)
state_after: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
θ₁ θ₂ : Real.Angle
x : V
⊢ (θ₁.cos * θ₂.cos) • x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x +
      ((θ₂.cos * θ₁.sin) • o.rightAngleRotation x + -((θ₂.sin * θ₁.sin) • x)) =
    (θ₁.cos * θ₂.cos) • x - (θ₂.sin * θ₁.sin) • x +
      ((θ₂.cos * θ₁.sin) • o.rightAngleRotation x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x)

tactic: abel
state_before: V : Type u_1
V' : Type u_2
inst✝⁵ : NormedAddCommGroup V
inst✝⁴ : NormedAddCommGroup V'
inst✝³ : InnerProductSpace ℝ V
inst✝² : InnerProductSpace ℝ V'
inst✝¹ : Fact (finrank ℝ V = 2)
inst✝ : Fact (finrank ℝ V' = 2)
o : Orientation ℝ V (Fin 2)
θ₁ θ₂ : Real.Angle
x : V
⊢ (θ₁.cos * θ₂.cos) • x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x +
      ((θ₂.cos * θ₁.sin) • o.rightAngleRotation x + -((θ₂.sin * θ₁.sin) • x)) =
    (θ₁.cos * θ₂.cos) • x - (θ₂.sin * θ₁.sin) • x +
      ((θ₂.cos * θ₁.sin) • o.rightAngleRotation x + (θ₁.cos * θ₂.sin) • o.rightAngleRotation x)
state_after: no goals
Theorem: image_openSegment
File: Mathlib/Analysis/Convex/Segment.lean

tactic: simp_rw [openSegment_eq_image_lineMap, mem_image, exists_exists_and_eq_and,
  AffineMap.apply_lineMap]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
G : Type u_4
ι : Type u_5
π : ι → Type u_6
inst✝⁵ : OrderedRing 𝕜
inst✝⁴ : AddCommGroup E
inst✝³ : AddCommGroup F
inst✝² : AddCommGroup G
inst✝¹ : Module 𝕜 E
inst✝ : Module 𝕜 F
f : E →ᵃ[𝕜] F
a b : E
x : F
⊢ x ∈ ⇑f '' openSegment 𝕜 a b ↔ x ∈ openSegment 𝕜 (f a) (f b)
state_after: no goals
Theorem: CauSeq.lim_add
File: Mathlib/Algebra/Order/CauSeq/Completion.lean

tactic: rw [const_add, add_sub_add_comm]
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f g : CauSeq β abv
⊢ (const abv (f.lim + g.lim) - (f + g)).LimZero
state_after: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f g : CauSeq β abv
⊢ (const abv f.lim - f + (const abv g.lim - g)).LimZero

tactic: exact add_limZero (Setoid.symm (equiv_lim f)) (Setoid.symm (equiv_lim g))
state_before: α : Type u_1
inst✝³ : LinearOrderedField α
β : Type u_2
inst✝² : Ring β
abv : β → α
inst✝¹ : IsAbsoluteValue abv
inst✝ : IsComplete β abv
f g : CauSeq β abv
⊢ (const abv f.lim - f + (const abv g.lim - g)).LimZero
state_after: no goals
Theorem: List.mem_rtakeWhile_imp
File: Mathlib/Data/List/DropRight.lean

tactic: rw [rtakeWhile, mem_reverse] at hx
state_before: α : Type u_1
p : α → Bool
l : List α
n : ℕ
x : α
hx : x ∈ rtakeWhile p l
⊢ p x = true
state_after: α : Type u_1
p : α → Bool
l : List α
n : ℕ
x : α
hx : x ∈ takeWhile p l.reverse
⊢ p x = true

tactic: exact mem_takeWhile_imp hx
state_before: α : Type u_1
p : α → Bool
l : List α
n : ℕ
x : α
hx : x ∈ takeWhile p l.reverse
⊢ p x = true
state_after: no goals
Theorem: AdjoinRoot.isAdjoinRoot_root_eq_root
File: Mathlib/RingTheory/IsAdjoinRoot.lean

tactic: simp only [IsAdjoinRoot.root, AdjoinRoot.root, AdjoinRoot.isAdjoinRoot_map_eq_mk]
state_before: R : Type u
S : Type v
inst✝² : CommRing R
inst✝¹ : Ring S
f : R[X]
inst✝ : Algebra R S
⊢ (AdjoinRoot.isAdjoinRoot f).root = root f
state_after: no goals
Theorem: mem_vectorSpan_pair_rev
File: Mathlib/LinearAlgebra/AffineSpace/AffineSubspace.lean

tactic: rw [vectorSpan_pair_rev, Submodule.mem_span_singleton]
state_before: k : Type u_1
V : Type u_2
P : Type u_3
inst✝³ : Ring k
inst✝² : AddCommGroup V
inst✝¹ : Module k V
inst✝ : AffineSpace V P
ι : Type u_4
p₁ p₂ : P
v : V
⊢ v ∈ vectorSpan k {p₁, p₂} ↔ ∃ r, r • (p₂ -ᵥ p₁) = v
state_after: no goals
Theorem: lift_rank_map_le
File: Mathlib/LinearAlgebra/Dimension/Basic.lean

tactic: have h := lift_rank_range_le (f.comp (Submodule.subtype p))
state_before: R : Type u
R' : Type u'
M M₁ : Type v
M' : Type v'
inst✝⁹ : Ring R
inst✝⁸ : Ring R'
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup M₁
inst✝⁴ : Module R M
inst✝³ : Module R M'
inst✝² : Module R M₁
inst✝¹ : Module R' M'
inst✝ : Module R' M₁
f : M →ₗ[R] M'
p : Submodule R M
⊢ lift.{v, v'} (Module.rank R ↥(Submodule.map f p)) ≤ lift.{v', v} (Module.rank R ↥p)
state_after: R : Type u
R' : Type u'
M M₁ : Type v
M' : Type v'
inst✝⁹ : Ring R
inst✝⁸ : Ring R'
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup M₁
inst✝⁴ : Module R M
inst✝³ : Module R M'
inst✝² : Module R M₁
inst✝¹ : Module R' M'
inst✝ : Module R' M₁
f : M →ₗ[R] M'
p : Submodule R M
h : lift.{v, v'} (Module.rank R ↥(LinearMap.range (f ∘ₗ p.subtype))) ≤ lift.{v', v} (Module.rank R ↥p)
⊢ lift.{v, v'} (Module.rank R ↥(Submodule.map f p)) ≤ lift.{v', v} (Module.rank R ↥p)

tactic: rwa [LinearMap.range_comp, range_subtype] at h
state_before: R : Type u
R' : Type u'
M M₁ : Type v
M' : Type v'
inst✝⁹ : Ring R
inst✝⁸ : Ring R'
inst✝⁷ : AddCommGroup M
inst✝⁶ : AddCommGroup M'
inst✝⁵ : AddCommGroup M₁
inst✝⁴ : Module R M
inst✝³ : Module R M'
inst✝² : Module R M₁
inst✝¹ : Module R' M'
inst✝ : Module R' M₁
f : M →ₗ[R] M'
p : Submodule R M
h : lift.{v, v'} (Module.rank R ↥(LinearMap.range (f ∘ₗ p.subtype))) ≤ lift.{v', v} (Module.rank R ↥p)
⊢ lift.{v, v'} (Module.rank R ↥(Submodule.map f p)) ≤ lift.{v', v} (Module.rank R ↥p)
state_after: no goals
Theorem: Matrix.IsDiag.sub
File: Mathlib/LinearAlgebra/Matrix/IsDiag.lean

tactic: intro i j h
state_before: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : AddGroup α
A B : Matrix n n α
ha : A.IsDiag
hb : B.IsDiag
⊢ (A - B).IsDiag
state_after: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : AddGroup α
A B : Matrix n n α
ha : A.IsDiag
hb : B.IsDiag
i j : n
h : i ≠ j
⊢ (A - B) i j = 0

tactic: simp [ha h, hb h]
state_before: α : Type u_1
β : Type u_2
R : Type u_3
n : Type u_4
m : Type u_5
inst✝ : AddGroup α
A B : Matrix n n α
ha : A.IsDiag
hb : B.IsDiag
i j : n
h : i ≠ j
⊢ (A - B) i j = 0
state_after: no goals
Theorem: Finset.div_zero_subset
File: Mathlib/Data/Finset/Pointwise.lean

tactic: simp [subset_iff, mem_div]
state_before: F : Type u_1
α : Type u_2
β : Type u_3
γ : Type u_4
inst✝² : DecidableEq α
inst✝¹ : DecidableEq β
inst✝ : GroupWithZero α
s✝ t s : Finset α
⊢ s / 0 ⊆ 0
state_after: no goals
Theorem: Filter.Tendsto.prod_mk_nhds
File: Mathlib/Topology/Constructions.lean

tactic: rw [nhds_prod_eq]
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
γ : Type u_5
x : X
y : Y
f : Filter γ
mx : γ → X
my : γ → Y
hx : Tendsto mx f (𝓝 x)
hy : Tendsto my f (𝓝 y)
⊢ Tendsto (fun c => (mx c, my c)) f (𝓝 (x, y))
state_after: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
γ : Type u_5
x : X
y : Y
f : Filter γ
mx : γ → X
my : γ → Y
hx : Tendsto mx f (𝓝 x)
hy : Tendsto my f (𝓝 y)
⊢ Tendsto (fun c => (mx c, my c)) f (𝓝 x ×ˢ 𝓝 y)

tactic: exact Filter.Tendsto.prod_mk hx hy
state_before: X : Type u
Y : Type v
Z : Type u_1
W : Type u_2
ε : Type u_3
ζ : Type u_4
inst✝⁵ : TopologicalSpace X
inst✝⁴ : TopologicalSpace Y
inst✝³ : TopologicalSpace Z
inst✝² : TopologicalSpace W
inst✝¹ : TopologicalSpace ε
inst✝ : TopologicalSpace ζ
γ : Type u_5
x : X
y : Y
f : Filter γ
mx : γ → X
my : γ → Y
hx : Tendsto mx f (𝓝 x)
hy : Tendsto my f (𝓝 y)
⊢ Tendsto (fun c => (mx c, my c)) f (𝓝 x ×ˢ 𝓝 y)
state_after: no goals
Theorem: List.eq_of_length_one
File: Mathlib/Data/List/EditDistance/Defs.lean

tactic: match x, w with
| [r], _ => rfl
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
inst✝¹ : AddZeroClass δ
inst✝ : Min δ
C : Cost α β δ
x : List α
w : x.length = 1
⊢ let_fun this := ⋯;
  x = [x[0]]
state_after: no goals

tactic: rfl
state_before: α : Type u_1
β : Type u_2
δ : Type u_3
inst✝¹ : AddZeroClass δ
inst✝ : Min δ
C : Cost α β δ
x : List α
w : x.length = 1
r : α
x✝ : [r].length = 1
⊢ let_fun this := ⋯;
  [r] = [[r][0]]
state_after: no goals
Theorem: CategoryTheory.ShortComplex.mapCyclesIso_inv_naturality
File: Mathlib/Algebra/Homology/ShortComplex/PreservesHomology.lean

tactic: rw [← cancel_epi (S₁.mapCyclesIso F).hom, ← mapCyclesIso_hom_naturality_assoc,
  Iso.hom_inv_id, comp_id, Iso.hom_inv_id_assoc]
state_before: C : Type u_1
D : Type u_2
inst✝⁹ : Category.{u_3, u_1} C
inst✝⁸ : Category.{u_4, u_2} D
inst✝⁷ : HasZeroMorphisms C
inst✝⁶ : HasZeroMorphisms D
S : ShortComplex C
h₁✝ : S.LeftHomologyData
h₂✝ : S.RightHomologyData
F✝ : C ⥤ D
inst✝⁵ : F✝.PreservesZeroMorphisms
hl : S.LeftHomologyData
hr : S.RightHomologyData
S₁ S₂ : ShortComplex C
φ : S₁ ⟶ S₂
hl₁ : S₁.LeftHomologyData
hr₁ : S₁.RightHomologyData
hl₂ : S₂.LeftHomologyData
hr₂ : S₂.RightHomologyData
h₁ : S₁.HomologyData
h₂ : S₂.HomologyData
F : C ⥤ D
inst✝⁴ : F.PreservesZeroMorphisms
inst✝³ : S₁.HasLeftHomology
inst✝² : S₂.HasLeftHomology
inst✝¹ : F.PreservesLeftHomologyOf S₁
inst✝ : F.PreservesLeftHomologyOf S₂
⊢ F.map (cyclesMap φ) ≫ (S₂.mapCyclesIso F).inv = (S₁.mapCyclesIso F).inv ≫ cyclesMap (F.mapShortComplex.map φ)
state_after: no goals
Theorem: MeasureTheory.measurePreserving_pi_empty
File: Mathlib/MeasureTheory/Constructions/Pi.lean

tactic: set e := MeasurableEquiv.ofUniqueOfUnique (∀ i, α i) Unit
state_before: ι✝ : Type u_1
ι' : Type u_2
α✝ : ι✝ → Type u_3
inst✝⁴ : Fintype ι✝
m✝¹ : (i : ι✝) → OuterMeasure (α✝ i)
m✝ : (i : ι✝) → MeasurableSpace (α✝ i)
μ✝ : (i : ι✝) → Measure (α✝ i)
inst✝³ : ∀ (i : ι✝), SigmaFinite (μ✝ i)
inst✝² : Fintype ι'
ι : Type u
α : ι → Type v
inst✝¹ : Fintype ι
inst✝ : IsEmpty ι
m : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
⊢ MeasurePreserving (⇑(MeasurableEquiv.ofUniqueOfUnique ((i : ι) → α i) Unit)) (Measure.pi μ) (Measure.dirac ())
state_after: ι✝ : Type u_1
ι' : Type u_2
α✝ : ι✝ → Type u_3
inst✝⁴ : Fintype ι✝
m✝¹ : (i : ι✝) → OuterMeasure (α✝ i)
m✝ : (i : ι✝) → MeasurableSpace (α✝ i)
μ✝ : (i : ι✝) → Measure (α✝ i)
inst✝³ : ∀ (i : ι✝), SigmaFinite (μ✝ i)
inst✝² : Fintype ι'
ι : Type u
α : ι → Type v
inst✝¹ : Fintype ι
inst✝ : IsEmpty ι
m : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
e : ((i : ι) → α i) ≃ᵐ Unit := MeasurableEquiv.ofUniqueOfUnique ((i : ι) → α i) Unit
⊢ MeasurePreserving (⇑e) (Measure.pi μ) (Measure.dirac ())

tactic: refine ⟨e.measurable, ?_⟩
state_before: ι✝ : Type u_1
ι' : Type u_2
α✝ : ι✝ → Type u_3
inst✝⁴ : Fintype ι✝
m✝¹ : (i : ι✝) → OuterMeasure (α✝ i)
m✝ : (i : ι✝) → MeasurableSpace (α✝ i)
μ✝ : (i : ι✝) → Measure (α✝ i)
inst✝³ : ∀ (i : ι✝), SigmaFinite (μ✝ i)
inst✝² : Fintype ι'
ι : Type u
α : ι → Type v
inst✝¹ : Fintype ι
inst✝ : IsEmpty ι
m : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
e : ((i : ι) → α i) ≃ᵐ Unit := MeasurableEquiv.ofUniqueOfUnique ((i : ι) → α i) Unit
⊢ MeasurePreserving (⇑e) (Measure.pi μ) (Measure.dirac ())
state_after: ι✝ : Type u_1
ι' : Type u_2
α✝ : ι✝ → Type u_3
inst✝⁴ : Fintype ι✝
m✝¹ : (i : ι✝) → OuterMeasure (α✝ i)
m✝ : (i : ι✝) → MeasurableSpace (α✝ i)
μ✝ : (i : ι✝) → Measure (α✝ i)
inst✝³ : ∀ (i : ι✝), SigmaFinite (μ✝ i)
inst✝² : Fintype ι'
ι : Type u
α : ι → Type v
inst✝¹ : Fintype ι
inst✝ : IsEmpty ι
m : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
e : ((i : ι) → α i) ≃ᵐ Unit := MeasurableEquiv.ofUniqueOfUnique ((i : ι) → α i) Unit
⊢ Measure.map (⇑e) (Measure.pi μ) = Measure.dirac ()

tactic: rw [Measure.pi_of_empty, Measure.map_dirac e.measurable]
state_before: ι✝ : Type u_1
ι' : Type u_2
α✝ : ι✝ → Type u_3
inst✝⁴ : Fintype ι✝
m✝¹ : (i : ι✝) → OuterMeasure (α✝ i)
m✝ : (i : ι✝) → MeasurableSpace (α✝ i)
μ✝ : (i : ι✝) → Measure (α✝ i)
inst✝³ : ∀ (i : ι✝), SigmaFinite (μ✝ i)
inst✝² : Fintype ι'
ι : Type u
α : ι → Type v
inst✝¹ : Fintype ι
inst✝ : IsEmpty ι
m : (i : ι) → MeasurableSpace (α i)
μ : (i : ι) → Measure (α i)
e : ((i : ι) → α i) ≃ᵐ Unit := MeasurableEquiv.ofUniqueOfUnique ((i : ι) → α i) Unit
⊢ Measure.map (⇑e) (Measure.pi μ) = Measure.dirac ()
state_after: no goals
Theorem: MonoidHomClass.antilipschitz_of_bound
File: Mathlib/Analysis/Normed/Group/Uniform.lean

tactic: simpa only [dist_eq_norm_div, map_div] using h (x / y)
state_before: 𝓕 : Type u_1
α : Type u_2
E : Type u_3
F : Type u_4
inst✝³ : SeminormedGroup E
inst✝² : SeminormedGroup F
s : Set E
a a₁ a₂ b b₁ b₂ : E
r r₁ r₂ : ℝ
inst✝¹ : FunLike 𝓕 E F
inst✝ : MonoidHomClass 𝓕 E F
f : 𝓕
K : ℝ≥0
h : ∀ (x : E), ‖x‖ ≤ ↑K * ‖f x‖
x y : E
⊢ dist x y ≤ ↑K * dist (f x) (f y)
state_after: no goals
Theorem: Ideal.MvPolynomial.quotient_mk_comp_C_isIntegral_of_jacobson
File: Mathlib/RingTheory/Jacobson.lean

tactic: change RingHom.IsIntegral (algebraMap R (MvPolynomial (Fin n) R ⧸ P))
state_before: n : ℕ
R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsJacobson R
P : Ideal (MvPolynomial (Fin n) R)
hP : P.IsMaximal
⊢ ((Quotient.mk P).comp MvPolynomial.C).IsIntegral
state_after: n : ℕ
R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsJacobson R
P : Ideal (MvPolynomial (Fin n) R)
hP : P.IsMaximal
⊢ (algebraMap R (MvPolynomial (Fin n) R ⧸ P)).IsIntegral

tactic: apply quotient_mk_comp_C_isIntegral_of_jacobson'
state_before: n : ℕ
R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsJacobson R
P : Ideal (MvPolynomial (Fin n) R)
hP : P.IsMaximal
⊢ (algebraMap R (MvPolynomial (Fin n) R ⧸ P)).IsIntegral
state_after: case hP
n : ℕ
R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsJacobson R
P : Ideal (MvPolynomial (Fin n) R)
hP : P.IsMaximal
⊢ P.IsMaximal

tactic: infer_instance
state_before: case hP
n : ℕ
R : Type u_1
inst✝¹ : CommRing R
inst✝ : IsJacobson R
P : Ideal (MvPolynomial (Fin n) R)
hP : P.IsMaximal
⊢ P.IsMaximal
state_after: no goals
Theorem: MvPolynomial.esymm_eq_sum_monomial
File: Mathlib/RingTheory/MvPolynomial/Symmetric.lean

tactic: simp_rw [monomial_sum_one]
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ t ∈ powersetCard n univ, (monomial (∑ i ∈ t, Finsupp.single i 1)) 1
state_after: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ x ∈ powersetCard n univ, ∏ i ∈ x, (monomial (Finsupp.single i 1)) 1

tactic: rfl
state_before: σ : Type u_1
R : Type u_2
τ : Type u_3
S : Type u_4
inst✝³ : CommSemiring R
inst✝² : CommSemiring S
inst✝¹ : Fintype σ
inst✝ : Fintype τ
n : ℕ
⊢ esymm σ R n = ∑ x ∈ powersetCard n univ, ∏ i ∈ x, (monomial (Finsupp.single i 1)) 1
state_after: no goals
Theorem: CategoryTheory.Iso.hom_inv_id_eval
File: Mathlib/CategoryTheory/GradedObject.lean

tactic: rw [← GradedObject.categoryOfGradedObjects_comp, e.hom_inv_id,
  GradedObject.categoryOfGradedObjects_id]
state_before: C : Type u_1
D : Type u_2
E : Type u_3
J : Type u_4
inst✝² : Category.{u_5, u_1} C
inst✝¹ : Category.{?u.5801, u_2} D
inst✝ : Category.{?u.5805, u_3} E
X Y : GradedObject J C
e : X ≅ Y
j : J
⊢ e.hom j ≫ e.inv j = 𝟙 (X j)
state_after: no goals
Theorem: CategoryTheory.BasedNatTrans.isHomLift
File: Mathlib/CategoryTheory/FiberedCategory/BasedCategory.lean

tactic: subst ha
state_before: 𝒮 : Type u₁
inst✝ : Category.{v₁, u₁} 𝒮
𝒳 : BasedCategory 𝒮
𝒴 : BasedCategory 𝒮
F G : 𝒳 ⥤ᵇ 𝒴
α : BasedNatTrans F G
a : 𝒳.obj
S : 𝒮
ha : 𝒳.p.obj a = S
⊢ 𝒴.p.IsHomLift (𝟙 S) (α.app a)
state_after: 𝒮 : Type u₁
inst✝ : Category.{v₁, u₁} 𝒮
𝒳 : BasedCategory 𝒮
𝒴 : BasedCategory 𝒮
F G : 𝒳 ⥤ᵇ 𝒴
α : BasedNatTrans F G
a : 𝒳.obj
⊢ 𝒴.p.IsHomLift (𝟙 (𝒳.p.obj a)) (α.app a)

tactic: infer_instance
state_before: 𝒮 : Type u₁
inst✝ : Category.{v₁, u₁} 𝒮
𝒳 : BasedCategory 𝒮
𝒴 : BasedCategory 𝒮
F G : 𝒳 ⥤ᵇ 𝒴
α : BasedNatTrans F G
a : 𝒳.obj
⊢ 𝒴.p.IsHomLift (𝟙 (𝒳.p.obj a)) (α.app a)
state_after: no goals
Theorem: nhdsSet_Icc
File: Mathlib/Topology/Order/NhdsSet.lean

tactic: rcases h.eq_or_lt with rfl | hlt
state_before: α : Type u_1
inst✝² : LinearOrder α
inst✝¹ : TopologicalSpace α
inst✝ : OrderClosedTopology α
a b c d : α
h : a ≤ b
⊢ 𝓝ˢ (Icc a b) = 𝓝 a ⊔ 𝓝 b ⊔ 𝓟 (Ioo a b)
state_after: case inl
α : Type u_1
inst✝² : LinearOrder α
inst✝¹ : TopologicalSpace α
inst✝ : OrderClosedTopology α
a c d : α
h : a ≤ a
⊢ 𝓝ˢ (Icc a a) = 𝓝 a ⊔ 𝓝 a ⊔ 𝓟 (Ioo a a)

case inr
α : Type u_1
inst✝² : LinearOrder α
inst✝¹ : TopologicalSpace α
inst✝ : OrderClosedTopology α
a b c d : α
h : a ≤ b
hlt : a < b
⊢ 𝓝ˢ (Icc a b) = 𝓝 a ⊔ 𝓝 b ⊔ 𝓟 (Ioo a b)

tactic: simp
state_before: case inl
α : Type u_1
inst✝² : LinearOrder α
inst✝¹ : TopologicalSpace α
inst✝ : OrderClosedTopology α
a c d : α
h : a ≤ a
⊢ 𝓝ˢ (Icc a a) = 𝓝 a ⊔ 𝓝 a ⊔ 𝓟 (Ioo a a)
state_after: no goals

tactic: rw [← Ioc_insert_left h, nhdsSet_insert, nhdsSet_Ioc hlt, sup_assoc]
state_before: case inr
α : Type u_1
inst✝² : LinearOrder α
inst✝¹ : TopologicalSpace α
inst✝ : OrderClosedTopology α
a b c d : α
h : a ≤ b
hlt : a < b
⊢ 𝓝ˢ (Icc a b) = 𝓝 a ⊔ 𝓝 b ⊔ 𝓟 (Ioo a b)
state_after: no goals
Theorem: Orientation.tan_oangle_add_left_of_oangle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean

tactic: rw [← neg_inj, oangle_rev, ← oangle_neg_orientation_eq_neg, neg_inj] at h ⊢
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : o.oangle x y = ↑(π / 2)
⊢ (o.oangle (x + y) y).tan = ‖x‖ / ‖y‖
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : (-o).oangle y x = ↑(π / 2)
⊢ ((-o).oangle y (x + y)).tan = ‖x‖ / ‖y‖

tactic: rw [add_comm]
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : (-o).oangle y x = ↑(π / 2)
⊢ ((-o).oangle y (x + y)).tan = ‖x‖ / ‖y‖
state_after: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : (-o).oangle y x = ↑(π / 2)
⊢ ((-o).oangle y (y + x)).tan = ‖x‖ / ‖y‖

tactic: exact (-o).tan_oangle_add_right_of_oangle_eq_pi_div_two h
state_before: V : Type u_1
inst✝¹ : NormedAddCommGroup V
inst✝ : InnerProductSpace ℝ V
hd2 : Fact (finrank ℝ V = 2)
o : Orientation ℝ V (Fin 2)
x y : V
h : (-o).oangle y x = ↑(π / 2)
⊢ ((-o).oangle y (y + x)).tan = ‖x‖ / ‖y‖
state_after: no goals
Theorem: Finset.antidiagonal_congr'
File: Mathlib/Algebra/Order/Antidiag/Prod.lean

tactic: rw [← Prod.swap_inj]
state_before: A : Type u_1
inst✝¹ : AddCancelCommMonoid A
inst✝ : HasAntidiagonal A
p q : A × A
n : A
hp : p ∈ antidiagonal n
hq : q ∈ antidiagonal n
⊢ p = q ↔ p.2 = q.2
state_after: A : Type u_1
inst✝¹ : AddCancelCommMonoid A
inst✝ : HasAntidiagonal A
p q : A × A
n : A
hp : p ∈ antidiagonal n
hq : q ∈ antidiagonal n
⊢ p.swap = q.swap ↔ p.2 = q.2

tactic: exact antidiagonal_congr (swap_mem_antidiagonal.2 hp) (swap_mem_antidiagonal.2 hq)
state_before: A : Type u_1
inst✝¹ : AddCancelCommMonoid A
inst✝ : HasAntidiagonal A
p q : A × A
n : A
hp : p ∈ antidiagonal n
hq : q ∈ antidiagonal n
⊢ p.swap = q.swap ↔ p.2 = q.2
state_after: no goals
Theorem: Equiv.id_traverse
File: Mathlib/Control/Traversable/Equiv.lean

tactic: rw [Equiv.traverse, id_traverse, Id.map_eq, apply_symm_apply]
state_before: t t' : Type u → Type u
eqv : (α : Type u) → t α ≃ t' α
inst✝⁵ : Traversable t
inst✝⁴ : LawfulTraversable t
F G : Type u → Type u
inst✝³ : Applicative F
inst✝² : Applicative G
inst✝¹ : LawfulApplicative F
inst✝ : LawfulApplicative G
η : ApplicativeTransformation F G
α β γ : Type u
x : t' α
⊢ Equiv.traverse eqv pure x = x
state_after: no goals