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