Theory Projective_Space_Axioms
theory Projective_Space_Axioms
imports Main
begin
text ‹
Contents:
▪ We introduce the types @{typ 'point} of points and @{typ 'line} of lines and an incidence relation
between them.
▪ A set of axioms for the (3-dimensional) projective space.
An alternative set of axioms could use planes as basic objects in addition to points and lines
›
section ‹The axioms of the Projective Space›
lemma distinct4_def:
"distinct [A,B,C,D] = ((A ≠ B) ∧ (A ≠ C) ∧ (A ≠ D)∧ (B ≠ C) ∧ (B ≠ D) ∧ (C ≠ D))"
by auto
lemma distinct3_def:
"distinct [A, B, C] = (A ≠ B ∧ A ≠ C ∧ B ≠ C)"
by auto
locale projective_space =
fixes incid :: "'point ⇒ 'line ⇒ bool"
fixes meet :: "'line ⇒ 'line ⇒ 'point"
assumes meet_def: "(incid (meet l m) l ∧ incid (meet l m) m)"
assumes incid_dec: "(incid P l) ∨ ¬(incid P l)"
assumes ax1_existence: "∃l. (incid P l) ∧ (incid M l)"
assumes ax1_uniqueness: "(incid P k) ⟶ (incid M k) ⟶ (incid P l) ⟶ (incid M l) ⟶ (P = M) ∨ (k = l)"
assumes ax2: "distinct [A,B,C,D] ⟶ (incid A lAB ∧ incid B lAB)
⟶ (incid C lCD ∧ incid D lCD) ⟶ (incid A lAC ∧ incid C lAC) ⟶
(incid B lBD ∧ incid D lBD) ⟶ (∃I.(incid I lAB ∧ incid I lCD)) ⟶
(∃J.(incid J lAC ∧ incid J lBD))"
assumes ax3: "∃A B C. distinct3 A B C ∧ (incid A l) ∧ (incid B l) ∧ (incid C l)"
assumes ax4: "∃l m.∀P. ¬(incid P l ∧ incid P m)"
assumes ax5: "distinct [l1,l2,l3] ⟶ (∃l4 J1 J2 J3. distinct [J1,J2,J3] ∧
meet l1 l4 = J1 ∧ meet l2 l4 = J2 ∧ meet l3 l4 = J3)"
end