Skip to Content.
Sympa Menu

maude-help - [Maude-help] Commutative operators vs. determinism

maude-help AT lists.cs.illinois.edu

Subject: Maude-help mailing list

List archive

[Maude-help] Commutative operators vs. determinism


Chronological Thread 
  • From: Jeff Thompson <jeff AT thefirst.org>
  • To: maude-help AT maude.cs.uiuc.edu
  • Subject: [Maude-help] Commutative operators vs. determinism
  • Date: Tue, 25 Aug 2009 23:23:18 -0700
  • List-archive: <http://maude.cs.uiuc.edu/pipermail/maude-help>
  • List-id: Maude help list <maude-help.maude.cs.uiuc.edu>

A feature one expects from functions is that the output is predictable from the input. So, can a commutative operator in a functional module violate this? Consider:
fmod TEST is
protecting QID-SET .
op pick : QidSet -> Qid .
eq pick((E:Qid , S:QidSet)) = E:Qid .
endfm

Since _,_ from QidSet is commutative, it seems that
red pick(('a , 'b)) .
could return either 'a or 'b, making the output not determined by the input. And I can't claim I fully understand what "Church-Rosser" means, but it seems that with a commutative operator, different reduction paths could give different results. I couldn't find it in the Maude book, but are there guidelines for when you lose determinism and Church-Rosser when you use commutative operators?

Thanks for any help,
- Jeff






Archive powered by MHonArc 2.6.16.

Top of Page