src/HOLCF/Up3.thy
author oheimb
Fri, 29 Nov 1996 12:22:22 +0100
changeset 2278 d63ffafce255
child 2291 fbd14a05fb88
permissions -rw-r--r--
*** empty log message ***
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2278
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     1
(*  Title:      HOLCF/Up3.thy
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     2
    ID:         $Id$
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     3
    Author:     Franz Regensburger
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     4
    Copyright   1993 Technische Universitaet Muenchen
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     5
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     6
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     7
Class instance of  ('a)u for class pcpo
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     8
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
     9
*)
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    10
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    11
Up3 = Up2 +
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    12
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    13
arities "u" :: (pcpo)pcpo                       (* Witness up2.ML *)
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    14
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    15
consts  
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    16
        up  :: "'a -> ('a)u" 
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    17
        fup :: "('a->'c)-> ('a)u -> 'c"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    18
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    19
rules 
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    20
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    21
        inst_up_pcpo  "(UU::('a)u) = UU_up"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    22
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    23
defs
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    24
        up_def   "up  == (LAM x.Iup(x))"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    25
        fup_def  "fup == (LAM f p.Ifup(f)(p))"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    26
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    27
translations
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    28
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    29
"case l of up`x => t1" == "fup`(LAM x.t1)`l"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    30
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    31
(* start 8bit 1 *)
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    32
translations
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    33
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    34
"case l of up`x => t1" == "fup`(¤x.t1)`l"
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    35
(* end 8bit 1 *)
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    36
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    37
end
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    38
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    39
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    40