ruc-ai4math/mathlib_handler_benchmark_410 huggingface dataset:
Theorem: CliffordAlgebra.toBaseChange_comp_ofBaseChange
File: Mathlib/LinearAlgebra/CliffordAlgebra/BaseChange.lean

Proof steps:
state_before: R : Type u_1
A : Type u_2
V : Type u_3
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : AddCommGroup V
inst✝⁴ : Algebra R A
inst✝³ : Module R V
inst✝² : Module A V
inst✝¹ : IsScalarTower R A V
inst✝ : Invertible 2
Q : QuadraticForm R V
⊢ (toBaseChange A Q).comp (ofBaseChange A Q) = AlgHom.id A (A ⊗[R] CliffordAlgebra Q)
state_after: case hb.a.h
R : Type u_1
A : Type u_2
V : Type u_3
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : AddCommGroup V
inst✝⁴ : Algebra R A
inst✝³ : Module R V
inst✝² : Module A V
inst✝¹ : IsScalarTower R A V
inst✝ : Invertible 2
Q : QuadraticForm R V
v : V
⊢ (((AlgHom.restrictScalars R ((toBaseChange A Q).comp (ofBaseChange A Q))).comp
            Algebra.TensorProduct.includeRight).toLinearMap ∘ₗ
        ι Q)
      v =
    (((AlgHom.restrictScalars R (AlgHom.id A (A ⊗[R] CliffordAlgebra Q))).comp
            Algebra.TensorProduct.includeRight).toLinearMap ∘ₗ
        ι Q)
      v
tactic: ext v
state_before: case hb.a.h
R : Type u_1
A : Type u_2
V : Type u_3
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : AddCommGroup V
inst✝⁴ : Algebra R A
inst✝³ : Module R V
inst✝² : Module A V
inst✝¹ : IsScalarTower R A V
inst✝ : Invertible 2
Q : QuadraticForm R V
v : V
⊢ (((AlgHom.restrictScalars R ((toBaseChange A Q).comp (ofBaseChange A Q))).comp
            Algebra.TensorProduct.includeRight).toLinearMap ∘ₗ
        ι Q)
      v =
    (((AlgHom.restrictScalars R (AlgHom.id A (A ⊗[R] CliffordAlgebra Q))).comp
            Algebra.TensorProduct.includeRight).toLinearMap ∘ₗ
        ι Q)
      v
state_after: case hb.a.h
R : Type u_1
A : Type u_2
V : Type u_3
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : AddCommGroup V
inst✝⁴ : Algebra R A
inst✝³ : Module R V
inst✝² : Module A V
inst✝¹ : IsScalarTower R A V
inst✝ : Invertible 2
Q : QuadraticForm R V
v : V
⊢ (toBaseChange A Q) ((ofBaseChange A Q) (1 ⊗ₜ[R] (ι Q) v)) = 1 ⊗ₜ[R] (ι Q) v
tactic: change toBaseChange A Q (ofBaseChange A Q (1 ⊗ₜ[R] ι Q v)) = 1 ⊗ₜ[R] ι Q v
state_before: case hb.a.h
R : Type u_1
A : Type u_2
V : Type u_3
inst✝⁷ : CommRing R
inst✝⁶ : CommRing A
inst✝⁵ : AddCommGroup V
inst✝⁴ : Algebra R A
inst✝³ : Module R V
inst✝² : Module A V
inst✝¹ : IsScalarTower R A V
inst✝ : Invertible 2
Q : QuadraticForm R V
v : V
⊢ (toBaseChange A Q) ((ofBaseChange A Q) (1 ⊗ₜ[R] (ι Q) v)) = 1 ⊗ₜ[R] (ι Q) v
state_after: no goals
tactic: rw [ofBaseChange_tmul_ι, toBaseChange_ι]
Theorem: Nat.smoothNumbers_compl
File: Mathlib/NumberTheory/SmoothNumbers.lean

Proof steps:
state_before: N : ℕ
⊢ N.smoothNumbersᶜ \ {0} ⊆ {n | N ≤ n}
state_after: no goals
tactic: simpa only [smoothNumbers_eq_factoredNumbers]
    using factoredNumbers_compl <| Finset.filter_subset _ (Finset.range N)
Theorem: CategoryTheory.Limits.diagramIsoSpan_hom_app
File: Mathlib/CategoryTheory/Limits/Shapes/Pullback/Cospan.lean

Proof steps:
state_before: C : Type u
inst✝ : Category.{v, u} C
F : WalkingSpan ⥤ C
j : WalkingSpan
⊢ F.obj j = (span (F.map fst) (F.map snd)).obj j
state_after: no goals
tactic: rcases j with (⟨⟩ | ⟨⟨⟩⟩) <;> rfl
state_before: C : Type u
inst✝ : Category.{v, u} C
F : WalkingSpan ⥤ C
⊢ ∀ {X Y : WalkingSpan} (f : X ⟶ Y),
    F.map f ≫ ((fun j => eqToIso ⋯) Y).hom = ((fun j => eqToIso ⋯) X).hom ≫ (span (F.map fst) (F.map snd)).map f
state_after: no goals
tactic: rintro (⟨⟩ | ⟨⟨⟩⟩) (⟨⟩ | ⟨⟨⟩⟩) f <;> cases f <;> dsimp <;> simp
Theorem: MeasureTheory.MeasurePreserving.lintegral_comp_emb
File: Mathlib/MeasureTheory/Integral/Lebesgue.lean

Proof steps:
state_before: α : Type u_1
β : Type u_2
γ : Type u_3
δ : Type u_4
m : MeasurableSpace α
μ ν✝ : Measure α
mb : MeasurableSpace β
ν : Measure β
g : α → β
hg : MeasurePreserving g μ ν
hge : MeasurableEmbedding g
f : β → ℝ≥0∞
⊢ ∫⁻ (a : α), f (g a) ∂μ = ∫⁻ (b : β), f b ∂ν
state_after: no goals
tactic: rw [← hg.map_eq, hge.lintegral_map]
Theorem: LinearMap.quotientInfEquivSupQuotient_symm_apply_eq_zero_iff
File: Mathlib/LinearAlgebra/Isomorphisms.lean

Proof steps:
state_before: R : Type u_1
M : Type u_2
M₂ : Type u_3
M₃ : Type u_4
inst✝⁶ : Ring R
inst✝⁵ : AddCommGroup M
inst✝⁴ : AddCommGroup M₂
inst✝³ : AddCommGroup M₃
inst✝² : Module R M
inst✝¹ : Module R M₂
inst✝ : Module R M₃
f : M →ₗ[R] M₂
p p' : Submodule R M
x : ↥(p ⊔ p')
⊢ Submodule.Quotient.mk x = (quotientInfEquivSupQuotient p p') 0 ↔ ↑x ∈ p'
state_after: no goals
tactic: rw [_root_.map_zero, Quotient.mk_eq_zero, mem_comap, Submodule.coeSubtype]
Theorem: IsFractionRing.mul_inv_cancel
File: Mathlib/RingTheory/Localization/FractionRing.lean

Proof steps:
state_before: R : Type u_1
inst✝¹⁰ : CommRing R
M : Submonoid R
S : Type u_2
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
P : Type u_3
inst✝⁷ : CommRing P
A : Type u_4
inst✝⁶ : CommRing A
inst✝⁵ : IsDomain A
K : Type u_5
inst✝⁴ : CommRing K
inst✝³ : Algebra R K
inst✝² : IsFractionRing R K
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
x : K
hx : x ≠ 0
⊢ x * IsFractionRing.inv A x = 1
state_after: R : Type u_1
inst✝¹⁰ : CommRing R
M : Submonoid R
S : Type u_2
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
P : Type u_3
inst✝⁷ : CommRing P
A : Type u_4
inst✝⁶ : CommRing A
inst✝⁵ : IsDomain A
K : Type u_5
inst✝⁴ : CommRing K
inst✝³ : Algebra R K
inst✝² : IsFractionRing R K
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
x : K
hx : x ≠ 0
⊢ x *
      (mk' K ↑(sec (nonZeroDivisors A) x).2 ⟨(sec (nonZeroDivisors A) x).1, ⋯⟩ *
        (algebraMap A K) ↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩) =
    (algebraMap A K) ↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩
tactic: rw [IsFractionRing.inv, dif_neg hx, ←
    IsUnit.mul_left_inj
      (map_units K
        ⟨(sec _ x).1,
          mem_nonZeroDivisors_iff_ne_zero.2 fun h0 =>
            hx <| eq_zero_of_fst_eq_zero (sec_spec (nonZeroDivisors A) x) h0⟩),
    one_mul, mul_assoc]
state_before: R : Type u_1
inst✝¹⁰ : CommRing R
M : Submonoid R
S : Type u_2
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
P : Type u_3
inst✝⁷ : CommRing P
A : Type u_4
inst✝⁶ : CommRing A
inst✝⁵ : IsDomain A
K : Type u_5
inst✝⁴ : CommRing K
inst✝³ : Algebra R K
inst✝² : IsFractionRing R K
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
x : K
hx : x ≠ 0
⊢ x *
      (mk' K ↑(sec (nonZeroDivisors A) x).2 ⟨(sec (nonZeroDivisors A) x).1, ⋯⟩ *
        (algebraMap A K) ↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩) =
    (algebraMap A K) ↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩
state_after: R : Type u_1
inst✝¹⁰ : CommRing R
M : Submonoid R
S : Type u_2
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
P : Type u_3
inst✝⁷ : CommRing P
A : Type u_4
inst✝⁶ : CommRing A
inst✝⁵ : IsDomain A
K : Type u_5
inst✝⁴ : CommRing K
inst✝³ : Algebra R K
inst✝² : IsFractionRing R K
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
x : K
hx : x ≠ 0
⊢ x = mk' K (↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩) (sec (nonZeroDivisors A) x).2
tactic: rw [mk'_spec, ← eq_mk'_iff_mul_eq]
state_before: R : Type u_1
inst✝¹⁰ : CommRing R
M : Submonoid R
S : Type u_2
inst✝⁹ : CommRing S
inst✝⁸ : Algebra R S
P : Type u_3
inst✝⁷ : CommRing P
A : Type u_4
inst✝⁶ : CommRing A
inst✝⁵ : IsDomain A
K : Type u_5
inst✝⁴ : CommRing K
inst✝³ : Algebra R K
inst✝² : IsFractionRing R K
inst✝¹ : Algebra A K
inst✝ : IsFractionRing A K
x : K
hx : x ≠ 0
⊢ x = mk' K (↑⟨(sec (nonZeroDivisors A) x).1, ⋯⟩) (sec (nonZeroDivisors A) x).2
state_after: no goals
tactic: exact (mk'_sec _ x).symm
Theorem: Euclidean.nhds_basis_closedBall
File: Mathlib/Analysis/InnerProductSpace/EuclideanDist.lean

Proof steps:
state_before: E : Type u_1
inst✝⁶ : AddCommGroup E
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalAddGroup E
inst✝³ : T2Space E
inst✝² : Module ℝ E
inst✝¹ : ContinuousSMul ℝ E
inst✝ : FiniteDimensional ℝ E
x : E
⊢ (𝓝 x).HasBasis (fun r => 0 < r) (closedBall x)
state_after: E : Type u_1
inst✝⁶ : AddCommGroup E
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalAddGroup E
inst✝³ : T2Space E
inst✝² : Module ℝ E
inst✝¹ : ContinuousSMul ℝ E
inst✝ : FiniteDimensional ℝ E
x : E
⊢ (Filter.comap (⇑toEuclidean.toHomeomorph) (𝓝 (toEuclidean.toHomeomorph x))).HasBasis (fun r => 0 < r) (closedBall x)
tactic: rw [toEuclidean.toHomeomorph.nhds_eq_comap x]
state_before: E : Type u_1
inst✝⁶ : AddCommGroup E
inst✝⁵ : TopologicalSpace E
inst✝⁴ : TopologicalAddGroup E
inst✝³ : T2Space E
inst✝² : Module ℝ E
inst✝¹ : ContinuousSMul ℝ E
inst✝ : FiniteDimensional ℝ E
x : E
⊢ (Filter.comap (⇑toEuclidean.toHomeomorph) (𝓝 (toEuclidean.toHomeomorph x))).HasBasis (fun r => 0 < r) (closedBall x)
state_after: no goals
tactic: exact Metric.nhds_basis_closedBall.comap _
Theorem: Polynomial.eval₂_map
File: Mathlib/Algebra/Polynomial/Eval.lean

Proof steps:
state_before: R : Type u
S : Type v
T : Type w
ι : Type y
a b : R
m n : ℕ
inst✝² : Semiring R
p q r : R[X]
inst✝¹ : Semiring S
f : R →+* S
inst✝ : Semiring T
g : S →+* T
x : T
⊢ eval₂ g x (map f p) = eval₂ (g.comp f) x p
state_after: no goals
tactic: rw [eval₂_eq_eval_map, eval₂_eq_eval_map, map_map]
Theorem: WeakDual.CharacterSpace.union_zero
File: Mathlib/Topology/Algebra/Module/CharacterSpace.lean

Proof steps:
state_before: 𝕜 : Type u_1
A : Type u_2
inst✝⁶ : CommSemiring 𝕜
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : ContinuousAdd 𝕜
inst✝³ : ContinuousConstSMul 𝕜 𝕜
inst✝² : NonUnitalNonAssocSemiring A
inst✝¹ : TopologicalSpace A
inst✝ : Module 𝕜 A
⊢ characterSpace 𝕜 A ∪ {0} ≤ {φ | ∀ (x y : A), φ (x * y) = φ x * φ y}
state_after: case inl
𝕜 : Type u_1
A : Type u_2
inst✝⁶ : CommSemiring 𝕜
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : ContinuousAdd 𝕜
inst✝³ : ContinuousConstSMul 𝕜 𝕜
inst✝² : NonUnitalNonAssocSemiring A
inst✝¹ : TopologicalSpace A
inst✝ : Module 𝕜 A
φ : WeakDual 𝕜 A
hφ : φ ∈ characterSpace 𝕜 A
⊢ φ ∈ {φ | ∀ (x y : A), φ (x * y) = φ x * φ y}

case inr
𝕜 : Type u_1
A : Type u_2
inst✝⁶ : CommSemiring 𝕜
inst✝⁵ : TopologicalSpace 𝕜
inst✝⁴ : ContinuousAdd 𝕜
inst✝³ : ContinuousConstSMul 𝕜 𝕜
inst✝² : NonUnitalNonAssocSemiring A
inst✝¹ : TopologicalSpace A
inst✝ : Module 𝕜 A
⊢ 0 ∈ {φ | ∀ (x y : A), φ (x * y) = φ x * φ y}
tactic: rintro φ (hφ | rfl)
Theorem: Orientation.tan_oangle_add_right_mul_norm_of_oangle_eq_pi_div_two
File: Mathlib/Geometry/Euclidean/Angle/Oriented/RightAngle.lean

Proof steps:
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 (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 x y = ↑(π / 2)
hs : (o.oangle x (x + y)).sign = 1
⊢ (o.oangle x (x + y)).tan * ‖x‖ = ‖y‖
tactic: have hs : (o.oangle x (x + y)).sign = 1 := by
    rw [oangle_sign_add_right, h, Real.Angle.sign_coe_pi_div_two]
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)
hs : (o.oangle x (x + y)).sign = 1
⊢ (o.oangle x (x + y)).tan * ‖x‖ = ‖y‖
state_after: no goals
tactic: rw [o.oangle_eq_angle_of_sign_eq_one hs, Real.Angle.tan_coe,
    InnerProductGeometry.tan_angle_add_mul_norm_of_inner_eq_zero
      (o.inner_eq_zero_of_oangle_eq_pi_div_two h)
      (Or.inl (o.left_ne_zero_of_oangle_eq_pi_div_two h))]
Theorem: Localization.add_mk_self
File: Mathlib/RingTheory/Localization/Basic.lean

Proof steps:
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ mk a b + mk c b = mk (a + c) b
state_after: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ (r' M) (↑b * c + ↑b * a, b * b) (a + c, b)
tactic: rw [add_mk, mk_eq_mk_iff, r_eq_r']
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ (r' M) (↑b * c + ↑b * a, b * b) (a + c, b)
state_after: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ ↑1 * (↑(↑b * c + ↑b * a, b * b).2 * (a + c, b).1) = ↑1 * (↑(a + c, b).2 * (↑b * c + ↑b * a, b * b).1)
tactic: refine (r' M).symm ⟨1, ?_⟩
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ ↑1 * (↑(↑b * c + ↑b * a, b * b).2 * (a + c, b).1) = ↑1 * (↑(a + c, b).2 * (↑b * c + ↑b * a, b * b).1)
state_after: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ 1 * (↑b * ↑b * (a + c)) = 1 * (↑b * (↑b * c + ↑b * a))
tactic: simp only [Submonoid.coe_one, Submonoid.coe_mul]
state_before: R : Type u_1
inst✝³ : CommSemiring R
M : Submonoid R
S : Type u_2
inst✝² : CommSemiring S
inst✝¹ : Algebra R S
P : Type u_3
inst✝ : CommSemiring P
a : R
b : ↥M
c : R
⊢ 1 * (↑b * ↑b * (a + c)) = 1 * (↑b * (↑b * c + ↑b * a))
state_after: no goals
tactic: ring
Theorem: contMDiff_iff
File: Mathlib/Geometry/Manifold/ContMDiff/Defs.lean

Proof steps:
state_before: 𝕜 : Type u_1
inst✝³⁷ : NontriviallyNormedField 𝕜
E : Type u_2
inst✝³⁶ : NormedAddCommGroup E
inst✝³⁵ : NormedSpace 𝕜 E
H : Type u_3
inst✝³⁴ : TopologicalSpace H
I : ModelWithCorners 𝕜 E H
M : Type u_4
inst✝³³ : TopologicalSpace M
inst✝³² : ChartedSpace H M
inst✝³¹ : SmoothManifoldWithCorners I M
E' : Type u_5
inst✝³⁰ : NormedAddCommGroup E'
inst✝²⁹ : NormedSpace 𝕜 E'
H' : Type u_6
inst✝²⁸ : TopologicalSpace H'
I' : ModelWithCorners 𝕜 E' H'
M' : Type u_7
inst✝²⁷ : TopologicalSpace M'
inst✝²⁶ : ChartedSpace H' M'
inst✝²⁵ : SmoothManifoldWithCorners I' M'
E'' : Type u_8
inst✝²⁴ : NormedAddCommGroup E''
inst✝²³ : NormedSpace 𝕜 E''
H'' : Type u_9
inst✝²² : TopologicalSpace H''
I'' : ModelWithCorners 𝕜 E'' H''
M'' : Type u_10
inst✝²¹ : TopologicalSpace M''
inst✝²⁰ : ChartedSpace H'' M''
F : Type u_11
inst✝¹⁹ : NormedAddCommGroup F
inst✝¹⁸ : NormedSpace 𝕜 F
G : Type u_12
inst✝¹⁷ : TopologicalSpace G
J : ModelWithCorners 𝕜 F G
N : Type u_13
inst✝¹⁶ : TopologicalSpace N
inst✝¹⁵ : ChartedSpace G N
inst✝¹⁴ : SmoothManifoldWithCorners J N
F' : Type u_14
inst✝¹³ : NormedAddCommGroup F'
inst✝¹² : NormedSpace 𝕜 F'
G' : Type u_15
inst✝¹¹ : TopologicalSpace G'
J' : ModelWithCorners 𝕜 F' G'
N' : Type u_16
inst✝¹⁰ : TopologicalSpace N'
inst✝⁹ : ChartedSpace G' N'
inst✝⁸ : SmoothManifoldWithCorners J' N'
F₁ : Type u_17
inst✝⁷ : NormedAddCommGroup F₁
inst✝⁶ : NormedSpace 𝕜 F₁
F₂ : Type u_18
inst✝⁵ : NormedAddCommGroup F₂
inst✝⁴ : NormedSpace 𝕜 F₂
F₃ : Type u_19
inst✝³ : NormedAddCommGroup F₃
inst✝² : NormedSpace 𝕜 F₃
F₄ : Type u_20
inst✝¹ : NormedAddCommGroup F₄
inst✝ : NormedSpace 𝕜 F₄
e : PartialHomeomorph M H
e' : PartialHomeomorph M' H'
f f₁ : M → M'
s s₁ t : Set M
x : M
m n : ℕ∞
⊢ ContMDiff I I' n f ↔
    Continuous f ∧
      ∀ (x : M) (y : M'),
        ContDiffOn 𝕜 n (↑(extChartAt I' y) ∘ f ∘ ↑(extChartAt I x).symm)
          ((extChartAt I x).target ∩ ↑(extChartAt I x).symm ⁻¹' (f ⁻¹' (extChartAt I' y).source))
state_after: no goals
tactic: simp [← contMDiffOn_univ, contMDiffOn_iff, continuous_iff_continuousOn_univ]
Theorem: im_inner_eq_norm_sub_i_smul_mul_self_sub_norm_add_i_smul_mul_self_div_four
File: Mathlib/Analysis/InnerProductSpace/Basic.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ im ⟪x, y⟫_𝕜 = (‖x - I • y‖ * ‖x - I • y‖ - ‖x + I • y‖ * ‖x + I • y‖) / 4
state_after: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ im ⟪x, y⟫_𝕜 =
    (‖x‖ * ‖x‖ - 2 * -im ⟪x, y⟫_𝕜 + ‖I • y‖ * ‖I • y‖ - (‖x‖ * ‖x‖ + 2 * -im ⟪x, y⟫_𝕜 + ‖I • y‖ * ‖I • y‖)) / 4
tactic: simp only [@norm_add_mul_self 𝕜, @norm_sub_mul_self 𝕜, inner_smul_right, I_mul_re]
state_before: 𝕜 : Type u_1
E : Type u_2
F : Type u_3
inst✝⁴ : _root_.RCLike 𝕜
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace 𝕜 E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
x y : E
⊢ im ⟪x, y⟫_𝕜 =
    (‖x‖ * ‖x‖ - 2 * -im ⟪x, y⟫_𝕜 + ‖I • y‖ * ‖I • y‖ - (‖x‖ * ‖x‖ + 2 * -im ⟪x, y⟫_𝕜 + ‖I • y‖ * ‖I • y‖)) / 4
state_after: no goals
tactic: ring
Theorem: AlgebraicGeometry.StructureSheaf.comap_id'
File: Mathlib/AlgebraicGeometry/StructureSheaf.lean

Proof steps:
state_before: R : Type u
inst✝² : CommRing R
S : Type u
inst✝¹ : CommRing S
P : Type u
inst✝ : CommRing P
U : Opens ↑(PrimeSpectrum.Top R)
p : ↑(PrimeSpectrum.Top R)
hpU : p ∈ U.carrier
⊢ p ∈ ⇑(PrimeSpectrum.comap (RingHom.id R)) ⁻¹' U.carrier
state_after: no goals
tactic: rwa [PrimeSpectrum.comap_id]
state_before: R : Type u
inst✝² : CommRing R
S : Type u
inst✝¹ : CommRing S
P : Type u
inst✝ : CommRing P
U : Opens ↑(PrimeSpectrum.Top R)
⊢ comap (RingHom.id R) U U ⋯ = RingHom.id ↑((structureSheaf R).val.obj (op U))
state_after: R : Type u
inst✝² : CommRing R
S : Type u
inst✝¹ : CommRing S
P : Type u
inst✝ : CommRing P
U : Opens ↑(PrimeSpectrum.Top R)
⊢ eqToHom ⋯ = RingHom.id ↑((structureSheaf R).val.obj (op U))
tactic: rw [comap_id rfl]
state_before: R : Type u
inst✝² : CommRing R
S : Type u
inst✝¹ : CommRing S
P : Type u
inst✝ : CommRing P
U : Opens ↑(PrimeSpectrum.Top R)
⊢ eqToHom ⋯ = RingHom.id ↑((structureSheaf R).val.obj (op U))
state_after: no goals
tactic: rfl
Theorem: Equiv.piFinSuccAbove_apply
File: Mathlib/Logic/Equiv/Fin.lean

Proof steps:
state_before: m n : ℕ
α : Fin (n + 1) → Type u
i : Fin (n + 1)
f : (j : Fin (n + 1)) → α j
⊢ (fun f => i.insertNth f.1 f.2) ((fun f => (f i, i.removeNth f)) f) = f
state_after: no goals
tactic: simp
state_before: m n : ℕ
α : Fin (n + 1) → Type u
i : Fin (n + 1)
f : α i × ((j : Fin n) → α (i.succAbove j))
⊢ (fun f => (f i, i.removeNth f)) ((fun f => i.insertNth f.1 f.2) f) = f
state_after: no goals
tactic: simp
Theorem: span_gramSchmidtNormed
File: Mathlib/Analysis/InnerProductSpace/GramSchmidtOrtho.lean

Proof steps:
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
⊢ span 𝕜 (gramSchmidtNormed 𝕜 f '' s) = span 𝕜 (gramSchmidt 𝕜 f '' s)
state_after: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 (gramSchmidtNormed 𝕜 f '' ↑{i})
tactic: refine span_eq_span
    (Set.image_subset_iff.2 fun i hi => smul_mem _ _ <| subset_span <| mem_image_of_mem _ hi)
    (Set.image_subset_iff.2 fun i hi =>
      span_mono (image_subset _ <| singleton_subset_set_iff.2 hi) ?_)
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 (gramSchmidtNormed 𝕜 f '' ↑{i})
state_after: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 {gramSchmidtNormed 𝕜 f i}
tactic: simp only [coe_singleton, Set.image_singleton]
state_before: 𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 {gramSchmidtNormed 𝕜 f i}
state_after: case pos
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
h : gramSchmidt 𝕜 f i = 0
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 {gramSchmidtNormed 𝕜 f i}

case neg
𝕜 : Type u_1
E : Type u_2
inst✝⁵ : RCLike 𝕜
inst✝⁴ : NormedAddCommGroup E
inst✝³ : InnerProductSpace 𝕜 E
ι : Type u_3
inst✝² : LinearOrder ι
inst✝¹ : LocallyFiniteOrderBot ι
inst✝ : IsWellOrder ι fun x x_1 => x < x_1
f : ι → E
s : Set ι
i : ι
hi : i ∈ s
h : ¬gramSchmidt 𝕜 f i = 0
⊢ gramSchmidt 𝕜 f i ∈ span 𝕜 {gramSchmidtNormed 𝕜 f i}
tactic: by_cases h : gramSchmidt 𝕜 f i = 0
Theorem: AddMonoidAlgebra.mapDomain_algebraMap
File: Mathlib/Algebra/MonoidAlgebra/Basic.lean

Proof steps:
state_before: k : Type u₁
G : Type u₂
H✝ : Type u_1
R : Type u_2
A : Type u_3
H : Type u_4
F : Type u_5
inst✝⁶ : CommSemiring k
inst✝⁵ : Semiring A
inst✝⁴ : Algebra k A
inst✝³ : AddMonoid G
inst✝² : AddMonoid H
inst✝¹ : FunLike F G H
inst✝ : AddMonoidHomClass F G H
f : F
r : k
⊢ mapDomain (⇑f) ((algebraMap k A[G]) r) = (algebraMap k A[H]) r
state_after: no goals
tactic: simp only [Function.comp_apply, mapDomain_single, AddMonoidAlgebra.coe_algebraMap, map_zero]
Theorem: Zspan.fundamentalDomain_reindex
File: Mathlib/Algebra/Module/Zlattice/Basic.lean

Proof steps:
state_before: E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
⊢ fundamentalDomain (b.reindex e) = fundamentalDomain b
state_after: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ x✝ ∈ fundamentalDomain (b.reindex e) ↔ x✝ ∈ fundamentalDomain b
tactic: ext
state_before: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ x✝ ∈ fundamentalDomain (b.reindex e) ↔ x✝ ∈ fundamentalDomain b
state_after: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ (∀ (i : ι'), (b.repr x✝) (e.symm i) ∈ Set.Ico 0 1) ↔ ∀ (i : ι), (b.repr x✝) i ∈ Set.Ico 0 1
tactic: simp_rw [mem_fundamentalDomain, Basis.repr_reindex_apply]
state_before: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ (∀ (i : ι'), (b.repr x✝) (e.symm i) ∈ Set.Ico 0 1) ↔ ∀ (i : ι), (b.repr x✝) i ∈ Set.Ico 0 1
state_after: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ ∀ (b_1 : ι'), (b.repr x✝) (e.symm b_1) ∈ Set.Ico 0 1 ↔ (b.repr x✝) (e.symm b_1) ∈ Set.Ico 0 1
tactic: rw [Equiv.forall_congr' e]
state_before: case h
E : Type u_1
ι : Type u_2
K : Type u_3
inst✝² : NormedLinearOrderedField K
inst✝¹ : NormedAddCommGroup E
inst✝ : NormedSpace K E
b : Basis ι K E
ι' : Type u_4
e : ι ≃ ι'
x✝ : E
⊢ ∀ (b_1 : ι'), (b.repr x✝) (e.symm b_1) ∈ Set.Ico 0 1 ↔ (b.repr x✝) (e.symm b_1) ∈ Set.Ico 0 1
state_after: no goals
tactic: simp_rw [implies_true]
Theorem: CategoryTheory.ChosenFiniteProducts.associator_inv_fst
File: Mathlib/CategoryTheory/ChosenFiniteProducts.lean

Proof steps:
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : ChosenFiniteProducts C
X Y Z : C
⊢ (α_ X Y Z).inv ≫ fst (X ⊗ Y) Z ≫ fst X Y = fst X (Y ⊗ Z)
state_after: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : ChosenFiniteProducts C
X Y Z : C
⊢ Limits.BinaryFan.fst (product X (product Y Z).cone.pt).cone = fst X (Y ⊗ Z)
tactic: erw [lift_fst_assoc, lift_fst]
state_before: C : Type u
inst✝¹ : Category.{v, u} C
inst✝ : ChosenFiniteProducts C
X Y Z : C
⊢ Limits.BinaryFan.fst (product X (product Y Z).cone.pt).cone = fst X (Y ⊗ Z)
state_after: no goals
tactic: rfl