## TPTP Axioms File: LCL008^0.ax

```%------------------------------------------------------------------------------
% File     : LCL008^0 : TPTP v7.5.0. Released v3.6.0.
% Domain   : Logical Calculi (Modal Logic)
% Axioms   : Multi-Modal Logic
% Version  : [Ben08] axioms : Especial.
% English  :

% Refs     : [Ben08] Benzmueller (2008), Email to G. Sutcliffe
%          : [BP08]  Benzmueller & Paulson (2009), Exploring Properties of
% Source   : [Ben08]
% Names    : MODAL_LOGIC [Ben08]

% Status   : Satisfiable
% Syntax   : Number of formulae    :   35 (   2 unit;  20 type;  15 defn)
%            Number of atoms       :  212 (  15 equality;  40 variable)
%            Maximal formula depth :    9 (   5 average)
%            Number of connectives :   35 (   3   ~;   1   |;   2   &;  28   @)
%                                         (   0 <=>;   1  =>;   0  <=;   0 <~>)
%                                         (   0  ~|;   0  ~&;   0  !!;   0  ??)
%            Number of type conns  :   79 (  79   >;   0   *;   0   +)
%            Number of symbols     :   21 (  20   :;   0  :=)
%            Number of variables   :   36 (   2 sgn;   4   !;   4   ?;  28   ^)
%                                         (  36   :;   0  :=;   0  !>;   0  ?*)
% SPC      :

%------------------------------------------------------------------------------
%----Our possible worlds are are encoded as terms the type  \$i;
%----Here is a constant for the current world:
thf(current_world,type,(
current_world: \$i )).

%----Modal logic propositions are then becoming predicates of type ( \$i> \$o);
%----We introduce some atomic multi-modal logic propositions as constants of
%----type ( \$i> \$o):
thf(prop_a,type,(
prop_a: \$i > \$o )).

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

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

%----The idea is that an atomic multi-modal logic proposition P (of type
%---- \$i >  \$o) holds at a world W (of type  \$i) iff W is in P resp. (P @ W)
%----Now we define the multi-modal logic connectives by reducing them to set
%----operations
%----mfalse corresponds to emptyset (of type \$i)
thf(mfalse_decl,type,(
mfalse: \$i > \$o )).

thf(mfalse,definition,
( mfalse
= ( ^ [X: \$i] : \$false ) )).

%----mtrue corresponds to the universal set (of type \$i)
thf(mtrue_decl,type,(
mtrue: \$i > \$o )).

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

%----mnot corresponds to set complement
thf(mnot_decl,type,(
mnot: ( \$i > \$o ) > \$i > \$o )).

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

%----mor corresponds to set union
thf(mor_decl,type,(
mor: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mor,definition,
( mor
= ( ^ [X: \$i > \$o,Y: \$i > \$o,U: \$i] :
( ( X @ U )
| ( Y @ U ) ) ) )).

%----mand corresponds to set intersection
thf(mand_decl,type,(
mand: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mand,definition,
( mand
= ( ^ [X: \$i > \$o,Y: \$i > \$o,U: \$i] :
( ( X @ U )
& ( Y @ U ) ) ) )).

%----mimpl defined via mnot and mor
thf(mimpl_decl,type,(
mimpl: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mimpl,definition,
( mimpl
= ( ^ [U: \$i > \$o,V: \$i > \$o] :
( mor @ ( mnot @ U ) @ V ) ) )).

%----miff defined via mand and mimpl
thf(miff_decl,type,(
miff: ( \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(miff,definition,
( miff
= ( ^ [U: \$i > \$o,V: \$i > \$o] :
( mand @ ( mimpl @ U @ V ) @ ( mimpl @ V @ U ) ) ) )).

%----mbox
thf(mbox_decl,type,(
mbox: ( \$i > \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mbox,definition,
( mbox
= ( ^ [R: \$i > \$i > \$o,P: \$i > \$o,X: \$i] :
! [Y: \$i] :
( ( R @ X @ Y )
=> ( P @ Y ) ) ) )).

%----mdia
thf(mdia_decl,type,(
mdia: ( \$i > \$i > \$o ) > ( \$i > \$o ) > \$i > \$o )).

thf(mdia,definition,
( mdia
= ( ^ [R: \$i > \$i > \$o,P: \$i > \$o,X: \$i] :
? [Y: \$i] :
( ( R @ X @ Y )
& ( P @ Y ) ) ) )).

%----For mall and mexists, i.e., first order modal logic, we declare a new
%----base type individuals
thf(individuals_decl,type,(
individuals: \$tType )).

%----mall
thf(mall_decl,type,(
mall: ( individuals > \$i > \$o ) > \$i > \$o )).

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

%----mexists
thf(mexists_decl,type,(
mexists: ( individuals > \$i > \$o ) > \$i > \$o )).

thf(mexists,definition,
( mexists
= ( ^ [P: individuals > \$i > \$o,W: \$i] :
? [X: individuals] :
( P @ X @ W ) ) )).

%----Validity of a multi modal logic formula can now be encoded as
thf(mvalid_decl,type,(
mvalid: ( \$i > \$o ) > \$o )).

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

%----Satisfiability of a multi modal logic formula can now be encoded as
thf(msatisfiable_decl,type,(
msatisfiable: ( \$i > \$o ) > \$o )).

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

%----Countersatisfiability of a multi modal logic formula can now be encoded as
thf(mcountersatisfiable_decl,type,(
mcountersatisfiable: ( \$i > \$o ) > \$o )).

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

%----Invalidity of a multi modal logic formula can now be encoded as
thf(minvalid_decl,type,(
minvalid: ( \$i > \$o ) > \$o )).

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

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