equal
deleted
inserted
replaced
6 Correctness of Refinement Mappings in HOLCF/IOA |
6 Correctness of Refinement Mappings in HOLCF/IOA |
7 *) |
7 *) |
8 |
8 |
9 |
9 |
10 RefCorrectness = RefMappings + |
10 RefCorrectness = RefMappings + |
11 |
11 |
12 consts |
12 consts |
13 |
13 |
14 corresp_ex ::"('a,'s2)ioa => ('s1 => 's2) => |
14 corresp_ex ::"('a,'s2)ioa => ('s1 => 's2) => |
15 ('a,'s1)execution => ('a,'s2)execution" |
15 ('a,'s1)execution => ('a,'s2)execution" |
16 corresp_ex2 ::"('a,'s2)ioa => ('s1 => 's2) => ('a,'s1)pairs |
16 corresp_exC ::"('a,'s2)ioa => ('s1 => 's2) => ('a,'s1)pairs |
17 -> ('s2 => ('a,'s2)pairs)" |
17 -> ('s1 => ('a,'s2)pairs)" |
18 |
18 |
19 |
19 |
20 defs |
20 defs |
21 |
21 |
22 corresp_ex_def |
22 corresp_ex_def |
23 "corresp_ex A f ex == (f (fst ex),(corresp_ex2 A f`(snd ex)) (f (fst ex)))" |
23 "corresp_ex A f ex == (f (fst ex),(corresp_exC A f`(snd ex)) (fst ex))" |
24 |
24 |
25 |
25 |
26 corresp_ex2_def |
26 corresp_exC_def |
27 "corresp_ex2 A f == (fix`(LAM h ex. (%s. case ex of |
27 "corresp_exC A f == (fix`(LAM h ex. (%s. case ex of |
28 nil => nil |
28 nil => nil |
29 | x##xs => (flift1 (%pr. (snd(@cex. move A cex s (fst pr) (f (snd pr)))) |
29 | x##xs => (flift1 (%pr. (@cex. move A cex (f s) (fst pr) (f (snd pr))) |
30 @@ ((h`xs) (f (snd pr)))) |
30 @@ ((h`xs) (snd pr))) |
31 `x) )))" |
31 `x) )))" |
32 |
32 |
33 |
33 |
34 |
34 |
35 end |
35 end |