equal
deleted
inserted
replaced
12 definition is trivial! The same thing occurs with Aczel's Special Final |
12 definition is trivial! The same thing occurs with Aczel's Special Final |
13 Coalgebra Theorem |
13 Coalgebra Theorem |
14 *) |
14 *) |
15 structure CoUnit = CoDatatype_Fun |
15 structure CoUnit = CoDatatype_Fun |
16 (val thy = QUniv.thy; |
16 (val thy = QUniv.thy; |
|
17 val thy_name = "CoUnit"; |
17 val rec_specs = |
18 val rec_specs = |
18 [("counit", "quniv(0)", |
19 [("counit", "quniv(0)", |
19 [(["Con"], "i=>i", NoSyn)])]; |
20 [(["Con"], "i=>i", NoSyn)])]; |
20 val rec_styp = "i"; |
21 val rec_styp = "i"; |
21 val sintrs = ["x: counit ==> Con(x) : counit"]; |
22 val sintrs = ["x: counit ==> Con(x) : counit"]; |
48 The resulting set is a singleton. |
49 The resulting set is a singleton. |
49 *) |
50 *) |
50 |
51 |
51 structure CoUnit2 = CoDatatype_Fun |
52 structure CoUnit2 = CoDatatype_Fun |
52 (val thy = QUniv.thy; |
53 (val thy = QUniv.thy; |
|
54 val thy_name = "CoUnit2"; |
53 val rec_specs = |
55 val rec_specs = |
54 [("counit2", "quniv(0)", |
56 [("counit2", "quniv(0)", |
55 [(["Con2"], "[i,i]=>i", NoSyn)])]; |
57 [(["Con2"], "[i,i]=>i", NoSyn)])]; |
56 val rec_styp = "i"; |
58 val rec_styp = "i"; |
57 val sintrs = ["[| x: counit2; y: counit2 |] ==> Con2(x,y) : counit2"]; |
59 val sintrs = ["[| x: counit2; y: counit2 |] ==> Con2(x,y) : counit2"]; |