## TPTP Axioms File: GEO004+0.ax

```%--------------------------------------------------------------------------
% File     : GEO004+0 : TPTP v7.5.0. Released v2.4.0.
% Domain   : Geometry (Oriented curves)
% Axioms   : Simple curve axioms
% Version  : [EHK99] axioms.
% English  :

% Refs     : [KE99]  Kulik & Eschenbach (1999), A Geometry of Oriented Curv
%          : [EHK99] Eschenbach et al. (1999), Representing Simple Trajecto
% Source   : [EHK99]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   16 (   1 unit)
%            Number of atoms       :   67 (  10 equality)
%            Maximal formula depth :   12 (   7 average)
%            Number of connectives :   55 (   4 ~  ;   9  |;  21  &)
%                                         (   9 <=>;  12 =>;   0 <=)
%                                         (   0 <~>;   0 ~|;   0 ~&)
%            Number of predicates  :    8 (   0 propositional; 1-3 arity)
%            Number of functors    :    1 (   0 constant; 2-2 arity)
%            Number of variables   :   53 (   0 singleton;  44 !;   9 ?)
%            Maximal term depth    :    2 (   1 average)
% SPC      :

%--------------------------------------------------------------------------
fof(part_of_defn,axiom,
( ! [C,C1] :
( part_of(C1,C)
<=> ! [P] :
( incident_c(P,C1)
=> incident_c(P,C) ) ) )).

fof(sum_defn,axiom,
( ! [C,C1,C2] :
( C = sum(C1,C2)
<=> ! [Q] :
( incident_c(Q,C)
<=> ( incident_c(Q,C1)
| incident_c(Q,C2) ) ) ) )).

fof(end_point_defn,axiom,
( ! [P,C] :
( end_point(P,C)
<=> ( incident_c(P,C)
& ! [C1,C2] :
( ( part_of(C1,C)
& part_of(C2,C)
& incident_c(P,C1)
& incident_c(P,C2) )
=> ( part_of(C1,C2)
| part_of(C2,C1) ) ) ) ) )).

fof(inner_point_defn,axiom,
( ! [P,C] :
( inner_point(P,C)
<=> ( incident_c(P,C)
& ~ end_point(P,C) ) ) )).

fof(meet_defn,axiom,
( ! [P,C,C1] :
( meet(P,C,C1)
<=> ( incident_c(P,C)
& incident_c(P,C1)
& ! [Q] :
( ( incident_c(Q,C)
& incident_c(Q,C1) )
=> ( end_point(Q,C)
& end_point(Q,C1) ) ) ) ) )).

fof(closed_defn,axiom,
( ! [C] :
( closed(C)
<=> ~ ( ? [P] : end_point(P,C) ) ) )).

fof(open_defn,axiom,
( ! [C] :
( open(C)
<=> ? [P] : end_point(P,C) ) )).

fof(c1,axiom,
( ! [C,C1] :
( ( part_of(C1,C)
& C1 != C )
=> open(C1) ) )).

fof(c2,axiom,
( ! [C,C1,C2,C3] :
( ( part_of(C1,C)
& part_of(C2,C)
& part_of(C3,C)
& ? [P] :
( end_point(P,C1)
& end_point(P,C2)
& end_point(P,C3) ) )
=> ( part_of(C2,C3)
| part_of(C3,C2)
| part_of(C1,C2)
| part_of(C2,C1)
| part_of(C1,C3)
| part_of(C3,C1) ) ) )).

fof(c3,axiom,
( ! [C] :
? [P] : inner_point(P,C) )).

fof(c4,axiom,
( ! [C,P] :
( inner_point(P,C)
=> ? [C1,C2] :
( meet(P,C1,C2)
& C = sum(C1,C2) ) ) )).

fof(c5,axiom,
( ! [C,P,Q,R] :
( ( end_point(P,C)
& end_point(Q,C)
& end_point(R,C) )
=> ( P = Q
| P = R
| Q = R ) ) )).

fof(c6,axiom,
( ! [C,P] :
( end_point(P,C)
=> ? [Q] :
( end_point(Q,C)
& P != Q ) ) )).

fof(c7,axiom,
( ! [C,C1,C2,P] :
( ( closed(C)
& meet(P,C1,C2)
& C = sum(C1,C2) )
=> ! [Q] :
( end_point(Q,C1)
=> meet(Q,C1,C2) ) ) )).

fof(c8,axiom,
( ! [C1,C2] :
( ? [P] : meet(P,C1,C2)
=> ? [C] : C = sum(C1,C2) ) )).

fof(c9,axiom,
( ! [C,C1] :
( ! [P] :
( incident_c(P,C)
<=> incident_c(P,C1) )
=> C = C1 ) )).

%--------------------------------------------------------------------------
```