[rules-users] forall is satisfied when there is nothing?

Sonata plz.write.to at gmail.com
Wed Jan 8 06:32:24 EST 2014


laune wrote
> On 08/01/2014, Davide Sottara <

> dsotty@

> > wrote:
>> Indeed it is true by convention, see also
>> http://en.wikipedia.org/wiki/Universal_quantification
>>
>> The only other alternative is to deprecate quantifiers altogether ;)
>>
> 
> Ah, *by convention*, yes. One should exercise some care with "vacuous
> truths", however. Uttering statements such as "All the little green
> men in my room are from Mars" may not brand you as a liar, but you
> could be called "batty". ;-)
> 
> -W
> 
>> Davide
>>

Guys, I am not sure whats the arguing point here. But from a programmer's
and a Drools engine user's perspective, I would find forall(void) to return
false more convenient.

Say for example:
  forall(Cloth(dried)) then collect()
Programmingwise, I dont want to execute collect() when the Cloth()
collection is empty and do extra null checkings.
Performancewise, I also dont want to call collect() when there is actually
nothing to perform.
In terms of semantics, I purposely want to check for isDried is true, it is
easy to realize from the LHS that I only want to collect clothes when all of
them are dried, rather than I want to collect also empty air.

On the contrary, if I really want to do the RHS even though the LHS has
nothing, I would have written:
  not( exists( Customer() ) ) then takeanap()
and I will not write
  forall( Customer(status == "gone") ) then takeanap()
because the latter needs to do extra property visits and string comparisons
and it is so indirect to express what I really want.

I really dont care what the mathematical definition is unless you tell me
Drools is a math. engine rather than a rule engine to express business
requirements. That, I should update myself and take a step back to look at
Drools again. Just my own opinion :P




--
View this message in context: http://drools.46999.n3.nabble.com/forall-is-satisfied-when-there-is-nothing-tp4027553p4027593.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list