src/HOL/IMP/Com.thy
author oheimb
Tue, 04 Jul 2000 10:54:46 +0200
changeset 9241 f961c1fdff50
parent 8029 05446a898852
child 12338 de0f4a63baa5
permissions -rw-r--r--
disambiguated := ; added Examples (factorial)

(*  Title:      HOL/IMP/Com.thy
    ID:         $Id$
    Author:     Heiko Loetzbeyer & Robert Sandner & Tobias Nipkow, TUM
    Copyright   1994 TUM

Semantics of arithmetic and boolean expressions
Syntax of commands
*)

Com = Main +

types
      loc
      val   = nat (* or anything else, nat used in examples *)
      state = loc => val
      aexp  = state => val
      bexp  = state => bool

arities loc :: term

datatype
  com = SKIP
      | ":=="  loc aexp         (infixl  60)
      | Semi  com com          ("_; _"  [60, 60] 10)
      | Cond  bexp com com     ("IF _ THEN _ ELSE _"  60)
      | While bexp com         ("WHILE _ DO _"  60)

end