Re: AW: [PRD] ACTION-531 Update PRD examples complete

Christian de Sainte Marie wrote:
>
> Adrian Paschke wrote:
>
>> Typical examples are business rules, such as
>>
>> If customer is premium customer then discount 10%
>> If customer is silver customer then discount 5%
>>
>> It would make sense to present them independent from a particular 
>> dialect
>> such as PRD or BLD as they can be formalized in both dialects. 
>
> I mention this kind of rules as a PR in example 1.1. But they cannot 
> be generally expressed in BLD, because the RHS is really an Assign 
> (changing the value of the discount).
this isn't really an assign because there is no reference to a prior 
discount.

you could write the RHS as a frame and it would be legal BLD.  You can 
even axiomatize (in BLD) that a frame cannot have more than 1 discount:  
?x = ?y :- ?customer[discount->?x discount->?y]


>
> I used the "Gold custmoer status" rule, instead, in examples 1.1 and 
> 1.2, because that one, which is also one of the paradigmatic examples 
> of a business rule, can be expressed as the Assert of a 
> "Gold(?customer)" predicate (and is, thus, equally expressible in BLD 
> and PRD).
I don't see this as much different from above.  If you reference any 
prior customer status, as in "if the customer is a silver customer and 
the customer blah blah blah then gold customer"
then you have an assign (or retract/assert) of the customer status, 
whether it is a frame or a relation.

Received on Monday, 23 June 2008 22:36:08 UTC