| author | oheimb | 
| Fri, 29 Nov 1996 12:22:22 +0100 | |
| changeset 2278 | d63ffafce255 | 
| parent 1479 | 21eb5e156d91 | 
| child 2291 | fbd14a05fb88 | 
| permissions | -rw-r--r-- | 
| 1479 | 1  | 
(* Title: HOLCF/ssum3.thy  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
2  | 
ID: $Id$  | 
| 1479 | 3  | 
Author: Franz Regensburger  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
4  | 
Copyright 1993 Technische Universitaet Muenchen  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
5  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
6  | 
Class instance of ++ for class pcpo  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
7  | 
*)  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
8  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
9  | 
Ssum3 = Ssum2 +  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
10  | 
|
| 1479 | 11  | 
arities "++" :: (pcpo,pcpo)pcpo (* Witness ssum2.ML *)  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
12  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
13  | 
consts  | 
| 1479 | 14  | 
        sinl    :: "'a -> ('a++'b)" 
 | 
15  | 
        sinr    :: "'b -> ('a++'b)" 
 | 
|
16  | 
        sswhen  :: "('a->'c)->('b->'c)->('a ++ 'b)-> 'c"
 | 
|
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
17  | 
|
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
18  | 
rules  | 
| 
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
19  | 
|
| 1479 | 20  | 
inst_ssum_pcpo "(UU::'a++'b) = Isinl(UU)"  | 
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
21  | 
|
| 
1168
 
74be52691d62
The curried version of HOLCF is now just called HOLCF. The old
 
regensbu 
parents: 
442 
diff
changeset
 | 
22  | 
|
| 
 
74be52691d62
The curried version of HOLCF is now just called HOLCF. The old
 
regensbu 
parents: 
442 
diff
changeset
 | 
23  | 
defs  | 
| 
 
74be52691d62
The curried version of HOLCF is now just called HOLCF. The old
 
regensbu 
parents: 
442 
diff
changeset
 | 
24  | 
|
| 1479 | 25  | 
sinl_def "sinl == (LAM x.Isinl(x))"  | 
26  | 
sinr_def "sinr == (LAM x.Isinr(x))"  | 
|
27  | 
sswhen_def "sswhen == (LAM f g s.Iwhen(f)(g)(s))"  | 
|
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
28  | 
|
| 1274 | 29  | 
translations  | 
30  | 
"case s of sinl`x => t1 | sinr`y => t2" == "sswhen`(LAM x.t1)`(LAM y.t2)`s"  | 
|
31  | 
||
32  | 
(* start 8bit 1 *)  | 
|
| 2278 | 33  | 
translations  | 
34  | 
"case s of sinl`x => t1 | sinr`y => t2" == "sswhen`(¤x.t1)`(¤y.t2)`s"  | 
|
35  | 
||
| 1274 | 36  | 
(* end 8bit 1 *)  | 
37  | 
||
| 
243
 
c22b85994e17
Franz Regensburger's Higher-Order Logic of Computable Functions embedding LCF
 
nipkow 
parents:  
diff
changeset
 | 
38  | 
end  |