@@ -35,7 +35,7 @@ abbrev PointedCone (R E)
3535
3636namespace PointedCone
3737
38- open Function Submodule
38+ open Function Submodule Pointwise
3939
4040open scoped Pointwise
4141
@@ -51,11 +51,18 @@ instance : Coe (Submodule R E) (PointedCone R E) := ⟨ofSubmodule⟩
5151
5252@[simp] lemma coe_ofSubmodule (S : Submodule R E) : (ofSubmodule S : Set E) = S := rfl
5353
54- lemma mem_ofSubmodule_iff {S : Submodule R E} {x : E} : x ∈ (S : PointedCone R E) ↔ x ∈ S := by rfl
54+ lemma mem_ofSubmodule_iff {S : Submodule R E} {x : E} : x ∈ (S : PointedCone R E) ↔ x ∈ S := . rfl
5555
5656lemma ofSubmodule_inj {S T : Submodule R E} : ofSubmodule S = ofSubmodule T ↔ S = T :=
5757 restrictScalars_inj ..
5858
59+ lemma ofSubmodule_le_ofSubmodule {S T : Submodule R E} : ofSubmodule S ≤ ofSubmodule T ↔ S ≤ T :=
60+ .rfl
61+
62+ lemma ofSubmodule_lt_ofSubmodule {S T : Submodule R E} : ofSubmodule S < ofSubmodule T ↔ S < T :=
63+ .rfl
64+
65+ set_option backward.isDefEq.respectTransparency false in
5966/-- Coercion from submodules to pointed cones as an order embedding. -/
6067abbrev ofSubmoduleEmbedding : Submodule R E ↪o PointedCone R E :=
6168 restrictScalarsEmbedding ..
@@ -85,7 +92,8 @@ lemma ofSubmodule_iSup (s : Set (Submodule R E)) : ⨆ S ∈ s, S = ⨆ S ∈ s,
8592variable {R E : Type *}
8693variable [Semiring R] [PartialOrder R] [IsOrderedRing R] [AddCommGroup E] [Module R E]
8794
88- lemma neg_ofSubmodule (S : Submodule R E) : -(ofSubmodule S) = ofSubmodule (-S) :=
95+ set_option backward.isDefEq.respectTransparency false in
96+ lemma neg_ofSubmodule (S : Submodule R E) : -(ofSubmodule S) = ofSubmodule (-S) :=
8997 neg_restrictScalars S
9098
9199end Submodule
@@ -180,6 +188,10 @@ lemma subset_hull {s : Set E} : s ⊆ PointedCone.hull R s := subset_span
180188@ [deprecated "`PointedCone.span` was renamed to `PointedCone.hull`" (since := "2026-03-22" )]
181189alias subset_span := subset_hull
182190
191+ set_option backward.isDefEq.respectTransparency false in
192+ variable (R) in
193+ lemma hull_le_span (s : Set E) : hull R s ≤ span R s := span_le_restrictScalars R≥0 R s
194+
183195/-- Elements of the cone hull are expressible as conical combination of elements from s. -/
184196lemma mem_hull_set {s : Set E} : x ∈ hull R s ↔
185197 ∃ c : E →₀ R, ↑c.support ⊆ s ∧ (∀ y, 0 ≤ c y) ∧ c.sum (fun m r => r • m) = x := by
@@ -321,17 +333,12 @@ def lineal (C : PointedCone R E) : Submodule R E where
321333 · simpa using And.intro (C.smul_mem hr hx.1 ) (C.smul_mem hr hx.2 )
322334 · have hr := le_of_lt <| neg_pos_of_neg <| lt_of_not_ge hr
323335 simpa using And.intro (C.smul_mem hr hx.2 ) (C.smul_mem hr hx.1 )
324- @[simp]
325- lemma ofSubmodule_lineal (C : PointedCone R E) : C.lineal = C ⊓ -C :=
326- rfl
327336
328- @[simp]
329- lemma mem_lineal {C : PointedCone R E} {x : E} : x ∈ C.lineal ↔ x ∈ C ∧ -x ∈ C := by
330- rfl
337+ @[simp] lemma ofSubmodule_lineal (C : PointedCone R E) : C.lineal = C ⊓ -C := rfl
331338
332- @[simp]
333- theorem support_eq {C : PointedCone R E} : C.support = C.lineal.toAddSubgroup :=
334- rfl
339+ @[simp] lemma mem_lineal {C : PointedCone R E} {x : E} : x ∈ C.lineal ↔ x ∈ C ∧ -x ∈ C := .rfl
340+
341+ @[simp] theorem support_eq (C : PointedCone R E) : C.support = C.lineal.toAddSubgroup := rfl
335342
336343/-- The lineality space of a cone is the largest submodule contained in the cone. -/
337344theorem gc_ofSubmodule_lineal :
@@ -346,6 +353,7 @@ theorem lineal_eq_sSup (C : PointedCone R E) : C.lineal = sSup {S : Submodule R
346353end Lineal
347354
348355section Salient
356+
349357variable [Semiring R] [PartialOrder R] [IsOrderedRing R] [AddCommGroup E] [Module R E]
350358
351359/-- A pointed cone is salient iff the intersection of the cone with its negative
0 commit comments