TPTP Axioms File: MGT002+0.ax
%--------------------------------------------------------------------------
% File : MGT002+0 : TPTP v9.3.1. Released v9.3.0.
% Domain : Management
% Axioms : Strict total order for interval reasoning
% Version : [Han98] axioms.
% English : Foundation axioms for axis-specific constraint reasoning.
% Defines a strict total order (less/2) and derived non-strict
% order (leq/2). Works for both discrete (N) and continuous (R)
% domains.
% Refs : [MC+26] Mustafa et al. (2026), Axis Decomposition for ODRL
% Source : [MC+26]
% Names : ORD000-0.ax [MC+26]
% Status : Satisfiable
% Syntax : Number of formulae : 9 ( 1 unt; 0 def)
% Number of atoms : 24 ( 3 equ)
% Maximal formula atoms : 3 ( 2 avg)
% Number of connectives : 16 ( 1 ~; 3 |; 5 &)
% ( 1 <=>; 6 =>; 0 <=; 0 <~>)
% Maximal formula depth : 6 ( 5 avg)
% Maximal term depth : 1 ( 1 avg)
% Number of predicates : 3 ( 2 usr; 0 prp; 2-2 aty)
% Number of functors : 0 ( 0 usr; 0 con; --- aty)
% Number of variables : 21 ( 21 !; 0 ?)
% SPC : FOF_SAT_RFO_SEQ
% Comments :
%--------------------------------------------------------------------------
%----Core: Strict total order (3 axioms)
%----Irreflexivity: nothing is less than itself
fof(irreflexive,axiom,
! [X] : ~ less(X,X) ).
%----Transitivity: less-than chains
fof(transitive,axiom,
! [X,Y,Z] :
( ( less(X,Y)
& less(Y,Z) )
=> less(X,Z) ) ).
%----Trichotomy: for any two elements, exactly one of <, =, > holds
fof(trichotomy,axiom,
! [X,Y] :
( less(X,Y)
| X = Y
| less(Y,X) ) ).
%----Derived: Non-strict order (1 axiom)
%----leq defined as the reflexive closure of less
fof(leq_def,axiom,
! [X,Y] :
( leq(X,Y)
<=> ( less(X,Y)
| X = Y ) ) ).
%----Helper lemmas (derivable but aid Vampire/E performance)
%----Antisymmetry of leq
fof(leq_antisym,axiom,
! [X,Y] :
( ( leq(X,Y)
& leq(Y,X) )
=> X = Y ) ).
%----less implies leq
fof(less_implies_leq,axiom,
! [X,Y] :
( less(X,Y)
=> leq(X,Y) ) ).
%----Mixed transitivity
fof(leq_less_trans,axiom,
! [X,Y,Z] :
( ( leq(X,Y)
& less(Y,Z) )
=> less(X,Z) ) ).
fof(less_leq_trans,axiom,
! [X,Y,Z] :
( ( less(X,Y)
& leq(Y,Z) )
=> less(X,Z) ) ).
fof(leq_trans,axiom,
! [X,Y,Z] :
( ( leq(X,Y)
& leq(Y,Z) )
=> leq(X,Z) ) ).
%--------------------------------------------------------------------------