equal
deleted
inserted
replaced
1 (* Title: HOLCF/lift3.thy |
1 (* Title: HOLCF/lift3.thy |
2 ID: $Id$ |
2 ID: $Id$ |
3 Author: Franz Regensburger |
3 Author: Franz Regensburger |
4 Copyright 1993 Technische Universitaet Muenchen |
4 Copyright 1993 Technische Universitaet Muenchen |
5 |
5 |
6 |
6 |
7 Class instance of ('a)u for class pcpo |
7 Class instance of ('a)u for class pcpo |
8 |
8 |
9 *) |
9 *) |
10 |
10 |
11 Lift3 = Lift2 + |
11 Lift3 = Lift2 + |
12 |
12 |
13 arities "u" :: (pcpo)pcpo (* Witness lift2.ML *) |
13 arities "u" :: (pcpo)pcpo (* Witness lift2.ML *) |
14 |
14 |
15 consts |
15 consts |
16 up :: "'a -> ('a)u" |
16 up :: "'a -> ('a)u" |
17 lift :: "('a->'c)-> ('a)u -> 'c" |
17 lift :: "('a->'c)-> ('a)u -> 'c" |
18 |
18 |
19 rules |
19 rules |
20 |
20 |
21 inst_lift_pcpo "(UU::('a)u) = UU_lift" |
21 inst_lift_pcpo "(UU::('a)u) = UU_lift" |
22 |
22 |
23 defs |
23 defs |
24 up_def "up == (LAM x.Iup(x))" |
24 up_def "up == (LAM x.Iup(x))" |
25 lift_def "lift == (LAM f p.Ilift(f)(p))" |
25 lift_def "lift == (LAM f p.Ilift(f)(p))" |
26 |
26 |
27 translations |
27 translations |
28 "case l of up`x => t1" == "lift`(LAM x.t1)`l" |
28 "case l of up`x => t1" == "lift`(LAM x.t1)`l" |
29 |
29 |
30 (* start 8bit 1 *) |
30 (* start 8bit 1 *) |