src/Modal/ex/Tthms.ML
author paulson
Tue, 16 Jul 1996 15:49:46 +0200
changeset 1868 836950047d85
parent 1461 6bcb44e4d6e5
permissions -rw-r--r--
Put in minimal simpset to avoid excessive simplification, just as in revision 1.9 of HOL/indrule.ML

(*  Title:      91/Modal/ex/Tthms
    ID:         $Id$
    Author:     Martin Coen
    Copyright   1991  University of Cambridge
*)

(* Theorems of system T from Hughes and Cresswell and Hailpern, LNCS 129 *)

try "|- []P --> P";
try "|- [](P-->Q) --> ([]P-->[]Q)";    (* normality*)
try "|- (P--<Q) --> []P --> []Q";
try "|- P --> <>P";

try "|-  [](P & Q) <-> []P & []Q";
try "|-  <>(P | Q) <-> <>P | <>Q";
try "|-  [](P<->Q) <-> (P>-<Q)";
try "|-  <>(P-->Q) <-> ([]P--><>Q)";
try "|-        []P <-> ~<>(~P)";
try "|-     [](~P) <-> ~<>P";
try "|-       ~[]P <-> <>(~P)";
try "|-      [][]P <-> ~<><>(~P)";
try "|- ~<>(P | Q) <-> ~<>P & ~<>Q";

try "|- []P | []Q --> [](P | Q)";
try "|- <>(P & Q) --> <>P & <>Q";
try "|- [](P | Q) --> []P | <>Q";
try "|- <>P & []Q --> <>(P & Q)";
try "|- [](P | Q) --> <>P | []Q";
try "|- <>(P-->(Q & R)) --> ([]P --> <>Q) & ([]P--><>R)";
try "|- (P--<Q) & (Q--<R) --> (P--<R)";
try "|- []P --> <>Q --> <>(P & Q)";