src/HOL/UNITY/UNITY.thy
author oheimb
Mon, 21 Sep 1998 23:25:27 +0200
changeset 5526 e7617b57a3e6
parent 5253 82a5ca6290aa
child 5648 fe887910e32e
permissions -rw-r--r--
*** empty log message ***

(*  Title:      HOL/UNITY/UNITY
    ID:         $Id$
    Author:     Lawrence C Paulson, Cambridge University Computer Laboratory
    Copyright   1998  University of Cambridge

The basic UNITY theory (revised version, based upon the "co" operator)

From Misra, "A Logic for Concurrent Programming", 1994
*)

UNITY = LessThan +

constdefs

  constrains :: "[('a * 'a)set set, 'a set, 'a set] => bool"
    "constrains acts A B == ALL act:acts. act^^A <= B"

  stable     :: "('a * 'a)set set => 'a set => bool"
    "stable acts A == constrains acts A A"

  strongest_rhs :: "[('a * 'a)set set, 'a set] => 'a set"
    "strongest_rhs acts A == Inter {B. constrains acts A B}"

  unless :: "[('a * 'a)set set, 'a set, 'a set] => bool"
    "unless acts A B == constrains acts (A-B) (A Un B)"

end