ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: TopologicalSpace.countable_cover_nhdsWithin
File: Mathlib/Topology/Bases.lean

Proof steps:
state_before: α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
⊢ ∃ t ⊆ s, t.Countable ∧ s ⊆ ⋃ x ∈ t, f x
state_after: α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
⊢ ∃ t ⊆ s, t.Countable ∧ s ⊆ ⋃ x ∈ t, f x
tactic: have : ∀ x : s, (↑) ⁻¹' f x ∈ 𝓝 x := fun x => preimage_coe_mem_nhds_subtype.2 (hf x x.2)
state_before: α : Type u
t : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
⊢ ∃ t ⊆ s, t.Countable ∧ s ⊆ ⋃ x ∈ t, f x
state_after: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
htU : ⋃ x ∈ t, Subtype.val ⁻¹' f ↑x = univ
⊢ ∃ t ⊆ s, t.Countable ∧ s ⊆ ⋃ x ∈ t, f x
tactic: rcases countable_cover_nhds this with ⟨t, htc, htU⟩
state_before: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
htU : ⋃ x ∈ t, Subtype.val ⁻¹' f ↑x = univ
⊢ ∃ t ⊆ s, t.Countable ∧ s ⊆ ⋃ x ∈ t, f x
state_after: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
htU : ⋃ x ∈ t, Subtype.val ⁻¹' f ↑x = univ
x : α
hx : x ∈ s
⊢ x ∈ ⋃ x ∈ Subtype.val '' t, f x
tactic: refine ⟨(↑) '' t, Subtype.coe_image_subset _ _, htc.image _, fun x hx => ?_⟩
state_before: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
htU : ⋃ x ∈ t, Subtype.val ⁻¹' f ↑x = univ
x : α
hx : x ∈ s
⊢ x ∈ ⋃ x ∈ Subtype.val '' t, f x
state_after: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
x : α
hx : x ∈ s
htU : ∀ (x : ↑s), ↑x ∈ ⋃ i ∈ t, f ↑i
⊢ x ∈ ⋃ y ∈ t, f ↑y
tactic: simp only [biUnion_image, eq_univ_iff_forall, ← preimage_iUnion, mem_preimage] at htU ⊢
state_before: case intro.intro
α : Type u
t✝ : TopologicalSpace α
inst✝ : SecondCountableTopology α
f : α → Set α
s : Set α
hf : ∀ x ∈ s, f x ∈ 𝓝[s] x
this : ∀ (x : ↑s), Subtype.val ⁻¹' f ↑x ∈ 𝓝 x
t : Set ↑s
htc : t.Countable
x : α
hx : x ∈ s
htU : ∀ (x : ↑s), ↑x ∈ ⋃ i ∈ t, f ↑i
⊢ x ∈ ⋃ y ∈ t, f ↑y
state_after: no goals
tactic: exact htU ⟨x, hx⟩
Theorem: EuclideanGeometry.cospherical_iff_exists_sphere
File: Mathlib/Geometry/Euclidean/Sphere/Basic.lean

Proof steps:
state_before: V : Type u_1
P : Type u_2
inst✝ : MetricSpace P
ps : Set P
⊢ Cospherical ps ↔ ∃ s, ps ⊆ Metric.sphere s.center s.radius
state_after: case refine_1
V : Type u_1
P : Type u_2
inst✝ : MetricSpace P
ps : Set P
h : Cospherical ps
⊢ ∃ s, ps ⊆ Metric.sphere s.center s.radius

case refine_2
V : Type u_1
P : Type u_2
inst✝ : MetricSpace P
ps : Set P
h : ∃ s, ps ⊆ Metric.sphere s.center s.radius
⊢ Cospherical ps
tactic: refine ⟨fun h => ?_, fun h => ?_⟩
Theorem: TopCat.stalkToFiber_germ
File: Mathlib/Topology/Sheaves/LocalPredicate.lean

Proof steps:
state_before: X : TopCat
T : ↑X → Type v
P : LocalPredicate T
U : Opens ↑X
x : ↥U
f : (subsheafToTypes P).presheaf.obj (op U)
⊢ stalkToFiber P (↑x) ((subsheafToTypes P).presheaf.germ x f) = ↑f x
state_after: X : TopCat
T : ↑X → Type v
P : LocalPredicate T
U : Opens ↑X
x : ↥U
f : (subsheafToTypes P).presheaf.obj (op U)
⊢ colimit.desc ((OpenNhds.inclusion ↑x).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
      { pt := T ↑x, ι := { app := fun U_1 f => ↑f ⟨↑x, ⋯⟩, naturality := ⋯ } }
      (colimit.ι ((OpenNhds.inclusion ↑x).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
        (op { obj := U, property := ⋯ }) f) =
    ↑f x
tactic: dsimp [Presheaf.germ, stalkToFiber]
state_before: X : TopCat
T : ↑X → Type v
P : LocalPredicate T
U : Opens ↑X
x : ↥U
f : (subsheafToTypes P).presheaf.obj (op U)
⊢ colimit.desc ((OpenNhds.inclusion ↑x).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
      { pt := T ↑x, ι := { app := fun U_1 f => ↑f ⟨↑x, ⋯⟩, naturality := ⋯ } }
      (colimit.ι ((OpenNhds.inclusion ↑x).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
        (op { obj := U, property := ⋯ }) f) =
    ↑f x
state_after: case mk
X : TopCat
T : ↑X → Type v
P : LocalPredicate T
U : Opens ↑X
f : (subsheafToTypes P).presheaf.obj (op U)
val✝ : ↑X
property✝ : val✝ ∈ U
⊢ colimit.desc ((OpenNhds.inclusion ↑⟨val✝, property✝⟩).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
      { pt := T ↑⟨val✝, property✝⟩, ι := { app := fun U_1 f => ↑f ⟨↑⟨val✝, property✝⟩, ⋯⟩, naturality := ⋯ } }
      (colimit.ι ((OpenNhds.inclusion ↑⟨val✝, property✝⟩).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
        (op { obj := U, property := ⋯ }) f) =
    ↑f ⟨val✝, property✝⟩
tactic: cases x
state_before: case mk
X : TopCat
T : ↑X → Type v
P : LocalPredicate T
U : Opens ↑X
f : (subsheafToTypes P).presheaf.obj (op U)
val✝ : ↑X
property✝ : val✝ ∈ U
⊢ colimit.desc ((OpenNhds.inclusion ↑⟨val✝, property✝⟩).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
      { pt := T ↑⟨val✝, property✝⟩, ι := { app := fun U_1 f => ↑f ⟨↑⟨val✝, property✝⟩, ⋯⟩, naturality := ⋯ } }
      (colimit.ι ((OpenNhds.inclusion ↑⟨val✝, property✝⟩).op ⋙ subpresheafToTypes P.toPrelocalPredicate)
        (op { obj := U, property := ⋯ }) f) =
    ↑f ⟨val✝, property✝⟩
state_after: no goals
tactic: simp
Theorem: integral_inv_one_add_sq
File: Mathlib/Analysis/SpecialFunctions/Integrals.lean

Proof steps:
state_before: a b : ℝ
n : ℕ
⊢ ∫ (x : ℝ) in a..b, (1 + x ^ 2)⁻¹ = arctan b - arctan a
state_after: no goals
tactic: simp only [← one_div, integral_one_div_one_add_sq]
Theorem: Turing.PartrecToTM2.K'.elim_update_stack
File: Mathlib/Computability/TMToPartrec.lean

Proof steps:
state_before: a b c d d' : List Γ'
⊢ update (elim a b c d) stack d' = elim a b c d'
state_after: case h
a b c d d' : List Γ'
x : K'
⊢ update (elim a b c d) stack d' x = elim a b c d' x
tactic: funext x
state_before: case h
a b c d d' : List Γ'
x : K'
⊢ update (elim a b c d) stack d' x = elim a b c d' x
state_after: no goals
tactic: cases x <;> rfl
Theorem: CategoryTheory.Localization.Preadditive.add'_left_neg'
File: Mathlib/CategoryTheory/Localization/CalculusOfFractions/Preadditive.lean

Proof steps:
state_before: C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
f : L.obj X ⟶ L.obj Y
⊢ add' W (neg' W f) f = L.map 0
state_after: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
⊢ add' W (neg' W (α.map L ⋯)) (α.map L ⋯) = L.map 0
tactic: obtain ⟨α, rfl⟩ := exists_leftFraction L W f
state_before: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
⊢ add' W (neg' W (α.map L ⋯)) (α.map L ⋯) = L.map 0
state_after: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
this : IsIso (L.map α.s)
⊢ add' W (neg' W (α.map L ⋯)) (α.map L ⋯) = L.map 0
tactic: have := inverts L W _ α.hs
state_before: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
this : IsIso (L.map α.s)
⊢ add' W (neg' W (α.map L ⋯)) (α.map L ⋯) = L.map 0
state_after: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
this : IsIso (L.map α.s)
⊢ (LeftFraction₂.mk (-α.f) α.f α.s ⋯).add.map L ⋯ = L.map 0
tactic: rw [add'_eq W _ _ (LeftFraction₂.mk (-α.f) α.f α.s α.hs) (neg'_eq W _ _ rfl) rfl]
state_before: case intro
C : Type u_1
D : Type u_2
inst✝⁴ : Category.{u_4, u_1} C
inst✝³ : Category.{u_3, u_2} D
inst✝² : Preadditive C
L : C ⥤ D
W : MorphismProperty C
inst✝¹ : L.IsLocalization W
inst✝ : W.HasLeftCalculusOfFractions
X Y Z : C
α : W.LeftFraction X Y
this : IsIso (L.map α.s)
⊢ (LeftFraction₂.mk (-α.f) α.f α.s ⋯).add.map L ⋯ = L.map 0
state_after: no goals
tactic: simp only [← cancel_mono (L.map α.s), LeftFraction.map_comp_map_s, ← L.map_comp,
    Limits.zero_comp, add_left_neg]
Theorem: Pell.x_sub_y_dvd_pow_lem
File: Mathlib/NumberTheory/PellMatiyasevic.lean

Proof steps:
state_before: a : ℕ
a1 : 1 < a
y2 y1 y0 yn1 yn0 xn1 xn0 ay a2 : ℤ
⊢ (a2 * yn1 - yn0) * ay + y2 - (a2 * xn1 - xn0) = y2 - a2 * y1 + y0 + a2 * (yn1 * ay + y1 - xn1) - (yn0 * ay + y0 - xn0)
state_after: no goals
tactic: ring
Theorem: bernsteinPolynomial.derivative_zero
File: Mathlib/RingTheory/Polynomial/Bernstein.lean

Proof steps:
state_before: R : Type u_1
inst✝ : CommRing R
n : ℕ
⊢ Polynomial.derivative (bernsteinPolynomial R n 0) = -↑n * bernsteinPolynomial R (n - 1) 0
state_after: no goals
tactic: simp [bernsteinPolynomial, Polynomial.derivative_pow]
Theorem: groupCohomology.map_one_fst_of_isMulTwoCocycle
File: Mathlib/RepresentationTheory/GroupCohomology/LowDegree.lean

Proof steps:
state_before: k G✝ : Type u
inst✝⁴ : CommRing k
inst✝³ : Group G✝
A : Rep k G✝
G : Type u_1
M : Type u_2
inst✝² : Monoid G
inst✝¹ : CommGroup M
inst✝ : MulAction G M
f : G × G → M
hf : IsMulTwoCocycle f
g : G
⊢ f (1, g) = f (1, 1)
state_after: no goals
tactic: simpa only [one_smul, one_mul, mul_one, mul_right_inj] using (hf 1 1 g).symm
Theorem: AdicCompletion.ofTensorProductEquivOfFiniteNoetherian_symm_of
File: Mathlib/RingTheory/AdicCompletion/AsTensorProduct.lean

Proof steps:
state_before: R✝ : Type u_1
inst✝⁹ : CommRing R✝
I✝ : Ideal R✝
M✝ : Type u_2
inst✝⁸ : AddCommGroup M✝
inst✝⁷ : Module R✝ M✝
N : Type u_3
inst✝⁶ : AddCommGroup N
inst✝⁵ : Module R✝ N
R : Type u
inst✝⁴ : CommRing R
I : Ideal R
M : Type u
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : IsNoetherianRing R
inst✝ : Module.Finite R M
x : M
⊢ (ofTensorProductEquivOfFiniteNoetherian I M).symm ((of I M) x) = 1 ⊗ₜ[R] x
state_after: R✝ : Type u_1
inst✝⁹ : CommRing R✝
I✝ : Ideal R✝
M✝ : Type u_2
inst✝⁸ : AddCommGroup M✝
inst✝⁷ : Module R✝ M✝
N : Type u_3
inst✝⁶ : AddCommGroup N
inst✝⁵ : Module R✝ N
R : Type u
inst✝⁴ : CommRing R
I : Ideal R
M : Type u
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : IsNoetherianRing R
inst✝ : Module.Finite R M
x : M
h : (of I M) x = (ofTensorProductEquivOfFiniteNoetherian I M) (1 ⊗ₜ[R] x)
⊢ (ofTensorProductEquivOfFiniteNoetherian I M).symm ((of I M) x) = 1 ⊗ₜ[R] x
tactic: have h : (of I M) x = ofTensorProductEquivOfFiniteNoetherian I M (1 ⊗ₜ x) := by
    simp
state_before: R✝ : Type u_1
inst✝⁹ : CommRing R✝
I✝ : Ideal R✝
M✝ : Type u_2
inst✝⁸ : AddCommGroup M✝
inst✝⁷ : Module R✝ M✝
N : Type u_3
inst✝⁶ : AddCommGroup N
inst✝⁵ : Module R✝ N
R : Type u
inst✝⁴ : CommRing R
I : Ideal R
M : Type u
inst✝³ : AddCommGroup M
inst✝² : Module R M
inst✝¹ : IsNoetherianRing R
inst✝ : Module.Finite R M
x : M
h : (of I M) x = (ofTensorProductEquivOfFiniteNoetherian I M) (1 ⊗ₜ[R] x)
⊢ (ofTensorProductEquivOfFiniteNoetherian I M).symm ((of I M) x) = 1 ⊗ₜ[R] x
state_after: no goals
tactic: rw [h, LinearEquiv.symm_apply_apply]
Theorem: map_mem_minimals
File: Mathlib/Order/Minimal.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝ t : Set α
a✝ b x✝ : α
f : α → β
r : α → α → Prop
s : β → β → Prop
x : Set α
hf : ∀ ⦃a a' : α⦄, a ∈ x → a' ∈ x → (r a a' ↔ s (f a) (f a'))
a : α
ha : a ∈ minimals r x
⊢ ∀ ⦃b : β⦄, b ∈ f '' x → s b (f a) → s (f a) b
state_after: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝ t : Set α
a✝ b x✝ : α
f : α → β
r : α → α → Prop
s : β → β → Prop
x : Set α
hf : ∀ ⦃a a' : α⦄, a ∈ x → a' ∈ x → (r a a' ↔ s (f a) (f a'))
a : α
ha : a ∈ minimals r x
a' : α
h' : a' ∈ x
⊢ s (f a') (f a) → s (f a) (f a')
tactic: rintro _ ⟨a', h', rfl⟩
state_before: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝ t : Set α
a✝ b x✝ : α
f : α → β
r : α → α → Prop
s : β → β → Prop
x : Set α
hf : ∀ ⦃a a' : α⦄, a ∈ x → a' ∈ x → (r a a' ↔ s (f a) (f a'))
a : α
ha : a ∈ minimals r x
a' : α
h' : a' ∈ x
⊢ s (f a') (f a) → s (f a) (f a')
state_after: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝ t : Set α
a✝ b x✝ : α
f : α → β
r : α → α → Prop
s : β → β → Prop
x : Set α
hf : ∀ ⦃a a' : α⦄, a ∈ x → a' ∈ x → (r a a' ↔ s (f a) (f a'))
a : α
ha : a ∈ minimals r x
a' : α
h' : a' ∈ x
⊢ r a' a → r a a'
tactic: rw [← hf ha.1 h', ← hf h' ha.1]
state_before: case intro.intro
α : Type u_1
β : Type u_2
r✝ r₁ r₂ : α → α → Prop
s✝ t : Set α
a✝ b x✝ : α
f : α → β
r : α → α → Prop
s : β → β → Prop
x : Set α
hf : ∀ ⦃a a' : α⦄, a ∈ x → a' ∈ x → (r a a' ↔ s (f a) (f a'))
a : α
ha : a ∈ minimals r x
a' : α
h' : a' ∈ x
⊢ r a' a → r a a'
state_after: no goals
tactic: exact ha.2 h'
Theorem: OrthonormalBasis.volume_parallelepiped
File: Mathlib/MeasureTheory/Measure/Haar/InnerProductSpace.lean

Proof steps:
state_before: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
⊢ volume (parallelepiped ⇑b) = 1
state_after: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
⊢ volume (parallelepiped ⇑b) = 1
tactic: haveI : Fact (finrank ℝ F = finrank ℝ F) := ⟨rfl⟩
state_before: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
⊢ volume (parallelepiped ⇑b) = 1
state_after: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
o : Orientation ℝ F (Fin (finrank ℝ F)) := (stdOrthonormalBasis ℝ F).toBasis.orientation
⊢ volume (parallelepiped ⇑b) = 1
tactic: let o := (stdOrthonormalBasis ℝ F).toBasis.orientation
state_before: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
o : Orientation ℝ F (Fin (finrank ℝ F)) := (stdOrthonormalBasis ℝ F).toBasis.orientation
⊢ volume (parallelepiped ⇑b) = 1
state_after: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
o : Orientation ℝ F (Fin (finrank ℝ F)) := (stdOrthonormalBasis ℝ F).toBasis.orientation
⊢ o.volumeForm.measure (parallelepiped ⇑b) = 1
tactic: rw [← o.measure_eq_volume]
state_before: ι : Type u_1
E : Type u_2
F : Type u_3
inst✝⁵ : Fintype ι
inst✝⁴ : NormedAddCommGroup F
inst✝³ : InnerProductSpace ℝ F
inst✝² : FiniteDimensional ℝ F
inst✝¹ : MeasurableSpace F
inst✝ : BorelSpace F
b : OrthonormalBasis ι ℝ F
this : Fact (finrank ℝ F = finrank ℝ F)
o : Orientation ℝ F (Fin (finrank ℝ F)) := (stdOrthonormalBasis ℝ F).toBasis.orientation
⊢ o.volumeForm.measure (parallelepiped ⇑b) = 1
state_after: no goals
tactic: exact o.measure_orthonormalBasis b
Theorem: EuclideanGeometry.image_inversion_perpBisector
File: Mathlib/Geometry/Euclidean/Inversion/ImageHyperplane.lean

Proof steps:
state_before: V : Type u_1
P : Type u_2
inst✝³ : NormedAddCommGroup V
inst✝² : InnerProductSpace ℝ V
inst✝¹ : MetricSpace P
inst✝ : NormedAddTorsor V P
c x y : P
R : ℝ
hR : R ≠ 0
hy : y ≠ c
⊢ inversion c R '' ↑(perpBisector c y) = sphere (inversion c R y) (R ^ 2 / dist y c) \ {c}
state_after: no goals
tactic: rw [image_eq_preimage_of_inverse (inversion_involutive _ hR) (inversion_involutive _ hR),
    preimage_inversion_perpBisector hR hy]
Theorem: MeasureTheory.Measure.restrict_sInf_eq_sInf_restrict
File: Mathlib/MeasureTheory/Measure/Restrict.lean

Proof steps:
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 α
m0 : MeasurableSpace α
m : Set (Measure α)
hm : m.Nonempty
ht : MeasurableSet t
⊢ (sInf m).restrict t = sInf ((fun μ => μ.restrict t) '' m)
state_after: case h
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 α
m0 : MeasurableSpace α
m : Set (Measure α)
hm : m.Nonempty
ht : MeasurableSet t
s : Set α
hs : MeasurableSet s
⊢ ((sInf m).restrict t) s = (sInf ((fun μ => μ.restrict t) '' m)) s
tactic: ext1 s hs
state_before: case h
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 α
m0 : MeasurableSpace α
m : Set (Measure α)
hm : m.Nonempty
ht : MeasurableSet t
s : Set α
hs : MeasurableSet s
⊢ ((sInf m).restrict t) s = (sInf ((fun μ => μ.restrict t) '' m)) s
state_after: no goals
tactic: simp_rw [sInf_apply hs, restrict_apply hs, sInf_apply (MeasurableSet.inter hs ht),
    Set.image_image, restrict_toOuterMeasure_eq_toOuterMeasure_restrict ht, ←
    Set.image_image _ toOuterMeasure, ← OuterMeasure.restrict_sInf_eq_sInf_restrict _ (hm.image _),
    OuterMeasure.restrict_apply]
Theorem: CategoryTheory.Limits.IndObjectPresentation.extend_ι_app_app
File: Mathlib/CategoryTheory/Limits/Indization/IndObject.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
A✝ : Cᵒᵖ ⥤ Type v
P✝ : IndObjectPresentation A✝
A B : Cᵒᵖ ⥤ Type v
P : IndObjectPresentation A
η : A ⟶ B
inst✝ : IsIso η
⊢ P.cocone.pt ⟶ ?m.7956
state_after: no goals
tactic: exact η
Theorem: BoxIntegral.BoxAdditiveMap.volume_apply
File: Mathlib/Analysis/BoxIntegral/Partition/Measure.lean

Proof steps:
state_before: ι : Type u_1
inst✝² : Fintype ι
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
I : Box ι
x : E
⊢ (BoxAdditiveMap.volume I) x = (∏ j : ι, (I.upper j - I.lower j)) • x
state_after: ι : Type u_1
inst✝² : Fintype ι
E : Type u_2
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace ℝ E
I : Box ι
x : E
⊢ volume.toBoxAdditive I • x = (∏ j : ι, (I.upper j - I.lower j)) • x
tactic: rw [BoxAdditiveMap.volume, toSMul_apply]
Theorem: sdiff_eq_right
File: Mathlib/Order/BooleanAlgebra.lean

Proof steps:
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
⊢ x \ y = y ↔ x = ⊥ ∧ y = ⊥
state_after: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
⊢ x \ y = ⊥ ∧ y = ⊥ ↔ x = ⊥ ∧ y = ⊥
tactic: rw [disjoint_sdiff_self_left.eq_iff]
state_before: α : Type u
β : Type u_1
w x y z : α
inst✝ : GeneralizedBooleanAlgebra α
⊢ x \ y = ⊥ ∧ y = ⊥ ↔ x = ⊥ ∧ y = ⊥
state_after: no goals
tactic: aesop
Theorem: CategoryTheory.Subobject.ofMkLE_arrow
File: Mathlib/CategoryTheory/Subobject/Basic.lean

Proof steps:
state_before: C : Type u₁
inst✝² : Category.{v₁, u₁} C
X✝ Y Z : C
D : Type u₂
inst✝¹ : Category.{v₂, u₂} D
B A : C
f : A ⟶ B
inst✝ : Mono f
X : Subobject B
h : mk f ≤ X
⊢ ofMkLE f X h ≫ X.arrow = f
state_after: no goals
tactic: simp [ofMkLE]
Theorem: Multiset.equivDFinsupp_symm_apply
File: Mathlib/Data/DFinsupp/Multiset.lean

Proof steps:
state_before: α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
⊢ DFinsupp.toMultiset.comp toDFinsupp = AddMonoidHom.id (Multiset α)
state_after: case h.a
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
x✝ a✝ : α
⊢ count a✝ ((DFinsupp.toMultiset.comp toDFinsupp) {x✝}) = count a✝ ((AddMonoidHom.id (Multiset α)) {x✝})
tactic: ext
state_before: case h.a
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
x✝ a✝ : α
⊢ count a✝ ((DFinsupp.toMultiset.comp toDFinsupp) {x✝}) = count a✝ ((AddMonoidHom.id (Multiset α)) {x✝})
state_after: no goals
tactic: simp
state_before: α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
⊢ toDFinsupp.comp DFinsupp.toMultiset = AddMonoidHom.id (Π₀ (x : α), ℕ)
state_after: case H.a.h
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
x✝ i✝ : α
⊢ (((toDFinsupp.comp DFinsupp.toMultiset).comp (DFinsupp.singleAddHom (fun i => ℕ) x✝)) 1) i✝ =
    (((AddMonoidHom.id (Π₀ (x : α), ℕ)).comp (DFinsupp.singleAddHom (fun i => ℕ) x✝)) 1) i✝
tactic: ext
state_before: case H.a.h
α : Type u_1
β : α → Type u_2
inst✝ : DecidableEq α
s t : Multiset α
x✝ i✝ : α
⊢ (((toDFinsupp.comp DFinsupp.toMultiset).comp (DFinsupp.singleAddHom (fun i => ℕ) x✝)) 1) i✝ =
    (((AddMonoidHom.id (Π₀ (x : α), ℕ)).comp (DFinsupp.singleAddHom (fun i => ℕ) x✝)) 1) i✝
state_after: no goals
tactic: simp
Theorem: CategoryTheory.ShortComplex.rightHomologyMap_nullHomotopic
File: Mathlib/Algebra/Homology/ShortComplex/Preadditive.lean

Proof steps:
state_before: C : Type u_1
inst✝³ : Category.{u_2, u_1} C
inst✝² : Preadditive C
S₁ S₂ S₃ : ShortComplex C
φ₁ φ₂ φ₃ φ₄ : S₁ ⟶ S₂
inst✝¹ : S₁.HasRightHomology
inst✝ : S₂.HasRightHomology
h₀ : S₁.X₁ ⟶ S₂.X₁
h₀_f : h₀ ≫ S₂.f = 0
h₁ : S₁.X₂ ⟶ S₂.X₁
h₂ : S₁.X₃ ⟶ S₂.X₂
h₃ : S₁.X₃ ⟶ S₂.X₃
g_h₃ : S₁.g ≫ h₃ = 0
⊢ rightHomologyMap (S₁.nullHomotopic S₂ h₀ h₀_f h₁ h₂ h₃ g_h₃) = 0
state_after: no goals
tactic: apply rightHomologyMap'_nullHomotopic