src/Modal/Modal0.thy
author paulson
Wed, 25 Sep 1996 17:15:18 +0200
changeset 2026 0df5a96bf77e
parent 1474 3f7d67927fe2
permissions -rw-r--r--
Last working version prior to introduction of "lost"
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1474
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
     1
(*  Title:      91/Modal/modal0
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     2
    ID:         $Id$
1474
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
     3
    Author:     Martin Coen
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     4
    Copyright   1991  University of Cambridge
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     5
*)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     6
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     7
Modal0 = LK +
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     8
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
     9
consts
1474
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    10
  box           :: "o=>o"       ("[]_" [50] 50)
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    11
  dia           :: "o=>o"       ("<>_" [50] 50)
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    12
  "--<",">-<"   :: "[o,o]=>o"   (infixr 25)
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    13
  "@Lstar"      :: "[sequence,sequence]=>prop"  ("(_)|L>(_)" [6,6] 5)
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    14
  "@Rstar"      :: "[sequence,sequence]=>prop"  ("(_)|R>(_)" [6,6] 5)
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    15
  Lstar,Rstar   :: "[sobj=>sobj,sobj=>sobj]=>prop"
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    16
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    17
rules
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    18
  (* Definitions *)
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    19
1474
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    20
  strimp_def    "P --< Q == [](P --> Q)"
3f7d67927fe2 expanded tabs
clasohm
parents: 0
diff changeset
    21
  streqv_def    "P >-< Q == (P --< Q) & (Q --< P)"
0
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    22
end
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    23
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    24
ML
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    25
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    26
local
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    27
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    28
  val Lstar = "Lstar";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    29
  val Rstar = "Rstar";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    30
  val SLstar = "@Lstar";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    31
  val SRstar = "@Rstar";
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    32
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    33
  fun star_tr c [s1,s2] = Const(c,dummyT)$LK.seq_tr1 s1$LK.seq_tr1 s2;
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    34
  fun star_tr' c [Abs(_,_,s1),Abs(_,_,s2)] = 
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    35
         Const(c,dummyT) $ LK.seq_tr1' s1 $ LK.seq_tr1' s2;
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    36
in
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    37
val parse_translation = [(SLstar,star_tr Lstar), (SRstar,star_tr Rstar)];
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    38
val print_translation = [(Lstar,star_tr' SLstar), (Rstar,star_tr' SRstar)]
a5a9c433f639 Initial revision
clasohm
parents:
diff changeset
    39
end;