## TPTP Axioms File: LCL013^0.ax

```%------------------------------------------------------------------------------
% File     : LCL013^0 : TPTP v7.4.0. Bugfixed v5.0.0.
% Domain   : Logic Calculi (Quantified multimodal logic)
% Axioms   : Embedding of quantified multimodal logic in simple type theory
% Version  : [Ben09] axioms.
% English  :

% Refs     : [Ben09] Benzmueller (2009), Email to Geoff Sutcliffe
% Source   : [Ben09]
% Names    :

% Status   : Satisfiable
% Syntax   : Number of formulae    :   63 (   1 unit;  32 type;  31 defn)
%            Number of atoms       :  365 (  36 equality; 130 variable)
%            Maximal formula depth :   11 (   6 average)
%            Number of connectives :  123 (   4   ~;   4   |;   8   &;  99   @)
%                                         (   0 <=>;   8  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&;   0  !!;   0  ??)
%            Number of type conns  :  168 ( 168   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :   37 (  32   :)
%            Number of variables   :   84 (   3 sgn;  29   !;   6   ?;  49   ^)
%                                         (  84   :;   0  !>;   0  ?*)
%                                         (   0  @-;   0  @+)
% SPC      :

% Bugfixes : v5.0.0 - Fixed mpartially_functional_type
%------------------------------------------------------------------------------
%----Declaration of additional base type mu
thf(mu_type,type,(
mu: \$tType )).

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

thf(meq_ind,definition,
( meq_ind
= ( ^ [X: mu,Y: mu,W: \$i] : ( X = 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(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 ) ) ) )).

%----Universal quantification: individuals
thf(mforall_ind_type,type,(
mforall_ind: ( mu > \$i > \$o ) > \$i > \$o )).

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

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 ) ) )).

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 ) ) ) ) ) )).

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(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(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 ) ) ) ) )).

%----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 invalidity
thf(minvalid_type,type,(
minvalid: ( \$i > \$o ) > \$o )).

thf(minvalid,definition,
( minvalid
= ( ^ [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 ) ) )).

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