TPTP Axioms File: LCL015^0.ax

```%------------------------------------------------------------------------------
% File     : LCL015^0 : TPTP v7.4.0. Released v5.5.0.
% Domain   : Logic Calculi (Quantified multimodal logic, cumulative domains)
% Axioms   : Embedding of quantified multimodal logic in simple type theory
% Version  : [Ben12] axioms.
% English  :

% Refs     : [Ben12] Benzmueller (2012), Email to Geoff Sutcliffe
% Source   : [Ben12]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   64 (   1 unit;  33 type;  30 defn)
%            Number of atoms       :  369 (  34 equality; 132 variable)
%            Maximal formula depth :   11 (   6 average)
%            Number of connectives :  128 (   4   ~;   4   |;   8   &; 103   @)
%                                         (   0 <=>;   9  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&;   0  !!;   0  ??)
%            Number of type conns  :  170 ( 170   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   38 (  33   :)
%            Number of variables   :   83 (   2 sgn;  30   !;   7   ?;  46   ^)
%                                         (  83   :;   0  !>;   0  ?*)
%                                         (   0  @-;   0  @+)
% SPC      : THF_SAT_EQU

% Comments : LCL015^1 and this are essentially LCL013^0.ax with the following
%            modifications to support cumulative domains:
%            - addition of a predicate exists_in_world
%            - use of this predicate in a modified definition mforall_ind
%            - use of this predicate in an added axiom for cumulative domains
%------------------------------------------------------------------------------
%----Declaration of additional base type mu
thf(mu_type,type,(
mu: \$tType )).

%----Equality
thf(qmltpeq_type,type,(
qmltpeq: mu > mu > \$i > \$o )).

% originale Definition
%thf(qmltpeq,definition,
%    ( qmltpeq
%    = ( ^ [X: mu,Y: mu,W: \$i] : ( X = Y ) ) )).

% erweiterte Leibnitz-Definition
%thf(qmltpeq,definition,
% ( qmltpeq
% = ( ^ [X: mu,Y: mu,W: \$i] : (![P: mu > \$i > \$o]: ( (P @ X @ W) <=> (P @ Y @ W) ) ) ) )).

%  Leibnitz-Definition
%thf(qmltpeq,definition,
% ( qmltpeq
%  = ( ^ [X: mu,Y: mu,W: \$i] : (! [P: mu > \$o]: ( (P @ X) <=> (P @ Y) ) ) ) )).

thf(meq_prop_type,type,(
meq_prop: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(meq_prop,definition,
( meq_prop
= ( ^ [X: \$i > \$o,Y: \$i > \$o,W: \$i] :
( ( X @ W )
= ( Y @ W ) ) ) )).

%----Modal operators not, or, box, Pi
thf(mnot_type,type,(
mnot: ( \$i > \$o ) > \$i > \$o )).

thf(mnot,definition,
( mnot
= ( ^ [Phi: \$i > \$o,W: \$i] :
~ ( Phi @ W ) ) )).

thf(mor_type,type,(
mor: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mor,definition,
( mor
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o,W: \$i] :
( ( Phi @ W )
| ( Psi @ W ) ) ) )).

thf(mbox_type,type,(
mbox: ( \$i > \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mbox,definition,
( mbox
= ( ^ [R: \$i > \$i > \$o,Phi: \$i > \$o,W: \$i] :
! [V: \$i] :
( ~ ( R @ W @ V )
| ( Phi @ V ) ) ) )).

thf(mforall_prop_type,type,(
mforall_prop: ( ( \$i > \$o ) > \$i > \$o ) > \$i > \$o )).

thf(mforall_prop,definition,
( mforall_prop
= ( ^ [Phi: ( \$i > \$o ) > \$i > \$o,W: \$i] :
! [P: \$i > \$o] :
( Phi @ P @ W ) ) )).

%----Further modal operators
thf(mtrue_type,type,(
mtrue: \$i > \$o )).

thf(mtrue,definition,
( mtrue
= ( ^ [W: \$i] : \$true ) )).

thf(mfalse_type,type,(
mfalse: \$i > \$o )).

thf(mfalse,definition,
( mfalse
= ( mnot @ mtrue ) )).

thf(mand_type,type,(
mand: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mand,definition,
( mand
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o] :
( mnot @ ( mor @ ( mnot @ Phi ) @ ( mnot @ Psi ) ) ) ) )).

thf(mimplies_type,type,(
mimplies: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mimplies,definition,
( mimplies
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o] :
( mor @ ( mnot @ Phi ) @ Psi ) ) )).

thf(mimplied_type,type,(
mimplied: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mimplied,definition,
( mimplied
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o] :
( mor @ ( mnot @ Psi ) @ Phi ) ) )).

thf(mequiv_type,type,(
mequiv: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mequiv,definition,
( mequiv
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o] :
( mand @ ( mimplies @ Phi @ Psi ) @ ( mimplies @ Psi @ Phi ) ) ) )).

thf(mxor_type,type,(
mxor: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mxor,definition,
( mxor
= ( ^ [Phi: \$i > \$o,Psi: \$i > \$o] :
( mnot @ ( mequiv @ Phi @ Psi ) ) ) )).

thf(mdia_type,type,(
mdia: ( \$i > \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mdia,definition,
( mdia
= ( ^ [R: \$i > \$i > \$o,Phi: \$i > \$o] :
( mnot @ ( mbox @ R @ ( mnot @ Phi ) ) ) ) )).

%--- (new for cumulative)
%---Declaration of existence predicate for simulating cumulative domain
thf(exists_in_world_type,type,(
exists_in_world: mu > \$i > \$o )).

%----The domains are non-empty
thf(nonempty_ax,axiom,(
! [V: \$i] :
? [X: mu] :
( exists_in_world @ X @ V ) )).

thf(mforall_ind_type,type,(
mforall_ind: ( mu > \$i > \$o ) > \$i > \$o )).

%--- (new for cumulative)
thf(mforall_ind,definition,
( mforall_ind
= ( ^ [Phi: mu > \$i > \$o,W: \$i] :
! [X: mu] :
( ( exists_in_world @ X @ W )
=> ( Phi @ X @ W ) ) ) )).

%thf(mforall_ind,definition,
%    ( mforall_ind
%    = ( ^ [Phi: mu > \$i > \$o,W: \$i] :
%        ! [X: mu] :
%          ( Phi @ X @ W ) ) )).

thf(mexists_ind_type,type,(
mexists_ind: ( mu > \$i > \$o ) > \$i > \$o )).

thf(mexists_ind,definition,
( mexists_ind
= ( ^ [Phi: mu > \$i > \$o] :
( mnot
@ ( mforall_ind
@ ^ [X: mu] :
( mnot @ ( Phi @ X ) ) ) ) ) )).

thf(mexists_prop_type,type,(
mexists_prop: ( ( \$i > \$o ) > \$i > \$o ) > \$i > \$o )).

thf(mexists_prop,definition,
( mexists_prop
= ( ^ [Phi: ( \$i > \$o ) > \$i > \$o] :
( mnot
@ ( mforall_prop
@ ^ [P: \$i > \$o] :
( mnot @ ( Phi @ P ) ) ) ) ) )).

%----Definition of properties of accessibility relations
thf(mreflexive_type,type,(
mreflexive: ( \$i > \$i > \$o ) > \$o )).

thf(mreflexive,definition,
( mreflexive
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i] :
( R @ S @ S ) ) )).

thf(msymmetric_type,type,(
msymmetric: ( \$i > \$i > \$o ) > \$o )).

thf(msymmetric,definition,
( msymmetric
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i] :
( ( R @ S @ T )
=> ( R @ T @ S ) ) ) )).

thf(mserial_type,type,(
mserial: ( \$i > \$i > \$o ) > \$o )).

thf(mserial,definition,
( mserial
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i] :
? [T: \$i] :
( R @ S @ T ) ) )).

thf(mtransitive_type,type,(
mtransitive: ( \$i > \$i > \$o ) > \$o )).

thf(mtransitive,definition,
( mtransitive
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( ( R @ S @ T )
& ( R @ T @ U ) )
=> ( R @ S @ U ) ) ) )).

thf(meuclidean_type,type,(
meuclidean: ( \$i > \$i > \$o ) > \$o )).

thf(meuclidean,definition,
( meuclidean
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( ( R @ S @ T )
& ( R @ S @ U ) )
=> ( R @ T @ U ) ) ) )).

thf(mpartially_functional_type,type,(
mpartially_functional: ( \$i > \$i > \$o ) > \$o )).

thf(mpartially_functional,definition,
( mpartially_functional
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( ( R @ S @ T )
& ( R @ S @ U ) )
=> ( T = U ) ) ) )).

thf(mfunctional_type,type,(
mfunctional: ( \$i > \$i > \$o ) > \$o )).

thf(mfunctional,definition,
( mfunctional
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i] :
? [T: \$i] :
( ( R @ S @ T )
& ! [U: \$i] :
( ( R @ S @ U )
=> ( T = U ) ) ) ) )).

thf(mweakly_dense_type,type,(
mweakly_dense: ( \$i > \$i > \$o ) > \$o )).

thf(mweakly_dense,definition,
( mweakly_dense
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( R @ S @ T )
=> ? [U: \$i] :
( ( R @ S @ U )
& ( R @ U @ T ) ) ) ) )).

thf(mweakly_connected_type,type,(
mweakly_connected: ( \$i > \$i > \$o ) > \$o )).

thf(mweakly_connected,definition,
( mweakly_connected
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( ( R @ S @ T )
& ( R @ S @ U ) )
=> ( ( R @ T @ U )
| ( T = U )
| ( R @ U @ T ) ) ) ) )).

thf(mweakly_directed_type,type,(
mweakly_directed: ( \$i > \$i > \$o ) > \$o )).

thf(mweakly_directed,definition,
( mweakly_directed
= ( ^ [R: \$i > \$i > \$o] :
! [S: \$i,T: \$i,U: \$i] :
( ( ( R @ S @ T )
& ( R @ S @ U ) )
=> ? [V: \$i] :
( ( R @ T @ V )
& ( R @ U @ V ) ) ) ) )).

%----Definition of validity
thf(mvalid_type,type,(
mvalid: ( \$i > \$o ) > \$o )).

thf(mvalid,definition,
( mvalid
= ( ^ [Phi: \$i > \$o] :
! [W: \$i] :
( Phi @ W ) ) )).

%----Definition of satisfiability
thf(msatisfiable_type,type,(
msatisfiable: ( \$i > \$o ) > \$o )).

thf(msatisfiable,definition,
( msatisfiable
= ( ^ [Phi: \$i > \$o] :
? [W: \$i] :
( Phi @ W ) ) )).

%----Definition of countersatisfiability
thf(mcountersatisfiable_type,type,(
mcountersatisfiable: ( \$i > \$o ) > \$o )).

thf(mcountersatisfiable,definition,
( mcountersatisfiable
= ( ^ [Phi: \$i > \$o] :
? [W: \$i] :
~ ( Phi @ W ) ) )).

%----Definition of invalidity
thf(minvalid_type,type,(
minvalid: ( \$i > \$o ) > \$o )).

thf(minvalid,definition,
( minvalid
= ( ^ [Phi: \$i > \$o] :
! [W: \$i] :
~ ( Phi @ W ) ) )).

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