Documentation

Mathlib.Analysis.Convex.BetweenList

Betweenness for lists of points. #

This file defines notions of lists of points in an affine space being in order on a line.

Main definitions #

def List.Wbtw (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (l : List P) :

The points in a list are weakly in that order on a line.

Equations
    Instances For
      theorem List.wbtw_cons {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {p : P} {l : List P} :
      def List.Sbtw (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (l : List P) :

      The points in a list are strictly in that order on a line.

      Equations
        Instances For
          @[simp]
          theorem List.wbtw_nil (R : Type u_1) {V : Type u_2} (P : Type u_4) [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] :
          @[simp]
          theorem List.sbtw_nil (R : Type u_1) {V : Type u_2} (P : Type u_4) [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] :
          @[simp]
          theorem List.wbtw_singleton (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (pโ‚ : P) :
          List.Wbtw R [pโ‚]
          @[simp]
          theorem List.sbtw_singleton (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (pโ‚ : P) :
          List.Sbtw R [pโ‚]
          @[simp]
          theorem List.wbtw_pair (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (pโ‚ pโ‚‚ : P) :
          List.Wbtw R [pโ‚, pโ‚‚]
          @[simp]
          theorem List.sbtw_pair (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {pโ‚ pโ‚‚ : P} :
          List.Sbtw R [pโ‚, pโ‚‚] โ†” pโ‚ โ‰  pโ‚‚
          @[simp]
          theorem List.wbtw_triple {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {pโ‚ pโ‚‚ pโ‚ƒ : P} :
          List.Wbtw R [pโ‚, pโ‚‚, pโ‚ƒ] โ†” Wbtw R pโ‚ pโ‚‚ pโ‚ƒ
          @[simp]
          theorem List.sbtw_triple {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [IsOrderedRing R] {pโ‚ pโ‚‚ pโ‚ƒ : P} :
          List.Sbtw R [pโ‚, pโ‚‚, pโ‚ƒ] โ†” Sbtw R pโ‚ pโ‚‚ pโ‚ƒ
          theorem List.wbtw_four {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {pโ‚ pโ‚‚ pโ‚ƒ pโ‚„ : P} :
          List.Wbtw R [pโ‚, pโ‚‚, pโ‚ƒ, pโ‚„] โ†” Wbtw R pโ‚ pโ‚‚ pโ‚ƒ โˆง Wbtw R pโ‚ pโ‚‚ pโ‚„ โˆง Wbtw R pโ‚ pโ‚ƒ pโ‚„ โˆง Wbtw R pโ‚‚ pโ‚ƒ pโ‚„
          theorem List.sbtw_four {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [IsOrderedRing R] {pโ‚ pโ‚‚ pโ‚ƒ pโ‚„ : P} :
          List.Sbtw R [pโ‚, pโ‚‚, pโ‚ƒ, pโ‚„] โ†” Sbtw R pโ‚ pโ‚‚ pโ‚ƒ โˆง Sbtw R pโ‚ pโ‚‚ pโ‚„ โˆง Sbtw R pโ‚ pโ‚ƒ pโ‚„ โˆง Sbtw R pโ‚‚ pโ‚ƒ pโ‚„
          theorem List.Sbtw.wbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {l : List P} (h : List.Sbtw R l) :
          theorem List.Sbtw.pairwise_ne {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {l : List P} (h : List.Sbtw R l) :
          Pairwise (fun (x1 x2 : P) => x1 โ‰  x2) l
          theorem List.sbtw_iff_triplewise_and_ne_pair {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [IsOrderedRing R] {l : List P} :
          List.Sbtw R l โ†” Triplewise (Sbtw R) l โˆง โˆ€ (a : P), l โ‰  [a, a]
          theorem List.sbtw_cons {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [IsOrderedRing R] {p : P} {l : List P} :
          theorem List.Wbtw.map {R : Type u_1} {V : Type u_2} {V' : Type u_3} {P : Type u_4} {P' : Type u_5} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [AddCommGroup V'] [Module R V'] [AddTorsor V' P'] {l : List P} (h : List.Wbtw R l) (f : P โ†’แตƒ[R] P') :
          List.Wbtw R (map (โ‡‘f) l)
          theorem Function.Injective.list_wbtw_map_iff {R : Type u_1} {V : Type u_2} {V' : Type u_3} {P : Type u_4} {P' : Type u_5} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [AddCommGroup V'] [Module R V'] [AddTorsor V' P'] {l : List P} {f : P โ†’แตƒ[R] P'} (hf : Injective โ‡‘f) :
          List.Wbtw R (List.map (โ‡‘f) l) โ†” List.Wbtw R l
          theorem Function.Injective.list_sbtw_map_iff {R : Type u_1} {V : Type u_2} {V' : Type u_3} {P : Type u_4} {P' : Type u_5} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [AddCommGroup V'] [Module R V'] [AddTorsor V' P'] {l : List P} {f : P โ†’แตƒ[R] P'} (hf : Injective โ‡‘f) :
          List.Sbtw R (List.map (โ‡‘f) l) โ†” List.Sbtw R l
          theorem AffineEquiv.list_wbtw_map_iff {R : Type u_1} {V : Type u_2} {V' : Type u_3} {P : Type u_4} {P' : Type u_5} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [AddCommGroup V'] [Module R V'] [AddTorsor V' P'] {l : List P} (f : P โ‰ƒแตƒ[R] P') :
          List.Wbtw R (List.map (โ‡‘f) l) โ†” List.Wbtw R l
          theorem AffineEquiv.list_sbtw_map_iff {R : Type u_1} {V : Type u_2} {V' : Type u_3} {P : Type u_4} {P' : Type u_5} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [AddCommGroup V'] [Module R V'] [AddTorsor V' P'] {l : List P} (f : P โ‰ƒแตƒ[R] P') :
          List.Sbtw R (List.map (โ‡‘f) l) โ†” List.Sbtw R l
          @[deprecated List.SortedLE.wbtw (since := "2025-10-13")]
          theorem List.Sorted.wbtw {R : Type u_1} [Field R] [LinearOrder R] [IsStrictOrderedRing R] {l : List R} (h : l.SortedLE) :

          Alias of List.SortedLE.wbtw.

          @[deprecated List.SortedLT.sbtw (since := "2025-10-13")]
          theorem List.Sorted.sbtw {R : Type u_1} [Field R] [LinearOrder R] [IsStrictOrderedRing R] {l : List R} (h : l.SortedLT) :

          Alias of List.SortedLT.sbtw.

          theorem List.exists_map_eq_of_sorted_nonempty_iff_wbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {l : List P} (hl : l โ‰  []) :
          (โˆƒ (l' : List R), l'.SortedLE โˆง map (โ‡‘(AffineMap.lineMap (l.head hl) (l.getLast hl))) l' = l) โ†” List.Wbtw R l
          theorem List.exists_map_eq_of_sorted_iff_wbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {l : List P} :
          (โˆƒ (pโ‚ : P) (pโ‚‚ : P) (l' : List R), l'.SortedLE โˆง map (โ‡‘(AffineMap.lineMap pโ‚ pโ‚‚)) l' = l) โ†” List.Wbtw R l
          theorem List.exists_map_eq_of_sorted_nonempty_iff_sbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {l : List P} (hl : l โ‰  []) :
          (โˆƒ (l' : List R), l'.SortedLT โˆง map (โ‡‘(AffineMap.lineMap (l.head hl) (l.getLast hl))) l' = l โˆง (l.length = 1 โˆจ l.head hl โ‰  l.getLast hl)) โ†” List.Sbtw R l
          theorem List.exists_map_eq_of_sorted_iff_sbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] [Nontrivial P] {l : List P} :
          (โˆƒ (pโ‚ : P) (pโ‚‚ : P), pโ‚ โ‰  pโ‚‚ โˆง โˆƒ (l' : List R), l'.SortedLT โˆง map (โ‡‘(AffineMap.lineMap pโ‚ pโ‚‚)) l' = l) โ†” List.Sbtw R l