src/HOLCF/IOA/meta_theory/RefCorrectness.thy
changeset 3433 2de17c994071
parent 3275 3f53f2c876f4
child 4559 8e604d885b54
equal deleted inserted replaced
3432:04412cfe6861 3433:2de17c994071
     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