[isabelle-dev] sets and code generation
Christian Sternagel
c-sterna at jaist.ac.jp
Wed Mar 21 08:36:14 CET 2012
Hi there,
since set is a proper type some code equations that used to work, no
longer do, e.g.,
"op |> = {(x, y). supt_impl x y}"
as a code equation leads to an error stating that terms (x and y are
first-order terms) do not support the enum class. Since the possible
terms (using strings as function symbols and variables) cannot be
enumerated in a (finite) list, I can also not introduce an enum instance.
In the NEWS I found that the default setup for sets during code
generation is as a container type (instead of predicates). What are the
reasons for this decision? Is there an easy fix for such code equations?
One other thing. Syntax (e.g., ord) suggests "'a => 'a => bool" for
relations, but the library support (starting with more standard symbols)
is leaning towards "'a rel". As a user it would be nice to have some
indication what is preferable/best practice (e.g., in terms of future
support; I already switched several times in our IsaFoR formalization,
currently rewrite relations are of type "('f, 'v) term rel", is this the
way to go?).
cheers
chris
More information about the isabelle-dev
mailing list