Re: [PRD] Proposal for object representation (and ACTION-592 complete)

A variable can represent many values.  E.g.

ex:a(1)
ex:a(2)
forall ?x if ex:a(?x) then ex:b(?x)

?x is 1 and 2.

Path expressions are just a shortcut for a variable.  E.g.

if _obj.slot > 2 and _obj.slot <= 5 then ...

is short for

forall ?z if _obj[slot->?z] and ?z > 2 and ?z <= 5 then ...

Christian de Sainte Marie wrote:
> Michael,
>
> Michael Kifer wrote:
>>
>> these things are called path expressions and they are not necessarily
>> single-valued. For instance, FLORA-2 uses them alongside the frames,
>> and they are simply shortcuts for some forms of conjunctions of frames.
>
>
> I have taken the action to rework my proposal to separate the issues 
> of single-valued attributes, and path location.
>
> But that supposes that I understand how path locations can be 
> multi-valued: as much as I understand that, as atomic assertions, 
> frames that associate different values to the same object-attribute 
> pair can be true at the same time; as much I cannot understand how a 
> path expression, as a basic term, can represent more than one value. 
> Actually, dealing with single-valued attributes in a way that seemed 
> intrinsically appropriate for them - which frames are not - and that 
> is quite usual in object-oriented languages was the main reason for my 
> proposal.
>
> I mean, other basic terms, such as a constant symbol, a variable, or a 
> ground function call, represent, cannot represent but a single value: 
> how can a path expression, as a basic term, represent more than one? 
> Of course, it can be set-valued, but it still has a single value, 
> which is the set.
>
> Can you please clarify? An example would, also, certainly help me 
> understand better what you mean.
>
> Cheers,
>
> Christian
>
>

Received on Monday, 9 March 2009 21:19:27 UTC