On Thu, 16 Dec 2010, Sebastian Fischer wrote:
> Hello,
>
> if we assume that
>
> - `a ? b` means the same as `b ? a` and
> - `a ? (b ? c)` means the same as `(a ? b) ? c`
>
> we can regard Curry expressions as a commutative monoid: failure is the
> unit of `?`.
All good up to here.
> There is a universal way of making a commutative monoid into an abelian
> group, that is, adding an inverse operation [1]. For Curry this would
> mean
>
> inv a ? a = failure
>
> for all expressions `a`.
Suppose, by way of an example, that a is True. There is no
expression b such that b ? True is a failure.
> Such inversion would allow to restrict nondeterministic computations not
> only using predicates but also by defining another nondeterministic
> operation and subtracting its results.
I'd like to see an example.
> Can you image concrete examples where this would be useful?
>
> Has this idea been studied before?
>
> Sebastian
>
> [1]: http://en.wikipedia.org/wiki/Grothendieck_group
Cheers,
Sergio
_______________________________________________
curry mailing list
curry_at_lists.RWTH-Aachen.DE
http://MailMan.RWTH-Aachen.DE/mailman/listinfo/curry
Received on Do Dez 16 2010 - 09:22:23 CET