src/Sequents/Modal0.thy
changeset 2073 fb0655539d05
child 7098 86583034aacf
equal deleted inserted replaced
2072:6ac12b9478d5 2073:fb0655539d05
       
     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;