src/HOLCF/ex/Domain_ex.thy
changeset 31232 689aa7da48cc
parent 30922 96d053e00ec0
child 35443 2e0f9516947e
equal deleted inserted replaced
31231:9434cd5ef24a 31232:689aa7da48cc
    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 *}