[isabelle-dev] Relations vs. Predicates

Florian Haftmann florian.haftmann at informatik.tu-muenchen.de
Mon Apr 2 19:56:08 CEST 2012

Hi Christian,

> by the way, I noticed that sometimes [to_pred] yields undesirable
> results (containing case-expressions), e.g.,
> thm trancl_power[to_pred]
> results in
> (case ?p of (x, xa) ⇒ ?R^++ x xa) =
> (∃n>0. case ?p of (x, xa) ⇒ (?R ^^ n) x xa)
> is this an inherent problem or could this be "repaired" by adding
> appropriate [pred_set_conv] (I do not know how this workds in detail).

I do not know whether this is inherent (Stefan could know).

There are (at least) two solutions:
* [unfold prod_case_unfold]
* [of "(a, b)", unfold <some suitable rule>]

Note that internally prod_case is also used as »uncurry« combinator.

Hope this helps,


PGP available:

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 262 bytes
Desc: OpenPGP digital signature
URL: <https://mailman46.in.tum.de/pipermail/isabelle-dev/attachments/20120402/c532ed5a/attachment.sig>

More information about the isabelle-dev mailing list