author | lcp |
Tue, 25 Apr 1995 11:14:03 +0200 | |
changeset 1072 | 0140ff702b23 |
parent 924 | 806721cfbf46 |
child 1465 | 5d7a7e439cec |
permissions | -rw-r--r-- |
924
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
1 |
(* Title: HOL/IMP/Com.ML |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
2 |
ID: $Id$ |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
3 |
Author: Heiko Loetzbeyer & Robert Sandner, TUM |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
4 |
Copyright 1994 TUM |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
5 |
*) |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
6 |
|
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
7 |
open Com; |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
8 |
|
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
9 |
val evala_elim_cases = map (evala.mk_cases aexp.simps) |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
10 |
["<N(n),sigma> -a-> i", "<X(x),sigma> -a-> i", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
11 |
"<Op1 f e,sigma> -a-> i", "<Op2 f a1 a2,sigma> -a-> i" |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
12 |
]; |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
13 |
|
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
14 |
val evalb_elim_cases = map (evalb.mk_cases bexp.simps) |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
15 |
["<true,sigma> -b-> x", "<false,sigma> -b-> x", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
16 |
"<ROp f a0 a1,sigma> -b-> x", "<noti(b),sigma> -b-> x", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
17 |
"<b0 andi b1,sigma> -b-> x", "<b0 ori b1,sigma> -b-> x" |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
18 |
]; |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
19 |
|
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
20 |
val evalb_simps = map (fn s => prove_goal Com.thy s |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
21 |
(fn _ => [fast_tac (HOL_cs addSIs evalb.intrs addSEs evalb_elim_cases) 1])) |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
22 |
["(<true,sigma> -b-> w) = (w=True)", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
23 |
"(<false,sigma> -b-> w) = (w=False)", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
24 |
"(<ROp f a0 a1,sigma> -b-> w) = \ |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
25 |
\ (? m. <a0,sigma> -a-> m & (? n. <a1,sigma> -a-> n & w = f m n))", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
26 |
"(<noti(b),sigma> -b-> w) = (? x. <b,sigma> -b-> x & w = (~x))", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
27 |
"(<b0 andi b1,sigma> -b-> w) = \ |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
28 |
\ (? x. <b0,sigma> -b-> x & (? y. <b1,sigma> -b-> y & w = (x&y)))", |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
29 |
"(<b0 ori b1,sigma> -b-> w) = \ |
806721cfbf46
new version of HOL/IMP with curried function application
clasohm
parents:
diff
changeset
|
30 |
\ (? x. <b0,sigma> -b-> x & (? y. <b1,sigma> -b-> y & w = (x|y)))"]; |