Skip to content

Commit 5c74392

Browse files
committed
feat: lemmas about betweeness on a linear space (leanprover-community#26555)
This PR also adds aliases of the inverse direction of betweeness iff lemmas.
1 parent 4f51227 commit 5c74392

1 file changed

Lines changed: 86 additions & 0 deletions

File tree

Mathlib/Analysis/Convex/Between.lean

Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -188,45 +188,131 @@ theorem wbtw_const_vadd_iff {x y z : P} (v : V) :
188188
Wbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Wbtw R x y z :=
189189
mem_const_vadd_affineSegment _
190190

191+
alias ⟨_, Wbtw.const_vadd⟩ := wbtw_const_vadd_iff
192+
193+
@[simp]
194+
theorem wbtw_const_add_iff {x y z : V} (v : V) :
195+
Wbtw R (v + x) (v + y) (v + z) ↔ Wbtw R x y z :=
196+
wbtw_const_vadd_iff v
197+
198+
alias ⟨_, Wbtw.const_add⟩ := wbtw_const_add_iff
199+
191200
@[simp]
192201
theorem wbtw_vadd_const_iff {x y z : V} (p : P) :
193202
Wbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Wbtw R x y z :=
194203
mem_vadd_const_affineSegment _
195204

205+
alias ⟨_, Wbtw.vadd_const⟩ := wbtw_vadd_const_iff
206+
207+
@[simp]
208+
theorem wbtw_add_const_iff {x y z : V} (v : V) :
209+
Wbtw R (x + v) (y + v) (z + v) ↔ Wbtw R x y z :=
210+
wbtw_vadd_const_iff v
211+
212+
alias ⟨_, Wbtw.add_const⟩ := wbtw_add_const_iff
213+
196214
@[simp]
197215
theorem wbtw_const_vsub_iff {x y z : P} (p : P) :
198216
Wbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Wbtw R x y z :=
199217
mem_const_vsub_affineSegment _
200218

219+
alias ⟨_, Wbtw.const_vsub⟩ := wbtw_const_vsub_iff
220+
221+
@[simp]
222+
theorem wbtw_const_sub_iff {x y z : V} (v : V) :
223+
Wbtw R (v - x) (v - y) (v - z) ↔ Wbtw R x y z :=
224+
wbtw_const_vsub_iff v
225+
226+
alias ⟨_, Wbtw.const_sub⟩ := wbtw_const_sub_iff
227+
228+
@[simp]
229+
theorem wbtw_neg_iff {x y z : V} :
230+
Wbtw R (-x) (-y) (-z) ↔ Wbtw R x y z := by
231+
simp only [← zero_sub, wbtw_const_sub_iff]
232+
233+
alias ⟨_, Wbtw.neg⟩ := wbtw_neg_iff
234+
201235
@[simp]
202236
theorem wbtw_vsub_const_iff {x y z : P} (p : P) :
203237
Wbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Wbtw R x y z :=
204238
mem_vsub_const_affineSegment _
205239

240+
alias ⟨_, Wbtw.vsub_const⟩ := wbtw_vsub_const_iff
241+
242+
@[simp]
243+
theorem wbtw_sub_const_iff {x y z : V} (v : V) :
244+
Wbtw R (x - v) (y - v) (z - v) ↔ Wbtw R x y z :=
245+
wbtw_vsub_const_iff v
246+
247+
alias ⟨_, Wbtw.sub_const⟩ := wbtw_sub_const_iff
248+
206249
@[simp]
207250
theorem sbtw_const_vadd_iff {x y z : P} (v : V) :
208251
Sbtw R (v +ᵥ x) (v +ᵥ y) (v +ᵥ z) ↔ Sbtw R x y z := by
209252
rw [Sbtw, Sbtw, wbtw_const_vadd_iff, (AddAction.injective v).ne_iff,
210253
(AddAction.injective v).ne_iff]
211254

255+
alias ⟨_, Sbtw.const_vadd⟩ := sbtw_const_vadd_iff
256+
257+
@[simp]
258+
theorem sbtw_const_add_iff {x y z : V} (v : V) :
259+
Sbtw R (v + x) (v + y) (v + z) ↔ Sbtw R x y z :=
260+
sbtw_const_vadd_iff v
261+
262+
alias ⟨_, Sbtw.const_add⟩ := sbtw_const_add_iff
263+
212264
@[simp]
213265
theorem sbtw_vadd_const_iff {x y z : V} (p : P) :
214266
Sbtw R (x +ᵥ p) (y +ᵥ p) (z +ᵥ p) ↔ Sbtw R x y z := by
215267
rw [Sbtw, Sbtw, wbtw_vadd_const_iff, (vadd_right_injective p).ne_iff,
216268
(vadd_right_injective p).ne_iff]
217269

270+
alias ⟨_, Sbtw.vadd_const⟩ := sbtw_vadd_const_iff
271+
272+
@[simp]
273+
theorem sbtw_add_const_iff {x y z : V} (v : V) :
274+
Sbtw R (x + v) (y + v) (z + v) ↔ Sbtw R x y z :=
275+
sbtw_vadd_const_iff v
276+
277+
alias ⟨_, Sbtw.add_const⟩ := sbtw_add_const_iff
278+
218279
@[simp]
219280
theorem sbtw_const_vsub_iff {x y z : P} (p : P) :
220281
Sbtw R (p -ᵥ x) (p -ᵥ y) (p -ᵥ z) ↔ Sbtw R x y z := by
221282
rw [Sbtw, Sbtw, wbtw_const_vsub_iff, (vsub_right_injective p).ne_iff,
222283
(vsub_right_injective p).ne_iff]
223284

285+
alias ⟨_, Sbtw.const_vsub⟩ := sbtw_const_vsub_iff
286+
287+
@[simp]
288+
theorem sbtw_const_sub_iff {x y z : V} (v : V) :
289+
Sbtw R (v - x) (v - y) (v - z) ↔ Sbtw R x y z :=
290+
sbtw_const_vsub_iff v
291+
292+
alias ⟨_, Sbtw.const_sub⟩ := sbtw_const_sub_iff
293+
294+
@[simp]
295+
theorem sbtw_neg_iff {x y z : V} :
296+
Sbtw R (-x) (-y) (-z) ↔ Sbtw R x y z := by
297+
simp only [← zero_sub, sbtw_const_sub_iff]
298+
299+
alias ⟨_, Sbtw.neg⟩ := sbtw_neg_iff
300+
224301
@[simp]
225302
theorem sbtw_vsub_const_iff {x y z : P} (p : P) :
226303
Sbtw R (x -ᵥ p) (y -ᵥ p) (z -ᵥ p) ↔ Sbtw R x y z := by
227304
rw [Sbtw, Sbtw, wbtw_vsub_const_iff, (vsub_left_injective p).ne_iff,
228305
(vsub_left_injective p).ne_iff]
229306

307+
alias ⟨_, Sbtw.vsub_const⟩ := sbtw_vsub_const_iff
308+
309+
@[simp]
310+
theorem sbtw_sub_const_iff {x y z : V} (v : V) :
311+
Sbtw R (x - v) (y - v) (z - v) ↔ Sbtw R x y z :=
312+
sbtw_vsub_const_iff v
313+
314+
alias ⟨_, Sbtw.sub_const⟩ := sbtw_sub_const_iff
315+
230316
theorem Sbtw.wbtw {x y z : P} (h : Sbtw R x y z) : Wbtw R x y z :=
231317
h.1
232318

0 commit comments

Comments
 (0)