src/Sequents/ex/Modal/S4thms.ML
changeset 6252 935f183bf406
parent 6251 4d89d4f0ab17
child 6253 dbaf79ac2ff9
equal deleted inserted replaced
6251:4d89d4f0ab17 6252:935f183bf406
     1 (*  Title:      91/Modal/ex/S4thms
       
     2     ID:         $Id$
       
     3     Author:     Martin Coen
       
     4     Copyright   1991  University of Cambridge
       
     5 *)
       
     6 
       
     7 (* Theorems of system S4 from Hughes and Cresswell, p.46 *)
       
     8 
       
     9 try "|- []A --> A";             (* refexivity *)
       
    10 try "|- []A --> [][]A";         (* transitivity *)
       
    11 try "|- []A --> <>A";           (* seriality *)
       
    12 try "|- <>[](<>A --> []<>A)";
       
    13 try "|- <>[](<>[]A --> []A)";
       
    14 try "|- []P <-> [][]P";
       
    15 try "|- <>P <-> <><>P";
       
    16 try "|- <>[]<>P --> <>P";
       
    17 try "|- []<>P <-> []<>[]<>P";
       
    18 try "|- <>[]P <-> <>[]<>[]P";
       
    19 
       
    20 (* Theorems for system S4 from Hughes and Cresswell, p.60 *)
       
    21 
       
    22 try "|- []P | []Q <-> []([]P | []Q)";
       
    23 try "|- ((P>-<Q) --< R) --> ((P>-<Q) --< []R)";
       
    24 
       
    25 (* These are from Hailpern, LNCS 129 *)
       
    26 
       
    27 try "|- [](P & Q) <-> []P & []Q";
       
    28 try "|- <>(P | Q) <-> <>P | <>Q";
       
    29 try "|- <>(P --> Q) <-> ([]P --> <>Q)";
       
    30 
       
    31 try "|- [](P --> Q) --> (<>P --> <>Q)";
       
    32 try "|- []P --> []<>P";
       
    33 try "|- <>[]P --> <>P";
       
    34 
       
    35 try "|- []P | []Q --> [](P | Q)";
       
    36 try "|- <>(P & Q) --> <>P & <>Q";
       
    37 try "|- [](P | Q) --> []P | <>Q";
       
    38 try "|- <>P & []Q --> <>(P & Q)";
       
    39 try "|- [](P | Q) --> <>P | []Q";
       
    40