src/HOLCF/Up3.thy
author oheimb
Mon, 16 Dec 1996 13:10:02 +0100
changeset 2420 cb21eef65704
parent 2394 91d8abf108be
child 2640 ee4dfce170a0
permissions -rw-r--r--
corrected 8bit symbols
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
end
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    32
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    33
d63ffafce255 *** empty log message ***
oheimb
parents:
diff changeset
    34