TPTP Axioms File: MGT002+6.ax


%--------------------------------------------------------------------------
% File     : MGT002+6 : TPTP v9.3.1. Released v9.3.0.
% Domain   : Management
% Axioms   : Projection, box membership, and AABB completeness
% Version  : [Han98] axioms.
% English  : Encodes thm:projection (box membership iff per-axis 
%            membership) for 2- and 3-axis boxes, box intersection and 
%            conflict predicates, and 5 canonical interval shape witnesses 
%            establishing thm:aabb (AABB completeness). The original 10 
%            shapes reduce to 5 distinct predicate definitions under 
%            variable renaming; duplicates shape_rray_closed/shape_closed/
%            shape_full (all in_closed), shape_lopen (== shape_rray_open, 
%            both in_lopen), and shape_ropen (== shape_lray_open, both 
%            in_ropen) are removed. 

% Refs     : [MC+26] Mustafa et al. (2026), Axis Decomposition for ODRL
% Source   : [MC+26]
% Names    : PROJ000-0.ax [MC+26]

% Status   : Satisfiable
% Syntax   : Number of formulae    :    9 (   0 unt;   0 def)
%            Number of atoms       :   27 (   1 equ)
%            Maximal formula atoms :    4 (   3 avg)
%            Number of connectives :   18 (   0   ~;   1   |;   8   &)
%                                         (   9 <=>;   0  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   13 (   8 avg)
%            Maximal term depth    :    1 (   1 avg)
%            Number of predicates  :   13 (  12 usr;   0 prp; 2-9 aty)
%            Number of functors    :    0 (   0 usr;   0 con; --- aty)
%            Number of variables   :   45 (  45   !;   0   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments : Requires AXIS001+1.ax and ORD000-0.ax. Continuous domains
%            also requires ORD001-0.ax.
%          : All intervals treated as closed unless PREC000-0.ax is also
%            included for boundary precision.
%--------------------------------------------------------------------------
%----Box membership via projection
%----2-axis box: (X1,X2) in I1 x I2
fof(in_box2,axiom,
    ! [X1,X2,A1,B1,A2,B2] :
      ( in_box2(X1,X2,A1,B1,A2,B2)
    <=> ( in_closed(X1,A1,B1)
        & in_closed(X2,A2,B2) ) ) ).

%----3-axis box: (X1,X2,X3) in I1 x I2 x I3
fof(in_box3,axiom,
    ! [X1,X2,X3,A1,B1,A2,B2,A3,B3] :
      ( in_box3(X1,X2,X3,A1,B1,A2,B2,A3,B3)
    <=> ( in_closed(X1,A1,B1)
        & in_closed(X2,A2,B2)
        & in_closed(X3,A3,B3) ) ) ).

%----Box intersection
fof(box2_overlap,axiom,
    ! [A1,B1,A2,B2,C1,D1,C2,D2] :
      ( box2_compatible(A1,B1,A2,B2,C1,D1,C2,D2)
    <=> ( axis_compatible(A1,B1,C1,D1)
        & axis_compatible(A2,B2,C2,D2) ) ) ).

fof(box2_conflict,axiom,
    ! [A1,B1,A2,B2,C1,D1,C2,D2] :
      ( box2_conflict(A1,B1,A2,B2,C1,D1,C2,D2)
    <=> ( axis_conflict(A1,B1,C1,D1)
        | axis_conflict(A2,B2,C2,D2) ) ) ).

%----AABB Completeness: 5 canonical interval shapes
%
%----The 10 shapes of thm:aabb reduce to 5 distinct predicate definitions:
%----  Shapes 2/3/6/10 all define in_closed  => one canonical axiom (shape_closed)
%----  Shapes 4/8      both define in_ropen  => one canonical axiom (shape_ropen)
%----  Shapes 5/7      both define in_lopen  => one canonical axiom (shape_lopen)
%----  Shape  9        defines in_open       => shape_open (unique)
%----  Shape  1        specialises in_closed => shape_point (useful explicit lemma)
%
%----Shapes 2-5 are also implied by AXIS000-0.ax Section A when co-included.
%----They are retained as named proof-search hints for Vampire/E.
%----Shape 1: point [V,V]  -- eq
%----Not directly in AXIS000; derivable from in_closed + leq_antisym but
%----retained as an explicit lemma to speed up proof search.
fof(shape_point,axiom,
    ! [X,V] :
      ( in_closed(X,V,V)
    <=> X = V ) ).

%----Shape 2 (canonical): closed interval [A,B]
%----Subsumes paper shapes 2 (lteq left ray), 3 (gteq right ray),
%----6 (closed bounded), and 10 (full domain) -- all identical under renaming.
fof(shape_closed,axiom,
    ! [X,A,B] :
      ( in_closed(X,A,B)
    <=> ( leq(A,X)
        & leq(X,B) ) ) ).

%----Shape 4 (canonical): right-open interval [A,B)  -- lt operator
%----Subsumes paper shapes 4 (left ray open) and 8 (bounded right-open).
fof(shape_ropen,axiom,
    ! [X,A,B] :
      ( in_ropen(X,A,B)
    <=> ( leq(A,X)
        & less(X,B) ) ) ).

%----Shape 5 (canonical): left-open interval (A,B]  -- gt operator
%----Subsumes paper shapes 5 (right ray open) and 7 (bounded left-open).
fof(shape_lopen,axiom,
    ! [X,A,B] :
      ( in_lopen(X,A,B)
    <=> ( less(A,X)
        & leq(X,B) ) ) ).

%----Shape 9: open interval (A,B)  -- gt A and lt B (unique, no duplicates)
fof(shape_open,axiom,
    ! [X,A,B] :
      ( in_open(X,A,B)
    <=> ( less(A,X)
        & less(X,B) ) ) ).

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