@@ -97,7 +97,6 @@ section MulActionWithZero
97
97
variable (π)
98
98
variable [ZeroLEOneClass π] [MulActionWithZero π E]
99
99
100
-
101
100
theorem left_mem_segment (x y : E) : x β [x -[π] y] :=
102
101
β¨1 , 0 , zero_le_one, le_refl 0 , add_zero 1 , by rw [zero_smul, one_smul, add_zero]β©
103
102
@@ -141,6 +140,24 @@ theorem openSegment_subset_iff_segment_subset (hx : x β s) (hy : y β s) :
141
140
openSegment π x y β s β [x -[π] y] β s := by
142
141
simp only [β insert_endpoints_openSegment, insert_subset_iff, *, true_and]
143
142
143
+ section lift
144
+
145
+ variable (R : Type *) [Semiring R] [PartialOrder R] [Module R E]
146
+ variable [Module R π] [IsScalarTower R π E]
147
+
148
+ theorem segment.lift [SMulPosMono R π] (x y : E) : segment R x y β segment π x y := by
149
+ rintro z β¨a, b, ha, hb, hab, hxyβ©
150
+ refine β¨_, _, ?_, ?_, by simpa [add_smul] using congr($(hab) β’ (1 : π)), by simpaβ©
151
+ all_goals exact zero_smul R (1 : π) βΈ smul_le_smul_of_nonneg_right βΉ_βΊ zero_le_one
152
+
153
+ theorem openSegment.lift [Nontrivial π] [SMulPosStrictMono R π] (x y : E) :
154
+ openSegment R x y β openSegment π x y := by
155
+ rintro z β¨a, b, ha, hb, hab, hxyβ©
156
+ refine β¨_, _, ?_, ?_, by simpa [add_smul] using congr($(hab) β’ (1 : π)), by simpaβ©
157
+ all_goals exact zero_smul R (1 : π) βΈ smul_lt_smul_of_pos_right βΉ_βΊ zero_lt_one
158
+
159
+ end lift
160
+
144
161
end Module
145
162
146
163
end OrderedSemiring
0 commit comments