src/ZF/UNITY/SubstAx.thy
author paulson
Tue, 21 May 2002 13:06:36 +0200
changeset 13168 afcbca3498b0
parent 12195 ed2893765a08
child 15634 bca33c49b083
permissions -rw-r--r--
converted domrange to Isar and merged with equalities
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
11479
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     1
(*  Title:      ZF/UNITY/SubstAx.thy
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     2
    ID:         $Id$
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     3
    Author:     Sidi O Ehmety, Computer Laboratory
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     4
    Copyright   2001  University of Cambridge
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     5
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     6
Weak LeadsTo relation (restricted to the set of reachable states)
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     7
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     8
Theory ported from HOL.
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
     9
*)
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    10
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    11
SubstAx = WFair + Constrains + 
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    12
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    13
constdefs
12195
ed2893765a08 *** empty log message ***
ehmety
parents: 11479
diff changeset
    14
  (* The definitions below are not `conventional', but yields simpler rules *)
11479
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    15
   Ensures :: "[i,i] => i"            (infixl 60)
12195
ed2893765a08 *** empty log message ***
ehmety
parents: 11479
diff changeset
    16
    "A Ensures B == {F:program. F : (reachable(F) Int A) ensures (reachable(F) Int B) }"
11479
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    17
12195
ed2893765a08 *** empty log message ***
ehmety
parents: 11479
diff changeset
    18
  LeadsTo :: "[i, i] => i"            (infixl 60)
ed2893765a08 *** empty log message ***
ehmety
parents: 11479
diff changeset
    19
    "A LeadsTo B == {F:program. F:(reachable(F) Int A) leadsTo (reachable(F) Int B)}"
11479
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    20
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    21
syntax (xsymbols)
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    22
  "op LeadsTo" :: "[i, i] => i" (infixl " \\<longmapsto>w " 60)
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    23
697dcaaf478f new ZF/UNITY theory
paulson
parents:
diff changeset
    24
end