src/Sequents/Modal0.thy
author paulson
Mon Dec 07 18:26:25 1998 +0100 (1998-12-07)
changeset 6019 0e55c2fb2ebb
parent 2073 fb0655539d05
child 7098 86583034aacf
permissions -rw-r--r--
tidying
     1 (*  Title:      Modal/modal0
     2     ID:         $Id$
     3     Author:     Martin Coen
     4     Copyright   1991  University of Cambridge
     5 *)
     6 
     7 Modal0 = LK +
     8 
     9 consts
    10   box           :: "o=>o"       ("[]_" [50] 50)
    11   dia           :: "o=>o"       ("<>_" [50] 50)
    12   "--<",">-<"   :: "[o,o]=>o"   (infixr 25)
    13   "@Lstar"      :: "two_seqe"   ("(_)|L>(_)" [6,6] 5)
    14   "@Rstar"      :: "two_seqe"   ("(_)|R>(_)" [6,6] 5)
    15   Lstar,Rstar   :: "two_seqi"
    16 
    17 rules
    18   (* Definitions *)
    19 
    20   strimp_def    "P --< Q == [](P --> Q)"
    21   streqv_def    "P >-< Q == (P --< Q) & (Q --< P)"
    22 end
    23 
    24 ML
    25 
    26 local
    27 
    28   val Lstar = "Lstar";
    29   val Rstar = "Rstar";
    30   val SLstar = "@Lstar";
    31   val SRstar = "@Rstar";
    32 
    33   fun star_tr c [s1,s2] =
    34       Const(c,dummyT)$Sequents.seq_tr s1$Sequents.seq_tr s2;
    35   fun star_tr' c [s1,s2] = 
    36       Const(c,dummyT) $ Sequents.seq_tr' s1 $ Sequents.seq_tr' s2;
    37 in
    38 val parse_translation = [(SLstar,star_tr Lstar), (SRstar,star_tr Rstar)];
    39 val print_translation = [(Lstar,star_tr' SLstar), (Rstar,star_tr' SRstar)]
    40 end;