Collinearity in Projective Space #
This file defines collinearity of points in projective space and proves the uniqueness of the line through two distinct points.
Main Results #
Projectivization.IsCollinear: A family of points in projective space is collinear if there exists a submodule of dimension at most 2 containing all points in the family.Projectivization.line_unique: Given two distinct points in projective space, there is a unique line (submodule of dimension 2) containing both points.
Tags #
Projective space, collinearity, projective geometry
def Projectivization.IsCollinear {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (S : Set (Projectivization K V)) :
If there exists a submodule of dimension at most 2 containing all points in
S, then S is collinear. The finite-dimensionality is required so that this notion is
meaningful even when V is infinite-dimensional.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem Projectivization.IsCollinear_iff {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (S : Set (Projectivization K V)) :
IsCollinear S ↔ ∃ (M : Subspace K V), Module.Finite K ↥(Subspace.submodule M) ∧ Module.finrank K ↥(Subspace.submodule M) ≤ 2 ∧ S ⊆ ↑M
theorem Projectivization.IsCollinear_iff_rank {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (S : Set (Projectivization K V)) :
@[simp]
theorem Projectivization.isCollinear_empty {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] :
theorem Projectivization.isCollinear_subset {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (s t : Set (Projectivization K V)) (hst : s ⊆ t) (h : IsCollinear t) :
@[simp]
theorem Projectivization.isCollinear_singleton' {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (a : Projectivization K V) :
theorem Projectivization.isCollinear_subsingleton {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (S : Set (Projectivization K V)) (hS : S.Subsingleton) :
theorem Projectivization.isCollinear_pair {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (a b : Projectivization K V) :
IsCollinear {a, b}
theorem Projectivization.isCollinear_of_card_eq_two {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] (S : Set (Projectivization K V)) (hS : S.ncard = 2) :
theorem Projectivization.line_unique' {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {u v : V} (hu : u ≠ 0) (hv : v ≠ 0) (huv : LinearIndependent K ![u, v]) (p : Submodule K V) (hp1 : Module.finrank K ↥p = 2) (hp2 : mk K u hu ∈ Submodule.projectivization p) (hp3 : mk K v hv ∈ Submodule.projectivization p) :
theorem Projectivization.line_unique {K : Type u_1} {V : Type u_2} [DivisionRing K] [AddCommGroup V] [Module K V] {x y : Projectivization K V} (hxy : x ≠ y) (p q : Submodule K V) (hp1 : Module.finrank K ↥p = 2) (hq1 : Module.finrank K ↥q = 2) (hp2 : x ∈ Submodule.projectivization p) (hp3 : y ∈ Submodule.projectivization p) (hq2 : x ∈ Submodule.projectivization q) (hq3 : y ∈ Submodule.projectivization q) :