src/HOL/IMP/Transition.thy
author paulson
Fri, 03 Apr 1998 11:22:51 +0200
changeset 4775 66b1a7c42d94
parent 4757 02b86e36e98f
child 4897 be11be0b6ea1
permissions -rw-r--r--
Tidied proofs
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1700
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     1
(*  Title:      HOL/IMP/Transition.thy
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     2
    ID:         $Id$
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     3
    Author:     Tobias Nipkow & Robert Sandner, TUM
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     4
    Copyright   1996 TUM
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     5
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     6
Transition semantics of commands
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     7
*)
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     8
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
     9
Transition = Natural + RelPow +
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    10
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    11
consts  evalc1    :: "((com*state)*(com*state))set"        
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    12
	"@evalc1" :: "[(com*state),(com*state)] => bool"   
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    13
				("_ -1-> _" [81,81] 100)
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    14
	"@evalcn" :: "[(com*state),(com*state)] => nat => bool"
1701
a26fbeaaaabd Streamlined syntax: -(n)-> is now -n->.
nipkow
parents: 1700
diff changeset
    15
				("_ -_-> _" [81,81] 100)
1700
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    16
	"@evalc*" :: "[(com*state),(com*state)] => bool"   
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    17
				("_ -*-> _" [81,81] 100)
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    18
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    19
translations
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    20
       	"cs0 -1-> cs1" == "(cs0,cs1) : evalc1"
4757
02b86e36e98f removed superfluous translations
oheimb
parents: 1789
diff changeset
    21
	"cs0 -n-> cs1" == "(cs0,cs1) : evalc1^n"
02b86e36e98f removed superfluous translations
oheimb
parents: 1789
diff changeset
    22
	"cs0 -*-> cs1" == "(cs0,cs1) : evalc1^*"
1700
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    23
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    24
1789
aade046ec6d5 Quotes now optional around inductive set
paulson
parents: 1701
diff changeset
    25
inductive evalc1
1700
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    26
  intrs
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    27
    Assign "(x := a,s) -1-> (SKIP,s[a s / x])"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    28
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    29
    Semi1   "(SKIP;c,s) -1-> (c,s)"	
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    30
    Semi2   "(c0,s) -1-> (c2,s1) ==> (c0;c1,s) -1-> (c2;c1,s1)"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    31
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    32
    IfTrue "b s ==> (IF b THEN c1 ELSE c2,s) -1-> (c1,s)"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    33
    IfFalse "~b s ==> (IF b THEN c1 ELSE c2,s) -1-> (c2,s)"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    34
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    35
    WhileFalse "~b s ==> (WHILE b DO c,s) -1-> (SKIP,s)"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    36
    WhileTrue "b s ==> (WHILE b DO c,s) -1-> (c;WHILE b DO c,s)"
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    37
afd3b60660db Natural and Transition semantics.
nipkow
parents:
diff changeset
    38
end