Documentation

Mathlib.Analysis.Convex.Between

Betweenness in affine spaces #

This file defines notions of a point in an affine space being between two given points.

Main definitions #

def affineSegment (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : P) :
Set P

The segment of points weakly between x and y. When convexity is refactored to support abstract affine combination spaces, this will no longer need to be a separate definition from segment. However, lemmas involving +ᵄ or -ᵄ will still be relevant after such a refactoring, as distinct from versions involving + or - in a module.

Equations
    Instances For
      theorem affineSegment_subset_affineSpan (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : P) :
      affineSegment R x y āŠ† ↑(affineSpan R {x, y})
      @[simp]
      theorem affineSegment_image {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'] (f : P ā†’įµƒ[R] P') (x y : P) :
      ⇑f '' affineSegment R x y = affineSegment R (f x) (f y)
      @[simp]
      theorem affineSegment_const_vadd_image (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : P) (v : V) :
      (fun (x : P) => v +ᵄ x) '' affineSegment R x y = affineSegment R (v +ᵄ x) (v +ᵄ y)
      @[simp]
      theorem affineSegment_vadd_const_image (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : V) (p : P) :
      (fun (x : V) => x +ᵄ p) '' affineSegment R x y = affineSegment R (x +ᵄ p) (y +ᵄ p)
      @[simp]
      theorem affineSegment_const_vsub_image (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y p : P) :
      (fun (x : P) => p -ᵄ x) '' affineSegment R x y = affineSegment R (p -ᵄ x) (p -ᵄ y)
      @[simp]
      theorem affineSegment_vsub_const_image (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y p : P) :
      (fun (x : P) => x -ᵄ p) '' affineSegment R x y = affineSegment R (x -ᵄ p) (y -ᵄ p)
      @[simp]
      theorem mem_const_vadd_affineSegment {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (v : V) :
      @[simp]
      theorem mem_vadd_const_affineSegment {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : V} (p : P) :
      @[simp]
      theorem mem_const_vsub_affineSegment {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
      @[simp]
      theorem mem_vsub_const_affineSegment {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
      theorem affineSegment_eq_segment (R : Type u_1) {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [IsOrderedRing R] (x y : V) :
      affineSegment R x y = segment R x y
      theorem affineSegment_comm (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] (x y : P) :
      theorem left_mem_affineSegment (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] (x y : P) :
      theorem right_mem_affineSegment (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] (x y : P) :
      @[simp]
      theorem affineSegment_same (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] (x : P) :
      def 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] (x y z : P) :

      The point y is weakly between x and z.

      Equations
        Instances For
          def 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] (x y z : P) :

          The point y is strictly between x and z.

          Equations
            Instances For
              theorem mem_segment_iff_wbtw {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [IsOrderedRing R] {x y z : V} :
              y ∈ segment R x z ↔ Wbtw R x y z
              theorem Wbtw.mem_segment {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [IsOrderedRing R] {x y z : V} :
              Wbtw R x y z → y ∈ segment R x z

              Alias of the reverse direction of mem_segment_iff_wbtw.

              theorem Convex.mem_of_wbtw {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [IsOrderedRing R] {pā‚€ p₁ pā‚‚ : V} {s : Set V} (hs : Convex R s) (h₀₁₂ : Wbtw R pā‚€ p₁ pā‚‚) (hā‚€ : pā‚€ ∈ s) (hā‚‚ : pā‚‚ ∈ s) :
              p₁ ∈ s
              theorem wbtw_comm {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] {x y z : P} :
              Wbtw R x y z ↔ Wbtw R z y x
              theorem Wbtw.symm {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] {x y z : P} :
              Wbtw R x y z → Wbtw R z y x

              Alias of the forward direction of wbtw_comm.

              theorem sbtw_comm {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] {x y z : P} :
              Sbtw R x y z ↔ Sbtw R z y x
              theorem Sbtw.symm {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] {x y z : P} :
              Sbtw R x y z → Sbtw R z y x

              Alias of the forward direction of sbtw_comm.

              theorem AffineSubspace.mem_of_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] {s : AffineSubspace R P} {x y z : P} (hxyz : Wbtw R x y z) (hx : x ∈ s) (hz : z ∈ s) :
              y ∈ s
              theorem 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'] {x y z : P} (h : Wbtw R x y z) (f : P ā†’įµƒ[R] P') :
              Wbtw R (f x) (f y) (f z)
              theorem Function.Injective.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'] {x y z : P} {f : P ā†’įµƒ[R] P'} (hf : Injective ⇑f) :
              Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z
              theorem Function.Injective.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'] {x y z : P} {f : P ā†’įµƒ[R] P'} (hf : Injective ⇑f) :
              Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z
              theorem Set.InjOn.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'] {x y z : P} {f : P ā†’įµƒ[R] P'} {s : AffineSubspace R P} (hf : InjOn ⇑f ↑s) (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ s) :
              Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z
              theorem Set.InjOn.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'] {x y z : P} {f : P ā†’įµƒ[R] P'} {s : AffineSubspace R P} (hf : InjOn ⇑f ↑s) (hx : x ∈ s) (hy : y ∈ s) (hz : z ∈ s) :
              Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z
              @[simp]
              theorem AffineEquiv.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'] {x y z : P} (f : P ā‰ƒįµƒ[R] P') :
              Wbtw R (f x) (f y) (f z) ↔ Wbtw R x y z
              @[simp]
              theorem AffineEquiv.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'] {x y z : P} (f : P ā‰ƒįµƒ[R] P') :
              Sbtw R (f x) (f y) (f z) ↔ Sbtw R x y z
              @[simp]
              theorem wbtw_const_vadd_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (v : V) :
              Wbtw R (v +ᵄ x) (v +ᵄ y) (v +ᵄ z) ↔ Wbtw R x y z
              theorem Wbtw.const_vadd {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (v : V) :
              Wbtw R x y z → Wbtw R (v +ᵄ x) (v +ᵄ y) (v +ᵄ z)

              Alias of the reverse direction of wbtw_const_vadd_iff.

              @[simp]
              theorem wbtw_const_add_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R (v + x) (v + y) (v + z) ↔ Wbtw R x y z
              theorem Wbtw.const_add {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R x y z → Wbtw R (v + x) (v + y) (v + z)

              Alias of the reverse direction of wbtw_const_add_iff.

              @[simp]
              theorem wbtw_vadd_const_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : V} (p : P) :
              Wbtw R (x +ᵄ p) (y +ᵄ p) (z +ᵄ p) ↔ Wbtw R x y z
              theorem Wbtw.vadd_const {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : V} (p : P) :
              Wbtw R x y z → Wbtw R (x +ᵄ p) (y +ᵄ p) (z +ᵄ p)

              Alias of the reverse direction of wbtw_vadd_const_iff.

              @[simp]
              theorem wbtw_add_const_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R (x + v) (y + v) (z + v) ↔ Wbtw R x y z
              theorem Wbtw.add_const {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R x y z → Wbtw R (x + v) (y + v) (z + v)

              Alias of the reverse direction of wbtw_add_const_iff.

              @[simp]
              theorem wbtw_const_vsub_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Wbtw R (p -ᵄ x) (p -ᵄ y) (p -ᵄ z) ↔ Wbtw R x y z
              theorem Wbtw.const_vsub {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Wbtw R x y z → Wbtw R (p -ᵄ x) (p -ᵄ y) (p -ᵄ z)

              Alias of the reverse direction of wbtw_const_vsub_iff.

              @[simp]
              theorem wbtw_const_sub_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R (v - x) (v - y) (v - z) ↔ Wbtw R x y z
              theorem Wbtw.const_sub {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R x y z → Wbtw R (v - x) (v - y) (v - z)

              Alias of the reverse direction of wbtw_const_sub_iff.

              @[simp]
              theorem wbtw_neg_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} :
              Wbtw R (-x) (-y) (-z) ↔ Wbtw R x y z
              theorem Wbtw.neg {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} :
              Wbtw R x y z → Wbtw R (-x) (-y) (-z)

              Alias of the reverse direction of wbtw_neg_iff.

              @[simp]
              theorem wbtw_vsub_const_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Wbtw R (x -ᵄ p) (y -ᵄ p) (z -ᵄ p) ↔ Wbtw R x y z
              theorem Wbtw.vsub_const {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Wbtw R x y z → Wbtw R (x -ᵄ p) (y -ᵄ p) (z -ᵄ p)

              Alias of the reverse direction of wbtw_vsub_const_iff.

              @[simp]
              theorem wbtw_sub_const_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R (x - v) (y - v) (z - v) ↔ Wbtw R x y z
              theorem Wbtw.sub_const {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Wbtw R x y z → Wbtw R (x - v) (y - v) (z - v)

              Alias of the reverse direction of wbtw_sub_const_iff.

              @[simp]
              theorem sbtw_const_vadd_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (v : V) :
              Sbtw R (v +ᵄ x) (v +ᵄ y) (v +ᵄ z) ↔ Sbtw R x y z
              theorem Sbtw.const_vadd {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (v : V) :
              Sbtw R x y z → Sbtw R (v +ᵄ x) (v +ᵄ y) (v +ᵄ z)

              Alias of the reverse direction of sbtw_const_vadd_iff.

              @[simp]
              theorem sbtw_const_add_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R (v + x) (v + y) (v + z) ↔ Sbtw R x y z
              theorem Sbtw.const_add {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R x y z → Sbtw R (v + x) (v + y) (v + z)

              Alias of the reverse direction of sbtw_const_add_iff.

              @[simp]
              theorem sbtw_vadd_const_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : V} (p : P) :
              Sbtw R (x +ᵄ p) (y +ᵄ p) (z +ᵄ p) ↔ Sbtw R x y z
              theorem Sbtw.vadd_const {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : V} (p : P) :
              Sbtw R x y z → Sbtw R (x +ᵄ p) (y +ᵄ p) (z +ᵄ p)

              Alias of the reverse direction of sbtw_vadd_const_iff.

              @[simp]
              theorem sbtw_add_const_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R (x + v) (y + v) (z + v) ↔ Sbtw R x y z
              theorem Sbtw.add_const {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R x y z → Sbtw R (x + v) (y + v) (z + v)

              Alias of the reverse direction of sbtw_add_const_iff.

              @[simp]
              theorem sbtw_const_vsub_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Sbtw R (p -ᵄ x) (p -ᵄ y) (p -ᵄ z) ↔ Sbtw R x y z
              theorem Sbtw.const_vsub {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Sbtw R x y z → Sbtw R (p -ᵄ x) (p -ᵄ y) (p -ᵄ z)

              Alias of the reverse direction of sbtw_const_vsub_iff.

              @[simp]
              theorem sbtw_const_sub_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R (v - x) (v - y) (v - z) ↔ Sbtw R x y z
              theorem Sbtw.const_sub {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R x y z → Sbtw R (v - x) (v - y) (v - z)

              Alias of the reverse direction of sbtw_const_sub_iff.

              @[simp]
              theorem sbtw_neg_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} :
              Sbtw R (-x) (-y) (-z) ↔ Sbtw R x y z
              theorem Sbtw.neg {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} :
              Sbtw R x y z → Sbtw R (-x) (-y) (-z)

              Alias of the reverse direction of sbtw_neg_iff.

              @[simp]
              theorem sbtw_vsub_const_iff {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Sbtw R (x -ᵄ p) (y -ᵄ p) (z -ᵄ p) ↔ Sbtw R x y z
              theorem Sbtw.vsub_const {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (p : P) :
              Sbtw R x y z → Sbtw R (x -ᵄ p) (y -ᵄ p) (z -ᵄ p)

              Alias of the reverse direction of sbtw_vsub_const_iff.

              @[simp]
              theorem sbtw_sub_const_iff {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R (x - v) (y - v) (z - v) ↔ Sbtw R x y z
              theorem Sbtw.sub_const {R : Type u_1} {V : Type u_2} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] {x y z : V} (v : V) :
              Sbtw R x y z → Sbtw R (x - v) (y - v) (z - v)

              Alias of the reverse direction of sbtw_sub_const_iff.

              theorem 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] {x y z : P} (h : Sbtw R x y z) :
              Wbtw R x y z
              theorem Sbtw.ne_left {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Sbtw R x y z) :
              y ≠ x
              theorem Sbtw.left_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] {x y z : P} (h : Sbtw R x y z) :
              x ≠ y
              theorem Sbtw.ne_right {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Sbtw R x y z) :
              y ≠ z
              theorem Sbtw.right_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] {x y z : P} (h : Sbtw R x y z) :
              z ≠ y
              theorem Sbtw.mem_image_Ioo {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Sbtw R x y z) :
              theorem Wbtw.mem_affineSpan {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Wbtw R x y z) :
              @[simp]
              theorem wbtw_self_left (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] (x y : P) :
              Wbtw R x x y
              @[simp]
              theorem wbtw_self_right (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] (x y : P) :
              Wbtw R x y y
              @[simp]
              theorem wbtw_self_iff (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] {x y : P} :
              Wbtw R x y x ↔ y = x
              theorem affineSegment.lift (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [ZeroLEOneClass R] (R' : Type u_6) [Ring R'] [PartialOrder R'] [Module R' V] [Module R' R] [IsScalarTower R' R V] [SMulPosMono R' R] (x y : P) :
              theorem Wbtw.lift (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [ZeroLEOneClass R] {R' : Type u_6} [Ring R'] [PartialOrder R'] [Module R' V] [Module R' R] [IsScalarTower R' R V] [SMulPosMono R' R] {x y z : P} (h : Wbtw R' x y z) :
              Wbtw R x y z

              Lift a Wbtw predicate from one ring to another along a scalar tower.

              theorem Sbtw.lift (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] [ZeroLEOneClass R] {R' : Type u_6} [Ring R'] [PartialOrder R'] [Module R' V] [Module R' R] [IsScalarTower R' R V] [SMulPosMono R' R] {x y z : P} (h : Sbtw R' x y z) :
              Sbtw R x y z

              Lift a Sbtw predicate from one ring to another along a scalar tower.

              @[simp]
              theorem not_sbtw_self_left (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : P) :
              ¬Sbtw R x x y
              @[simp]
              theorem not_sbtw_self_right (R : Type u_1) {V : Type u_2} {P : Type u_4} [Ring R] [PartialOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] (x y : P) :
              ¬Sbtw R x y y
              theorem Wbtw.left_ne_right_of_ne_left {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] {x y z : P} (h : Wbtw R x y z) (hne : y ≠ x) :
              x ≠ z
              theorem Wbtw.left_ne_right_of_ne_right {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] {x y z : P} (h : Wbtw R x y z) (hne : y ≠ z) :
              x ≠ z
              theorem Sbtw.left_ne_right {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] {x y z : P} (h : Sbtw R x y z) :
              x ≠ z
              @[simp]
              theorem not_sbtw_self (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] (x y : P) :
              ¬Sbtw R x y x
              @[simp]
              theorem wbtw_zero_one_iff {R : Type u_1} [Ring R] [PartialOrder R] {x : R} :
              Wbtw R 0 x 1 ↔ x ∈ Set.Icc 0 1
              @[simp]
              theorem wbtw_one_zero_iff {R : Type u_1} [Ring R] [PartialOrder R] [IsOrderedRing R] {x : R} :
              Wbtw R 1 x 0 ↔ x ∈ Set.Icc 0 1
              @[simp]
              theorem sbtw_zero_one_iff {R : Type u_1} [Ring R] [PartialOrder R] {x : R} :
              Sbtw R 0 x 1 ↔ x ∈ Set.Ioo 0 1
              @[simp]
              theorem sbtw_one_zero_iff {R : Type u_1} [Ring R] [PartialOrder R] [IsOrderedRing R] {x : R} :
              Sbtw R 1 x 0 ↔ x ∈ Set.Ioo 0 1
              theorem Wbtw.trans_left {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] {w x y z : P} (h₁ : Wbtw R w y z) (hā‚‚ : Wbtw R w x y) :
              Wbtw R w x z
              theorem Wbtw.trans_right {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] {w x y z : P} (h₁ : Wbtw R w x z) (hā‚‚ : Wbtw R x y z) :
              Wbtw R w y z
              theorem sbtw_iff_mem_image_Ioo_and_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} :
              Sbtw R x y z ↔ y ∈ ⇑(AffineMap.lineMap x z) '' Set.Ioo 0 1 ∧ x ≠ z
              theorem wbtw_swap_left_iff (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] [IsDomain R] [Module.IsTorsionFree R V] {x y : P} (z : P) :
              Wbtw R x y z ∧ Wbtw R y x z ↔ x = y
              theorem wbtw_swap_right_iff (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] [IsDomain R] [Module.IsTorsionFree R V] (x : P) {y z : P} :
              Wbtw R x y z ∧ Wbtw R x z y ↔ y = z
              theorem wbtw_rotate_iff (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] [IsDomain R] [Module.IsTorsionFree R V] {y z : P} (x : P) :
              Wbtw R x y z ∧ Wbtw R z x y ↔ x = y
              theorem Wbtw.swap_left_iff {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Wbtw R x y z) :
              Wbtw R y x z ↔ x = y
              theorem Wbtw.swap_right_iff {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Wbtw R x y z) :
              Wbtw R x z y ↔ y = z
              theorem Wbtw.rotate_iff {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Wbtw R x y z) :
              Wbtw R z x y ↔ x = y
              theorem Sbtw.not_swap_left {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Sbtw R x y z) :
              ¬Wbtw R y x z
              theorem Sbtw.not_swap_right {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Sbtw R x y z) :
              ¬Wbtw R x z y
              theorem Sbtw.not_rotate {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] [IsDomain R] [Module.IsTorsionFree R V] {x y z : P} (h : Sbtw R x y z) :
              ¬Wbtw R z x y
              @[simp]
              theorem wbtw_lineMap_iff {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] [IsDomain R] [Module.IsTorsionFree R V] {x y : P} {r : R} :
              Wbtw R x ((AffineMap.lineMap x y) r) y ↔ x = y ∨ r ∈ Set.Icc 0 1
              @[simp]
              theorem sbtw_lineMap_iff {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] [IsDomain R] [Module.IsTorsionFree R V] {x y : P} {r : R} :
              @[simp]
              theorem wbtw_mul_sub_add_iff {R : Type u_1} [Ring R] [PartialOrder R] [IsOrderedRing R] [IsDomain R] {x y r : R} :
              Wbtw R x (r * (y - x) + x) y ↔ x = y ∨ r ∈ Set.Icc 0 1
              @[simp]
              theorem sbtw_mul_sub_add_iff {R : Type u_1} [Ring R] [PartialOrder R] [IsOrderedRing R] [IsDomain R] {x y r : R} :
              Sbtw R x (r * (y - x) + x) y ↔ x ≠ y ∧ r ∈ Set.Ioo 0 1
              theorem Wbtw.trans_sbtw_left {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] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Wbtw R w y z) (hā‚‚ : Sbtw R w x y) :
              Sbtw R w x z
              theorem Wbtw.trans_sbtw_right {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] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Wbtw R w x z) (hā‚‚ : Sbtw R x y z) :
              Sbtw R w y z
              theorem Sbtw.trans_left {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] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Sbtw R w y z) (hā‚‚ : Sbtw R w x y) :
              Sbtw R w x z
              theorem Sbtw.trans_right {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] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Sbtw R w x z) (hā‚‚ : Sbtw R x y z) :
              Sbtw R w y z
              theorem Wbtw.trans_left_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Wbtw R w y z) (hā‚‚ : Wbtw R w x y) (h : y ≠ z) :
              x ≠ z
              theorem Wbtw.trans_right_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Wbtw R w x z) (hā‚‚ : Wbtw R x y z) (h : w ≠ x) :
              w ≠ y
              theorem Sbtw.trans_wbtw_left_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Sbtw R w y z) (hā‚‚ : Wbtw R w x y) :
              x ≠ z
              theorem Sbtw.trans_wbtw_right_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {w x y z : P} (h₁ : Sbtw R w x z) (hā‚‚ : Wbtw R x y z) :
              w ≠ y
              theorem Sbtw.affineCombination_of_mem_affineSpan_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] [IsDomain R] [Module.IsTorsionFree R V] {ι : Type u_6} {p : ι → P} (ha : AffineIndependent R p) {w w₁ wā‚‚ : ι → R} {s : Finset ι} (hw : āˆ‘ i ∈ s, w i = 1) (hw₁ : āˆ‘ i ∈ s, w₁ i = 1) (hwā‚‚ : āˆ‘ i ∈ s, wā‚‚ i = 1) (h : (Finset.affineCombination R s p) w ∈ affineSpan R {(Finset.affineCombination R s p) w₁, (Finset.affineCombination R s p) wā‚‚}) {i : ι} (his : i ∈ s) (hs : Sbtw R (w₁ i) (w i) (wā‚‚ i)) :
              Sbtw R ((Finset.affineCombination R s p) w₁) ((Finset.affineCombination R s p) w) ((Finset.affineCombination R s p) wā‚‚)
              theorem Affine.Simplex.closedInterior_eq_affineSegment {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] (s : Simplex R P 1) :

              The closed interior of a 1-simplex is a segment between its vertices.

              theorem Affine.Simplex.mem_closedInterior_iff_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] [IsOrderedRing R] {s : Simplex R P 1} {p : P} :

              A point lies in the closed interior of a 1-simplex if and only if it lies weakly between its vertices.

              theorem Affine.Simplex.closedInterior_face_eq_affineSegment {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] {n : ā„•} (s : Simplex R P n) {i j : Fin (n + 1)} (h : i ≠ j) :
              (s.face ⋯).closedInterior = affineSegment R (s.points i) (s.points j)

              The closed interior of a 1-dimensional face of a simplex is a segment between its vertices.

              theorem Affine.Simplex.mem_closedInterior_face_iff_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] [IsOrderedRing R] {n : ā„•} (s : Simplex R P n) {p : P} {i j : Fin (n + 1)} (h : i ≠ j) :
              p ∈ (s.face ⋯).closedInterior ↔ Wbtw R (s.points i) p (s.points j)

              A point lies in the closed interior of a 1-dimensional face of a simplex if and only if it lies weakly between its vertices.

              theorem Affine.Simplex.interior_eq_image_Ioo {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] (s : Simplex R P 1) :
              s.interior = ⇑(AffineMap.lineMap (s.points 0) (s.points 1)) '' Set.Ioo 0 1

              The interior of a 1-simplex is a segment between its vertices.

              theorem Affine.Simplex.mem_interior_iff_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {s : Simplex R P 1} {p : P} :
              p ∈ s.interior ↔ Sbtw R (s.points 0) p (s.points 1)

              A point lies in the interior of a 1-simplex if and only if it lies strictly between its vertices.

              theorem Affine.Simplex.mem_interior_face_iff_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] [IsOrderedRing R] [IsDomain R] [Module.IsTorsionFree R V] {n : ā„•} (s : Simplex R P n) {p : P} {i j : Fin (n + 1)} (h : i ≠ j) :
              p ∈ (s.face ⋯).interior ↔ Sbtw R (s.points i) p (s.points j)

              A point lies in the interior of a 1-dimensional face of a simplex if and only if it lies strictly between its vertices.

              theorem Wbtw.sameRay_vsub {R : Type u_1} {V : Type u_2} {P : Type u_4} [CommRing R] [PartialOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Wbtw R x y z) :
              SameRay R (y -ᵄ x) (z -ᵄ y)
              theorem Wbtw.sameRay_vsub_left {R : Type u_1} {V : Type u_2} {P : Type u_4} [CommRing R] [PartialOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Wbtw R x y z) :
              SameRay R (y -ᵄ x) (z -ᵄ x)
              theorem Wbtw.sameRay_vsub_right {R : Type u_1} {V : Type u_2} {P : Type u_4} [CommRing R] [PartialOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Wbtw R x y z) :
              SameRay R (z -ᵄ x) (z -ᵄ y)
              theorem sbtw_of_sbtw_of_sbtw_of_mem_affineSpan_pair {R : Type u_1} {V : Type u_2} {P : Type u_4} [Ring R] [LinearOrder R] [IsStrictOrderedRing R] [AddCommGroup V] [Module R V] [AddTorsor V P] [Module.IsTorsionFree R V] {t : Affine.Triangle R P} {i₁ iā‚‚ iā‚ƒ : Fin 3} (h₁₂ : i₁ ≠ iā‚‚) {p₁ pā‚‚ p : P} (h₁ : Sbtw R (t.points iā‚‚) p₁ (t.points iā‚ƒ)) (hā‚‚ : Sbtw R (t.points i₁) pā‚‚ (t.points iā‚ƒ)) (h₁' : p ∈ affineSpan R {t.points i₁, p₁}) (hā‚‚' : p ∈ affineSpan R {t.points iā‚‚, pā‚‚}) :
              Sbtw R (t.points i₁) p p₁

              Suppose lines from two vertices of a triangle to interior points of the opposite side meet at p. Then p lies in the interior of the first (and by symmetry the other) segment from a vertex to the point on the opposite side.

              theorem wbtw_iff_of_le {R : Type u_1} [Field R] [LinearOrder R] [IsStrictOrderedRing R] {x y z : R} (hxz : x ≤ z) :
              Wbtw R x y z ↔ x ≤ y ∧ y ≤ z
              theorem Wbtw.of_le_of_le {R : Type u_1} [Field R] [LinearOrder R] [IsStrictOrderedRing R] {x y z : R} (hxy : x ≤ y) (hyz : y ≤ z) :
              Wbtw R x y z
              theorem Sbtw.of_lt_of_lt {R : Type u_1} [Field R] [LinearOrder R] [IsStrictOrderedRing R] {x y z : R} (hxy : x < y) (hyz : y < z) :
              Sbtw R x y z
              theorem wbtw_iff_left_eq_or_right_mem_image_Ici {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] {x y z : P} :
              Wbtw R x y z ↔ x = y ∨ z ∈ ⇑(AffineMap.lineMap x y) '' Set.Ici 1
              theorem Wbtw.right_mem_image_Ici_of_left_ne {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] {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
              theorem Wbtw.right_mem_affineSpan_of_left_ne {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] {x y z : P} (h : Wbtw R x y z) (hne : x ≠ y) :
              theorem Sbtw.right_mem_image_Ioi {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] {x y z : P} (h : Sbtw R x y z) :
              theorem Sbtw.right_mem_affineSpan {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] {x y z : P} (h : Sbtw R x y z) :
              theorem wbtw_iff_right_eq_or_left_mem_image_Ici {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] {x y z : P} :
              Wbtw R x y z ↔ z = y ∨ x ∈ ⇑(AffineMap.lineMap z y) '' Set.Ici 1
              theorem Wbtw.left_mem_image_Ici_of_right_ne {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] {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
              theorem Wbtw.left_mem_affineSpan_of_right_ne {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] {x y z : P} (h : Wbtw R x y z) (hne : z ≠ y) :
              theorem Sbtw.left_mem_image_Ioi {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] {x y z : P} (h : Sbtw R x y z) :
              theorem Sbtw.left_mem_affineSpan {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] {x y z : P} (h : Sbtw R x y z) :
              theorem AffineSubspace.right_mem_of_wbtw {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} {s : AffineSubspace R P} (hxyz : Wbtw R x y z) (hx : x ∈ s) (hy : y ∈ s) (hxy : x ≠ y) :
              z ∈ s
              theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_le {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : 0 ≤ r₁) (hrā‚‚ : r₁ ≤ rā‚‚) :
              Wbtw R x (r₁ • v +ᵄ x) (rā‚‚ • v +ᵄ x)
              theorem wbtw_or_wbtw_smul_vadd_of_nonneg {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : 0 ≤ r₁) (hrā‚‚ : 0 ≤ rā‚‚) :
              Wbtw R x (r₁ • v +ᵄ x) (rā‚‚ • v +ᵄ x) ∨ Wbtw R x (rā‚‚ • v +ᵄ x) (r₁ • v +ᵄ x)
              theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_le {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : r₁ ≤ 0) (hrā‚‚ : rā‚‚ ≤ r₁) :
              Wbtw R x (r₁ • v +ᵄ x) (rā‚‚ • v +ᵄ x)
              theorem wbtw_or_wbtw_smul_vadd_of_nonpos {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : r₁ ≤ 0) (hrā‚‚ : rā‚‚ ≤ 0) :
              Wbtw R x (r₁ • v +ᵄ x) (rā‚‚ • v +ᵄ x) ∨ Wbtw R x (rā‚‚ • v +ᵄ x) (r₁ • v +ᵄ x)
              theorem wbtw_smul_vadd_smul_vadd_of_nonpos_of_nonneg {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : r₁ ≤ 0) (hrā‚‚ : 0 ≤ rā‚‚) :
              Wbtw R (r₁ • v +ᵄ x) x (rā‚‚ • v +ᵄ x)
              theorem wbtw_smul_vadd_smul_vadd_of_nonneg_of_nonpos {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] (x : P) (v : V) {r₁ rā‚‚ : R} (hr₁ : 0 ≤ r₁) (hrā‚‚ : rā‚‚ ≤ 0) :
              Wbtw R (r₁ • v +ᵄ x) x (rā‚‚ • v +ᵄ x)
              theorem Wbtw.trans_left_right {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] {w x y z : P} (h₁ : Wbtw R w y z) (hā‚‚ : Wbtw R w x y) :
              Wbtw R x y z
              theorem Wbtw.trans_right_left {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] {w x y z : P} (h₁ : Wbtw R w x z) (hā‚‚ : Wbtw R x y z) :
              Wbtw R w x y
              theorem Sbtw.trans_left_right {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] {w x y z : P} (h₁ : Sbtw R w y z) (hā‚‚ : Sbtw R w x y) :
              Sbtw R x y z
              theorem Sbtw.trans_right_left {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] {w x y z : P} (h₁ : Sbtw R w x z) (hā‚‚ : Sbtw R x y z) :
              Sbtw R w x y
              theorem Wbtw.trans_expand_left {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] {w x y z : P} (h₁ : Wbtw R w x y) (hā‚‚ : Wbtw R x y z) (h_ne : x ≠ y) :
              Wbtw R w x z
              theorem Wbtw.trans_expand_right {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] {w x y z : P} (h₁ : Wbtw R w x y) (hā‚‚ : Wbtw R x y z) (h_ne : x ≠ y) :
              Wbtw R w y z
              theorem Sbtw.trans_expand_left {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] {w x y z : P} (h₁ : Sbtw R w x y) (hā‚‚ : Sbtw R x y z) :
              Sbtw R w x z
              theorem Sbtw.trans_expand_right {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] {w x y z : P} (h₁ : Sbtw R w x y) (hā‚‚ : Sbtw R x y z) :
              Sbtw R w y z
              theorem Wbtw.collinear {R : Type u_1} {V : Type u_2} {P : Type u_4} [Field R] [LinearOrder R] [AddCommGroup V] [Module R V] [AddTorsor V P] {x y z : P} (h : Wbtw R x y z) :
              theorem Collinear.wbtw_or_wbtw_or_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] {x y z : P} (h : Collinear R {x, y, z}) :
              Wbtw R x y z ∨ Wbtw R y z x ∨ Wbtw R z x y
              theorem wbtw_iff_sameRay_vsub {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] {x y z : P} :
              Wbtw R x y z ↔ SameRay R (y -ᵄ x) (z -ᵄ y)
              theorem wbtw_total_of_sameRay_vsub_left {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] {x y z : P} (h : SameRay R (y -ᵄ x) (z -ᵄ x)) :
              Wbtw R x y z ∨ Wbtw R x z y
              theorem AffineIndependent.not_wbtw_of_injective {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] {ι : Type u_6} (i j k : ι) (h : Function.Injective ![i, j, k]) {T : ι → P} (hT : AffineIndependent R T) :
              ¬Wbtw R (T i) (T j) (T k)

              If T is an affine independent family of points, then any 3 distinct points form a triangle.

              theorem wbtw_pointReflection (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] (x y : P) :
              theorem sbtw_pointReflection_of_ne (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] {x y : P} (h : x ≠ y) :
              theorem wbtw_midpoint (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] (x y : P) :
              Wbtw R x (midpoint R x y) y
              theorem sbtw_midpoint_of_ne (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] {x y : P} (h : x ≠ y) :
              Sbtw R x (midpoint R x y) y