equal
deleted
inserted
replaced
51 domain ('a, 'b) d6 = d6 "int lift" "'a \<oplus> 'b u" (lazy "('a :*: 'b) \<times> ('b \<rightarrow> 'a)") |
51 domain ('a, 'b) d6 = d6 "int lift" "'a \<oplus> 'b u" (lazy "('a :*: 'b) \<times> ('b \<rightarrow> 'a)") |
52 |
52 |
53 text {* |
53 text {* |
54 Indirect recusion is allowed for sums, products, lifting, and the |
54 Indirect recusion is allowed for sums, products, lifting, and the |
55 continuous function space. However, the domain package currently |
55 continuous function space. However, the domain package currently |
56 generates induction rules that are too weak. A fix is planned for |
56 cannot prove the induction rules. A fix is planned for the next |
57 the next release. |
57 release. |
58 *} |
58 *} |
59 |
59 |
60 domain 'a d7 = d7a "'a d7 \<oplus> int lift" | d7b "'a \<otimes> 'a d7" | d7c "'a d7 \<rightarrow> 'a" |
60 domain 'a d7 = d7a "'a d7 \<oplus> int lift" | d7b "'a \<otimes> 'a d7" | d7c (lazy "'a d7 \<rightarrow> 'a") |
61 |
61 |
62 thm d7.ind -- "note the lack of inductive hypotheses" |
62 thm d7.ind -- "currently replaced with dummy theorem" |
63 |
63 |
64 text {* |
64 text {* |
65 Indirect recursion using previously-defined datatypes is currently |
65 Indirect recursion using previously-defined datatypes is currently |
66 not allowed. This restriction should go away by the next release. |
66 not allowed. This restriction should go away by the next release. |
67 *} |
67 *} |