TPTP Axioms File: GEO006+3.ax


%------------------------------------------------------------------------------
% File     : GEO006+3 : TPTP v7.5.0. Released v3.3.0.
% Domain   : Geometry (Constructive)
% Axioms   : Orthogonality
% Version  : [vPl95] axioms.
% English  :

% Refs     : [vPl95] von Plato (1995), The Axioms of Constructive Geometry
% Source   : [ILTP]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :    5 (   2 unit)
%            Number of atoms       :   15 (   0 equality)
%            Maximal formula depth :    9 (   6 average)
%            Number of connectives :   12 (   2 ~  ;   5  |;   3  &)
%                                         (   0 <=>;   2 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    4 (   0 propositional; 2-2 arity)
%            Number of functors    :    1 (   0 constant; 2-2 arity)
%            Number of variables   :   13 (   0 singleton;  13 !;   0 ?)
%            Maximal term depth    :    2 (   1 average)
% SPC      : 

% Comments : Requires GEO006+0, GEO006+2
%------------------------------------------------------------------------------
%----Compatibility of convergence and unorthogonality
fof(occu1,axiom,(
    ! [L,M] :
      ( convergent_lines(L,M)
      | unorthogonal_lines(L,M) ) )).

%----Apartness axiom for the conjunction of convergence and unorthogonality
fof(oac1,axiom,(
    ! [L,M,N] :
      ( ( convergent_lines(L,M)
        & unorthogonal_lines(L,M) )
     => ( ( convergent_lines(L,N)
          & unorthogonal_lines(L,N) )
        | ( convergent_lines(M,N)
          & unorthogonal_lines(M,N) ) ) ) )).

%----Axioms for the orthogonal construction
fof(ooc1,axiom,(
    ! [A,L] : ~ unorthogonal_lines(orthogonal_through_point(L,A),L) )).

fof(ooc2,axiom,(
    ! [A,L] : ~ apart_point_and_line(A,orthogonal_through_point(L,A)) )).

%----Constructive uniqueness axiom for orthogonals
fof(ouo1,axiom,(
    ! [A,L,M,N] :
      ( distinct_lines(L,M)
     => ( apart_point_and_line(A,L)
        | apart_point_and_line(A,M)
        | unorthogonal_lines(L,N)
        | unorthogonal_lines(M,N) ) ) )).

%------------------------------------------------------------------------------