TPTP Axioms File: MGT002+3.ax


%--------------------------------------------------------------------------
% File     : MGT002+3 : TPTP v9.3.1. Released v9.3.0.
% Domain   : Management
% Axioms   : Logical constraint composition: or and xone verdicts
% Version  : [Han98] axioms.
% English  : Encodes the three-valued verdict semantics for ODRL or and
%            xone over branch pairs (thm:composition-soundness).
%            or_verdict/2: compatible if any branch pair overlaps;
%            conflict only if all pairs conflict.
%            xone_verdict/2: Vm = verdict of one pair; Vr = MAX of all
%            remaining pairs. Compatible iff Vm=compatible & Vr=conflict
%            (exactly one overlapping pair). Vr MUST be MAX, not min;
%            see body comment for the multi-pair correctness argument.
%            or_sound_2branch: 1D helper for disjunction soundness only;
%            uses single variable X, not multi-axis box vectors.

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

% Status   : Satisfiable
% Syntax   : Number of formulae    :    9 (   0 unt;   0 def)
%            Number of atoms       :   52 (  28 equ)
%            Maximal formula atoms :    8 (   5 avg)
%            Number of connectives :   49 (   6   ~;   7   |;  27   &)
%                                         (   0 <=>;   9  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   14 (   8 avg)
%            Maximal term depth    :    2 (   1 avg)
%            Number of predicates  :    4 (   3 usr;   0 prp; 1-4 aty)
%            Number of functors    :    5 (   5 usr;   3 con; 0-2 aty)
%            Number of variables   :   25 (  24   !;   1   ?)
% SPC      : FOF_SAT_RFO_SEQ

% Comments : Requires AXIS001+1.ax and ORD000-0.ax. Continuous domains 
%            also requires ORD001-0.ax.
%--------------------------------------------------------------------------
%----  V1, V2 are box-level verdicts of two branch pairs being combined.
%----  Under the order Conflict < Unknown < Compatible:
%----    max(V1,V2) = compatible  =>  or = compatible  (any overlap suffices)
%----    max(V1,V2) = conflict    =>  or = conflict    (all pairs disjoint)
%----    max(V1,V2) = unknown     =>  or = unknown     (inconclusive)
fof(or_compat,axiom,
    ! [V1,V2] :
      ( ( is_verdict(V1)
        & is_verdict(V2)
        & ( V1 = compatible
          | V2 = compatible ) )
     => or_verdict(V1,V2) = compatible ) ).

fof(or_conflict,axiom,
    ! [V1,V2] :
      ( ( is_verdict(V1)
        & is_verdict(V2)
        & V1 = conflict
        & V2 = conflict )
     => or_verdict(V1,V2) = conflict ) ).

fof(or_unknown,axiom,
    ! [V1,V2] :
      ( ( is_verdict(V1)
        & is_verdict(V2)
        & V1 != compatible
        & V2 != compatible
        & ~ ( V1 = conflict
            & V2 = conflict ) )
     => or_verdict(V1,V2) = unknown ) ).

fof(or_verdict_total,axiom,
    ! [V1,V2] :
      ( ( is_verdict(V1)
        & is_verdict(V2) )
     => ( or_verdict(V1,V2) = compatible
        | or_verdict(V1,V2) = conflict
        | or_verdict(V1,V2) = unknown ) ) ).

%----xone_verdict(Vm, Vr):
%----  Vm = verdict of the ONE branch pair being tested for unique overlap.
%----  Vr = MAX of ALL remaining branch pair verdicts under Conflict<Unknown<Compatible.
%----CRITICAL: Vr must be MAX (not min) of remaining pairs.
%----  Vr = conflict   IFF every remaining pair is conflict (max = conflict).
%----  Vr = unknown    IFF some remaining pair is unknown and none compatible.
%----  Vr = compatible IFF at least one remaining pair is compatible.
%----With MAX semantics the 9-case truth table is:
%----  (compatible, conflict)   -> compatible  [exactly 1 compat pair]
%----  (compatible, unknown)    -> unknown     [1 compat + >=1 unknown]
%----  (compatible, compatible) -> unknown     [>=2 compat pairs]
%----  (conflict,   conflict)   -> conflict    [all pairs conflict]
%----  (conflict,   *)          -> unknown     [no compat, some not conflict]
%----  (unknown,    *)          -> unknown
%----If Vr were MIN, a scenario with 2 compat + 2 conflict pairs would give
%----  Vm=compat, Vr=min(compat,conflict,conflict)=conflict, incorrectly
%----  firing xone_compat (Compatible instead of Unknown).
%----Generators MUST use MAX for Vr; MUST be MAX not min (see above).
fof(xone_compat,axiom,
    ! [Vm,Vr] :
      ( ( is_verdict(Vm)
        & is_verdict(Vr)
        & Vm = compatible
        & Vr = conflict )
     => xone_verdict(Vm,Vr) = compatible ) ).

fof(xone_conflict,axiom,
    ! [Vm,Vr] :
      ( ( is_verdict(Vm)
        & is_verdict(Vr)
        & Vm = conflict
        & Vr = conflict )
     => xone_verdict(Vm,Vr) = conflict ) ).

fof(xone_unknown,axiom,
    ! [Vm,Vr] :
      ( ( is_verdict(Vm)
        & is_verdict(Vr)
        & ~ ( Vm = compatible
            & Vr = conflict )
        & ~ ( Vm = conflict
            & Vr = conflict ) )
     => xone_verdict(Vm,Vr) = unknown ) ).

fof(xone_verdict_total,axiom,
    ! [Vm,Vr] :
      ( ( is_verdict(Vm)
        & is_verdict(Vr) )
     => ( xone_verdict(Vm,Vr) = compatible
        | xone_verdict(Vm,Vr) = conflict
        | xone_verdict(Vm,Vr) = unknown ) ) ).

%----SCOPE: 1-dimensional only.
%----  Uses a single variable X with in_closed on single-axis intervals.
%----  Encodes: all 4 cross-pair axis conflicts on one axis => no X in any
%----  cross-pair combination on that axis.
%----  For N-dimensional box soundness (multi-axis policies), a separate
%----  axiom using in_box2/in_box3 from PROJ000-0.ax with vector variables
%----  (X1,...,Xn) is required.  This axiom is a 1D proof-search hint only.
fof(or_sound_2branch,axiom,
    ! [A1lo,A1hi,A2lo,A2hi,B1lo,B1hi,B2lo,B2hi] :
      ( ( axis_conflict(A1lo,A1hi,B1lo,B1hi)
        & axis_conflict(A1lo,A1hi,B2lo,B2hi)
        & axis_conflict(A2lo,A2hi,B1lo,B1hi)
        & axis_conflict(A2lo,A2hi,B2lo,B2hi) )
     => ~ ? [X] :
            ( ( in_closed(X,A1lo,A1hi)
              | in_closed(X,A2lo,A2hi) )
            & ( in_closed(X,B1lo,B1hi)
              | in_closed(X,B2lo,B2hi) ) ) ) ).

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