Invertible nondeterminism?

From: Sebastian Fischer <>
Date: Thu, 16 Dec 2010 13:34:15 +0900


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 `?`.

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

    inv a ? a = failure

for all expressions `a`.

Such inversion would allow to restrict nondeterministic computations not
only using predicates but also by defining another nondeterministic
operation and subtracting its results.

Can you image concrete examples where this would be useful?

Has this idea been studied before?



curry mailing list
Received on Do Dez 16 2010 - 09:22:23 CET

This archive was generated by hypermail 2.3.0 : Mo Sep 28 2020 - 07:15:04 CEST