[rules-users] forall not delivering as expected
Wolfgang Laun
wolfgang.laun at gmail.com
Wed Sep 15 09:04:27 EDT 2010
If someone from the Team would please confirm that this is indeed a bug?
Then I'll submit a JIRA.
-W
On 13 September 2010 08:50, Wolfgang Laun <wolfgang.laun at gmail.com> wrote:
> Since the following rule is just a variant of (Expert) Example 4.66, "All
> Buses are Red", I think that there is a bug, in 5.1.1:
>
> // Does not fire even though all Triangle have all sides > 0
> rule "All triangle sides are greater than 0"
> when
> forall( Triangle( a > 0, b > 0, c > 0 ) )
> then
> System.out.println( "All triangle sides are > 0." );
> end
>
> Also, the tortuous equivalent does not fire:
>
> // Does not fire even though all Triangle have all sides > 0
> rule "All triangle sides are greater than 0"
> when
> forall( $t: Triangle()
> Triangle( this == $t, a > 0, b > 0, c > 0 ) )
> then
> System.out.println( "All triangle sides are > 0." );
> end
>
> -W
>
>
>
> On 12 September 2010 19:45, Wolfgang Laun <wolfgang.laun at gmail.com> wrote:
>
>> Given classes
>> class Triangle { int a, b, c;... }
>> class Quadrangle { int a, b, c, d;... }
>> with appropriate getters (but no hashCode or equals) and these facts
>> Triangle( 3, 3, 3 )
>> Triangle( 3, 3, 3 ) // a duplicate, intentional
>> Quadrangle ( 3, 4, 5, 6 );
>> the rule
>> rule "all equilaterals have a 'fitting' quadrangle"
>> when
>> forall( Triangle( $a: a, b == $a, c == $a )
>> Quadrangle( a == $a || b == $a || c == $a || d == $a ) )
>> then // ...
>> end
>> works as expected - it fires.
>>
>> But the rule
>> rule "all equilaterals have a duplicate"
>> when
>> forall( $t: Triangle( $a: a, b == $a, c == $a )
>> Triangle( this != $t, a == $a, b == $a , c == $a ) )
>> then // ...
>> end
>> does not fire, not even when I omit this != $t. Why?
>>
>> Do I have a white spot in my grey cells? Please tint my taint...
>>
>> -W
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100915/7ea7dcf8/attachment.html
More information about the rules-users
mailing list