Skip to Content.
Sympa Menu

maude-help - Re: [Maude-help] How to specify transitivity rule in Maude functional module?

maude-help AT lists.cs.illinois.edu

Subject: Maude-help mailing list

List archive

Re: [Maude-help] How to specify transitivity rule in Maude functional module?


Chronological Thread 
  • From: Steven Eker <eker AT csl.sri.com>
  • To: "Ding, Hui" <huiding AT cs.uiuc.edu>, <maude-help AT peepal.cs.uiuc.edu>
  • Cc:
  • Subject: Re: [Maude-help] How to specify transitivity rule in Maude functional module?
  • Date: Thu, 18 Nov 2004 14:33:16 -0700
  • List-archive: <http://maude.cs.uiuc.edu/pipermail/maude-help>
  • List-id: Maude help list <maude-help.maude.cs.uiuc.edu>
  • Organization: SRI International

Hi,

I don't see anyway to do what you want: encoding transitivity requires
unification to find the middle element and Maude only supports
matching conditions which require the rhs of the := to be fully
instantiated.

While we may support unification in the future it won't be supported
for fmods; rewriting with unification (aka narrowing) has severe
confluence and termination issues and is normally only useful with a
strategy.

Steven

On Wednesday 17 November 2004 01:55 pm, Ding, Hui wrote:
> Can we specify the following rule in Maude functional module? I cannot
> figure it out.
>
> If PropertyMap (AA, A, B) = BB and PropertyMap (BB, B, C) = CC
> Then PropertyMap (AA, A, C) = CC
>
> AA stands for a certain property of component A, and BB stands for a
> certain property of component B. "PropertyMap (AA, A, B) = BB" means
> component A's property AA is mapped to component B's property BB. That is,
> the above is a transitive rule.
>
> The sort, op, vars declaration is as follows:
>
> sort Component .
> sort Property .
> op PropertyMap: Property Component Component-> Property .
>
> vars AA BB CC : Property .
> vars A B C : Component.




Archive powered by MHonArc 2.6.16.

Top of Page