Interface:Tarski's geometry axioms

First, we adopt the axioms of propositional logic and first-order logic (including equality):

 param (CLASSICAL Interface:Classical_propositional_calculus ) param (FIRSTORDER Interface:First-order_logic_with_quantifiability (CLASSICAL) ) 

The kind, defined in first-order logic, represents a point:  kindbind (object point) var (point x y z w u v)

var (variable a b c xx yy) 

Congruence
We introduce congruence of line segments;  means that the line segment xy is the same length as the line segment wz. This property is also known as equidistance.  term (formula (≡ point point point point)) 

The distance from x to y is the same as the distance from y to x. This property is called reflexivity by Tarski and Givant and symmetry by Narboux. Narboux also calls it the pseudo-commutativity property of the oriented distance (on page 148) and in his proofs pseudo_reflexivity.  stmt (CongruenceABBA  (x y ≡ y x)) 

A segment which has zero length starts and ends at the same point (although saying "zero length" is a bit of a shortcut, as the axioms are not based on real numbers or any other numbers).  stmt (CongruenceIdentity  ((x y ≡ z z) → (x = y))) 

Two segments which are congruent to a common segment are congruent to each other.  stmt (CongruenceTransitivityAxiom  (((x y ≡ z u) ∧ (x y ≡ v w)) → (z u ≡ v w))) 

Betweenness
The other fundamental formula is betweenness;  signifies "y is between x and z".

 term (formula (between point point point)) 

There are no other points between x and x.  stmt (Indivisibility  ((between x y x) → (x = y))) 

Pasch's axiom
Tarski's version of the Axiom of Pasch.

 stmt (Pasch ((a x) (a u) (a z) (a y) (a v)) (((between x u z) ∧ (between y v z)) → (∃ a ((between u (value a) y) ∧ (between v (value a) x))))) </jh>

Continuity
The variables  and   correspond with   and   in the diagram and wikipedia. (We can't just call them  and   because we've declared   and   as objects, which unlike variables cannot be subject to quantification).  var (formula φx ψy) stmt (Continuity ((φx yy) (φx a) (φx b) (ψy xx) (ψy a) (ψy b) (a b xx yy))   ((∃ a (∀ xx (∀ yy ((φx ∧ ψy) → (between (value a) (value xx) (value yy)))))) → (∃ b (∀ xx (∀ yy ((φx ∧ ψy) → (between (value xx) (value b) (value yy)))))))) </jh>

Dimension
The dimension is greater than one,  stmt (LowerDimension ((a b c))  (∃ a (∃ b (∃ c    (((¬ (between (value a) (value b) (value c))) ∧ (¬ (between (value b) (value c) (value a))))    ∧ (¬ (between (value c) (value a) (value b))) ))))) </jh>

and less than three.  stmt (UpperDimension   (((((x u ≡ x v) ∧ (y u ≡ y v)) ∧ (z u ≡ z v)) ∧ (u ≠ v)) → (((between x y z) ∨ (between y z x)) ∨ (between z x y)))) </jh>

Axiom of Euclid
There are quite a variety of ways to state Euclid's parallel postulate. Here we adopt one which says that if a point u is in the interior of ∠yxz (in the sense of being on the line segment yz drawn across the angle), then any point v which is further out (that is, u is between v and the vertex of the angle) will also be in the interior (in the sense that a line segment containing v can be drawn across the angle).  stmt (AxiomEuclid ((a b x) (a b u) (a b v) (a b y) (a b z)) ( (((between x u v) ∧ (between y u z)) ∧ (x ≠ u)) → (∃ a (∃ b (((between x y (value a)) ∧ (between x z (value b))) ∧ (between (value a) v (value b))))))) </jh>

Five Segment
This is a version of familiar theorems concerning congruent triangles (without any explicit reference to angles, of course).  var (point x′ y′ z′ u′) stmt (OuterFiveSegment   ((((((((x ≠ y) ∧ (between x y z)) ∧ (between x′ y′ z′)) ∧ (x y ≡ x′ y′)) ∧ (y z ≡ y′ z′)) ∧ (x u ≡ x′ u′)) ∧ (y u ≡ y′ u′)) → (z u ≡ z′ u′)) ) </jh>

Segment Construction
Given a line segment wx and a line segment yz, construct an extension of wx which is as long as yz is.  stmt (SegmentConstruction ((a w) (a x) (a y) (a z)) (∃ a ((between w x (value a)) ∧ (x (value a) ≡ y z)))) </jh>

Builders
Being able to substitute equals for equals is generally taken as a logical axiom, but we need to provide it for every operator.  var (point x0 x1 x2 x3 y0 y1 y2 y3) stmt (CongruenceBuilder  ( ((((x0 = y0) ∧ (x1 = y1)) ∧ (x2 = y2)) ∧ (x3 = y3)) → ((x0 x1 ≡ x2 x3) ↔ (y0 y1 ≡ y2 y3)) )) stmt (BetweennessBuilder   ( (((x0 = y0) ∧ (x1 = y1)) ∧ (x2 = y2)) → ((between x0 x1 x2) ↔ (between y0 y1 y2)) )) </jh>

Comments about the predicate logic
There are two related comments to make about translating the predicate logic used in Tarski and Givant to what we use here. The Tarski and Givant paper, except as explicitly noted in axiom schema As. 11, does not contain axiom schemas but instead concrete axioms. The corresponding concept, given our first-order logic, would be to use  (rather than  ) everywhere with distinct variable constraints between all variables (again, except for As. 11 which has explicit distinct variable constraints in the Tarski and Givant paper). For convenience, we loosen this in two ways. First of all, we use  instead of   for all variables not subject to quantification (for comparison, this is similar to the way that metamath handles their complex number axioms ). Secondly, we only supply distinct variable constraints where quantifiers are involved (this also parallels metamath, although the metamath page doesn't explicitly discuss it). These changes do not affect the mathematical meaning of the axioms or their strength: for an example of translating axioms stated using  and distinct variable constraints on everything, to axioms in the style presented here, see First steps in set theory.

Expressions for points
Geometry traditionally proves the existence of a point and then assigns it to a variable, rather than providing an expression for that point. For example, we might say "let C be the midpoint of the line segment A B" rather than having a notation "midpoint A B". To supply the latter kind of notation, we'd need an axiom analogous to  in Interface:Zermelo–Fraenkel set theory (of course the notation wouldn't create a set, just a single point for which a formula holds). We do not pursue this notation, in deference to tradition and to avoid complexities in convincing ourselves that such an extension would not inadvertently make our system inconsistent or increase its strength.

Tarski's axioms as the basis for geometry
Tarski's axioms are intended to be sufficient for the development of classical geometry (in the style of Euclid's Elements and similar works). Getting from the axioms to the familiar theorems involving congruent triangles, angles, midpoints, perpendicular and parallel lines, and the like does entail quite a few proofs. They are broken up into the following pages, with references to the corresponding chapters in Narboux.
 * Line segment congruence. Also includes outer three segment and segment construction uniqueness. (chapter 2)
 * Betweenness of points, including the existence of distinct points,  (chapter 3)
 * Triangle congruence defined and with some basic results for degenerate triangles. Also includes inner five segment. (first half of chapter 4)
 * Collinearity (second half of chapter 4)
 * Connectivity for betweenness (first half of chapter 5)
 * Line segment inequality including an additional line segment construction theorem (second half of chapter 5)
 * Out lines (chapter 6)
 * Symmetric point (first portion of chapter 7)
 * Midpoint (latter portion of chapter 7)
 * Orthogonality: 1, 2, 3 (chapter 8)
 * The plane (chapter 9)
 * Line reflexivity (chapter 10)
 * Angles (chapter 11)
 * Parallelism (chapter 12)