TPTP Axioms File: GEO007+0.ax
%------------------------------------------------------------------------------
% File : GEO007+0 : TPTP v9.0.0. Bugfixed v6.4.0.
% Domain : Geometry (Constructive)
% Axioms : Ordered affine geometry
% Version : [vPl98] axioms.
% English :
% Refs : [vPl98] von Plato (1998), A Constructive Theory of Ordered Aff
% Source : [ILTP]
% Names :
% Status : Satisfiable
% Syntax : Number of formulae : 31 ( 7 unt; 0 def)
% Number of atoms : 102 ( 0 equ)
% Maximal formula atoms : 10 ( 3 avg)
% Number of connectives : 87 ( 16 ~; 24 |; 25 &)
% ( 5 <=>; 17 =>; 0 <=; 0 <~>)
% Maximal formula depth : 13 ( 6 avg)
% Maximal term depth : 3 ( 1 avg)
% Number of predicates : 12 ( 12 usr; 0 prp; 1-4 aty)
% Number of functors : 4 ( 4 usr; 0 con; 1-2 aty)
% Number of variables : 71 ( 71 !; 0 ?)
% SPC :
% Comments :
% Bugfixes : v6.4.0 - Fixed oag8.
%------------------------------------------------------------------------------
%----Abbreviations
fof(apt_def,axiom,
! [A,L] :
( apart_point_and_line(A,L)
<=> ( left_apart_point(A,L)
| left_apart_point(A,reverse_line(L)) ) ) ).
fof(con_def,axiom,
! [L,M] :
( convergent_lines(L,M)
<=> ( unequally_directed_lines(L,M)
& unequally_directed_lines(L,reverse_line(M)) ) ) ).
fof(div_def,axiom,
! [A,B,L] :
( divides_points(L,A,B)
<=> ( ( left_apart_point(A,L)
& left_apart_point(B,reverse_line(L)) )
| ( left_apart_point(A,reverse_line(L))
& left_apart_point(B,L) ) ) ) ).
fof(bf_def,axiom,
! [L,A,B] :
( before_on_line(L,A,B)
<=> ( distinct_points(A,B)
& ~ ( left_apart_point(A,L)
| left_apart_point(A,reverse_line(L)) )
& ~ ( left_apart_point(B,L)
| left_apart_point(B,reverse_line(L)) )
& ~ unequally_directed_lines(L,line_connecting(A,B)) ) ) ).
fof(bet_def,axiom,
! [L,A,B,C] :
( between_on_line(L,A,B,C)
<=> ( ( before_on_line(L,A,B)
& before_on_line(L,B,C) )
| ( before_on_line(L,C,B)
& before_on_line(L,B,A) ) ) ) ).
%----General axioms for the basic concepts
fof(oag1,axiom,
! [A] : ~ distinct_points(A,A) ).
fof(oag2,axiom,
! [A,B,C] :
( distinct_points(A,B)
=> ( distinct_points(A,C)
| distinct_points(B,C) ) ) ).
fof(oag3,axiom,
! [L] : ~ distinct_lines(L,L) ).
fof(oag4,axiom,
! [L,M,N] :
( distinct_lines(L,M)
=> ( distinct_lines(L,N)
| distinct_lines(M,N) ) ) ).
fof(oag5,axiom,
! [L] : ~ unequally_directed_lines(L,L) ).
fof(oag6,axiom,
! [L,M,N] :
( unequally_directed_lines(L,M)
=> ( unequally_directed_lines(L,N)
| unequally_directed_lines(M,N) ) ) ).
fof(oag7,axiom,
! [L,M,N] :
( ( unequally_directed_lines(L,M)
& unequally_directed_lines(L,reverse_line(M)) )
=> ( ( unequally_directed_lines(L,N)
& unequally_directed_lines(L,reverse_line(N)) )
| ( unequally_directed_lines(M,N)
& unequally_directed_lines(M,reverse_line(N)) ) ) ) ).
fof(oag8,axiom,
! [L,M] :
( ( line(L)
& line(M) )
=> ( unequally_directed_lines(L,M)
| unequally_directed_lines(L,reverse_line(M)) ) ) ).
fof(oag9,axiom,
! [L,M] :
( ( unequally_directed_lines(L,M)
& unequally_directed_lines(L,reverse_line(M)) )
=> ( left_convergent_lines(L,M)
| left_convergent_lines(L,reverse_line(M)) ) ) ).
fof(oag10,axiom,
! [A,L] :
~ ( left_apart_point(A,L)
| left_apart_point(A,reverse_line(L)) ) ).
fof(oag11,axiom,
! [L,M] :
~ ( left_convergent_lines(L,M)
| left_convergent_lines(L,reverse_line(M)) ) ).
%----Constructed objects
fof(oagco1,axiom,
! [A,B] :
( ( point(A)
& point(B)
& distinct_points(A,B) )
=> line(line_connecting(A,B)) ) ).
fof(oagco2,axiom,
! [L,M] :
( ( line(L)
& line(M)
& unequally_directed_lines(L,M)
& unequally_directed_lines(L,reverse_line(M)) )
=> point(intersection_point(L,M)) ) ).
fof(oagco3,axiom,
! [L,A] :
( ( point(A)
& line(L) )
=> line(parallel_through_point(L,A)) ) ).
fof(oagco4,axiom,
! [L] :
( line(L)
=> line(reverse_line(L)) ) ).
fof(oagco5,axiom,
! [A,B] :
( distinct_points(A,B)
=> ( ~ apart_point_and_line(A,line_connecting(A,B))
& ~ apart_point_and_line(B,line_connecting(A,B)) ) ) ).
fof(oagco6,axiom,
! [L,M] :
( ( unequally_directed_lines(L,M)
& unequally_directed_lines(L,reverse_line(M)) )
=> ( ~ apart_point_and_line(intersection_point(L,M),L)
& ~ apart_point_and_line(intersection_point(L,M),M) ) ) ).
fof(oagco7,axiom,
! [A,L] : ~ apart_point_and_line(A,parallel_through_point(L,A)) ).
fof(oagco8,axiom,
! [L] : ~ distinct_lines(L,reverse_line(L)) ).
fof(oagco9,axiom,
! [A,B] : ~ unequally_directed_lines(line_connecting(A,B),reverse_line(line_connecting(B,A))) ).
fof(oagco10,axiom,
! [A,L] : ~ unequally_directed_lines(parallel_through_point(L,A),L) ).
%----Uniqueness axioms for the constructions
fof(oaguc1,axiom,
! [A,B,L,M] :
( ( distinct_points(A,B)
& distinct_lines(L,M) )
=> ( left_apart_point(A,L)
| left_apart_point(B,L)
| left_apart_point(A,M)
| left_apart_point(B,M)
| left_apart_point(A,reverse_line(L))
| left_apart_point(B,reverse_line(L))
| left_apart_point(A,reverse_line(M))
| left_apart_point(B,reverse_line(M)) ) ) ).
fof(oaguc2,axiom,
! [A,B,L] :
( ( distinct_points(A,B)
& left_apart_point(A,L) )
=> ( left_apart_point(B,L)
| left_convergent_lines(line_connecting(A,B),L) ) ) ).
%----Substitution axioms
fof(oagsub1,axiom,
! [A,B,L] :
( left_apart_point(A,L)
=> ( distinct_points(A,B)
| left_apart_point(B,L) ) ) ).
fof(oagsub2,axiom,
! [A,L,M] :
( ( left_apart_point(A,L)
& unequally_directed_lines(L,M) )
=> ( distinct_lines(L,M)
| left_apart_point(A,reverse_line(M)) ) ) ).
fof(oagsub3,axiom,
! [L,M,N] :
( left_convergent_lines(L,M)
=> ( unequally_directed_lines(M,N)
| left_convergent_lines(L,N) ) ) ).
%------------------------------------------------------------------------------