TPTP Axioms File: LCL012^0.ax
%------------------------------------------------------------------------------
% File : LCL012^0 : TPTP v9.0.0. Released v4.0.0.
% Domain : Logic Calculi
% Axioms : Propositional intuitionistic logic in HOL
% Version : [MT48] axioms.
% English : An embedding of propositional intuitionisitc logic in HOL based
% on the McKinsey/Tarski translation of propositional intuitionistic
% logic to modal logic S4.
% Refs : [MT48] McKinsey & Tarski (1948), Some Theorems about the Sent
% : [Gol06] Goldblatt (2006), Mathematical Modal Logic: A View of
% : [Ben09] Benzmueller (2009), Email to Geoff Sutcliffe
% : [BP10] Benzmueller & Paulson (2009), Exploring Properties of
% Source : [Ben09]
% Names : IL2HOL_3 [Ben09]
% Status : Satisfiable
% Syntax : Number of formulae : 41 ( 20 unt; 20 typ; 19 def)
% Number of atoms : 61 ( 19 equ; 0 cnn)
% Maximal formula atoms : 3 ( 1 avg)
% Number of connectives : 53 ( 3 ~; 1 |; 2 &; 45 @)
% ( 0 <=>; 2 =>; 0 <=; 0 <~>)
% Maximal formula depth : 8 ( 1 avg; 45 nst)
% Number of types : 2 ( 0 usr)
% Number of type conns : 95 ( 95 >; 0 *; 0 +; 0 <<)
% Number of symbols : 22 ( 20 usr; 1 con; 0-3 aty)
% Number of variables : 40 ( 31 ^ 7 !; 2 ?; 40 :)
% SPC :
% Comments :
%------------------------------------------------------------------------------
%----Modal Logic S4 in HOL
%----We define an accessibility relation irel
thf(irel_type,type,
irel: $i > $i > $o ).
%----We require reflexivity and transitivity for irel
thf(refl_axiom,axiom,
! [X: $i] : ( irel @ X @ X ) ).
thf(trans_axiom,axiom,
! [X: $i,Y: $i,Z: $i] :
( ( ( irel @ X @ Y )
& ( irel @ Y @ Z ) )
=> ( irel @ X @ Z ) ) ).
%----We define S4 connective mnot (as set complement)
thf(mnot_decl_type,type,
mnot: ( $i > $o ) > $i > $o ).
thf(mnot,definition,
( mnot
= ( ^ [X: $i > $o,U: $i] :
~ ( X @ U ) ) ) ).
%----We define S4 connective mor (as set union)
thf(mor_decl_type,type,
mor: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(mor,definition,
( mor
= ( ^ [X: $i > $o,Y: $i > $o,U: $i] :
( ( X @ U )
| ( Y @ U ) ) ) ) ).
%----We define S4 connective mand (as set intersection)
thf(mand_decl_type,type,
mand: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(mand,definition,
( mand
= ( ^ [X: $i > $o,Y: $i > $o,U: $i] :
( ( X @ U )
& ( Y @ U ) ) ) ) ).
%----We define S4 connective mimpl
thf(mimplies_decl_type,type,
mimplies: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(mimplies,definition,
( mimplies
= ( ^ [U: $i > $o,V: $i > $o] : ( mor @ ( mnot @ U ) @ V ) ) ) ).
%----Definition of mbox_s4; since irel is reflexive and transitive,
%----it is easy to show that the K and the T axiom hold for mbox_s4
thf(mbox_s4_decl_type,type,
mbox_s4: ( $i > $o ) > $i > $o ).
thf(mbox_s4,definition,
( mbox_s4
= ( ^ [P: $i > $o,X: $i] :
! [Y: $i] :
( ( irel @ X @ Y )
=> ( P @ Y ) ) ) ) ).
%----Intuitionistic Logic in Modal Logic S4
%----Definition of iatom: iatom P = (mbox_s4 P)
thf(iatom_type,type,
iatom: ( $i > $o ) > $i > $o ).
thf(iatom,definition,
( iatom
= ( ^ [P: $i > $o] : ( mbox_s4 @ P ) ) ) ).
%----Definition of inot: inot P = (mbox_s4 (mnot P))
thf(inot_type,type,
inot: ( $i > $o ) > $i > $o ).
thf(inot,definition,
( inot
= ( ^ [P: $i > $o] : ( mbox_s4 @ ( mnot @ P ) ) ) ) ).
%----Definition of true and false
thf(itrue_type,type,
itrue: $i > $o ).
thf(itrue,definition,
( itrue
= ( ^ [W: $i] : $true ) ) ).
thf(ifalse_type,type,
ifalse: $i > $o ).
thf(ifalse,definition,
( ifalse
= ( inot @ itrue ) ) ).
%----Definition of iand: iand P Q = (mand P Q)
thf(iand_type,type,
iand: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(iand,definition,
( iand
= ( ^ [P: $i > $o,Q: $i > $o] : ( mand @ P @ Q ) ) ) ).
%----Definition of ior: ior P Q = (mor P Q)
thf(ior_type,type,
ior: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(ior,definition,
( ior
= ( ^ [P: $i > $o,Q: $i > $o] : ( mor @ P @ Q ) ) ) ).
%----Definition of iimplies: iimplies P Q =
%---- (mbox_s4 (mimiplies P Q)
thf(iimplies_type,type,
iimplies: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(iimplies,definition,
( iimplies
= ( ^ [P: $i > $o,Q: $i > $o] : ( mbox_s4 @ ( mimplies @ P @ Q ) ) ) ) ).
%----Definition of iimplied: iimplied P Q = (iimplies Q P)
thf(iimplied_type,type,
iimplied: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(iimplied,definition,
( iimplied
= ( ^ [P: $i > $o,Q: $i > $o] : ( iimplies @ Q @ P ) ) ) ).
%----Definition of iequiv: iequiv P Q =
%---- (iand (iimplies P Q) (iimplies Q P))
thf(iequiv_type,type,
iequiv: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(iequiv,definition,
( iequiv
= ( ^ [P: $i > $o,Q: $i > $o] : ( iand @ ( iimplies @ P @ Q ) @ ( iimplies @ Q @ P ) ) ) ) ).
%----Definition of ixor: ixor P Q = (mnot (iequiv P Q))
thf(ixor_type,type,
ixor: ( $i > $o ) > ( $i > $o ) > $i > $o ).
thf(ixor,definition,
( ixor
= ( ^ [P: $i > $o,Q: $i > $o] : ( mnot @ ( iequiv @ P @ Q ) ) ) ) ).
%----Definition of validity
thf(ivalid_type,type,
ivalid: ( $i > $o ) > $o ).
thf(ivalid,definition,
( ivalid
= ( ^ [Phi: $i > $o] :
! [W: $i] : ( Phi @ W ) ) ) ).
%----Definition of satisfiability
thf(isatisfiable_type,type,
isatisfiable: ( $i > $o ) > $o ).
thf(isatisfiable,definition,
( isatisfiable
= ( ^ [Phi: $i > $o] :
? [W: $i] : ( Phi @ W ) ) ) ).
%----Definition of countersatisfiability
thf(icountersatisfiable_type,type,
icountersatisfiable: ( $i > $o ) > $o ).
thf(icountersatisfiable,definition,
( icountersatisfiable
= ( ^ [Phi: $i > $o] :
? [W: $i] :
~ ( Phi @ W ) ) ) ).
%----Definition of invalidity
thf(iinvalid_type,type,
iinvalid: ( $i > $o ) > $o ).
thf(iinvalid,definition,
( iinvalid
= ( ^ [Phi: $i > $o] :
! [W: $i] :
~ ( Phi @ W ) ) ) ).
%------------------------------------------------------------------------------