[jboss-svn-commits] JBL Code SVN: r26895 - in labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl: src/main/java/org/drools/chance/BayesianTest and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Jun 10 02:49:00 EDT 2009


Author: dsotty
Date: 2009-06-10 02:49:00 -0400 (Wed, 10 Jun 2009)
New Revision: 26895

Added:
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianChainTest.java
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTreeTest.java
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl
Removed:
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTest.java
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTest.drl
Modified:
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/BaseTest.log
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ImpliesTest1.log
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/BaseTest.ruleml.xml
   labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml
Log:


Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/BaseTest.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/BaseTest.log	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/BaseTest.log	2009-06-10 06:49:00 UTC (rev 26895)
@@ -5,16 +5,16 @@
 Declared message is null but is thought to be Hello!
 Eval Record info(1.0) for args L : Message 31	 
 AND{
-(31 at 13) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))) [EVAL 1.0,]
-(31 at 14) : 1.0 Synch [EVAL 0.0,PRIOR 1.0,]
+(31 at 13) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))) [EVAL 1.0,PRIOR o,]
+(31 at 14) : 1.0/1.0 Synch [EVAL 0.0,PRIOR 1.0,]
 }
 
-(31 at 15) : 1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))),Synch) [EVAL 1.0,]
-	(31 at 13) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))) [EVAL 1.0,]
-		(31 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!)) [EVAL 1.0,]
-			(31 at 10) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-			(31 at 11) : 1.0 equals(org.drools.chance.Message.message,Hello!) [Trigger 1.0,EVAL 0.0,]
-	(31 at 14) : 1.0 Synch [EVAL 0.0,PRIOR 1.0,]
+(31 at 15) : 1.0/1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))),Synch) [EVAL 1.0,PRIOR o,]
+	(31 at 13) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!))) [EVAL 1.0,PRIOR o,]
+		(31 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Message),equals(org.drools.chance.Message.message,Hello!)) [EVAL 1.0,PRIOR o,]
+			(31 at 10) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+			(31 at 11) : 1.0/1.0 equals(org.drools.chance.Message.message,Hello!) [EVAL 0.0,Trigger 1.0,PRIOR o,]
+	(31 at 14) : 1.0/1.0 Synch [EVAL 0.0,PRIOR 1.0,]
 
 
 
@@ -28,20 +28,20 @@
 
 Eval Record info(1.0) for args L : Person -1338851184	Book -1616370320	 
 AND{
-(798680544 at 24) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))) [EVAL 1.0,]
-(798680544 at 25) : 1.0 BetaSynch [EVAL 0.0,PRIOR 1.0,]
+(798680544 at 24) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))) [EVAL 1.0,PRIOR o,]
+(798680544 at 25) : 1.0/1.0 BetaSynch [EVAL 0.0,PRIOR 1.0,]
 }
 
-(798680544 at 26) : 1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))),BetaSynch) [EVAL 1.0,]
-	(798680544 at 24) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))) [EVAL 1.0,]
-		(-1338851184 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))) [EVAL 1.0,]
-			(-1338851184 at 17) : 1.0 ==(class,org.drools.chance.Person) [EVAL 1.0,]
-			(-1338851184 at 18) : 1.0 String ==(org.drools.chance.Person.name,davide) [EVAL 1.0,]
-			(-1338851184 at 19) : 1.0 or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18)) [EVAL 1.0,]
-		(798680544 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p)) [EVAL 1.0,]
-			(-1616370320 at 22) : 1.0 ==(class,org.drools.chance.Book) [EVAL 1.0,]
-			(798680544 at 23) : 1.0 equals(org.drools.chance.Book.owner,$p) [Synch 1.0,EVAL 0.0,]
-	(798680544 at 25) : 1.0 BetaSynch [EVAL 0.0,PRIOR 1.0,]
+(798680544 at 26) : 1.0/1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))),BetaSynch) [EVAL 1.0,PRIOR o,]
+	(798680544 at 24) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))),dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p))) [EVAL 1.0,PRIOR o,]
+		(-1338851184 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Person),String ==(org.drools.chance.Person.name,davide),or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18))) [EVAL 1.0,PRIOR o,]
+			(-1338851184 at 17) : 1.0/1.0 ==(class,org.drools.chance.Person) [EVAL 1.0,PRIOR o,]
+			(-1338851184 at 18) : 1.0/1.0 String ==(org.drools.chance.Person.name,davide) [EVAL 1.0,PRIOR o,]
+			(-1338851184 at 19) : 1.0/1.0 or(Integer >(org.drools.chance.Person.age,25),Integer <(org.drools.chance.Person.age,18)) [EVAL 1.0,PRIOR o,]
+		(798680544 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Book),equals(org.drools.chance.Book.owner,$p)) [EVAL 1.0,PRIOR o,]
+			(-1616370320 at 22) : 1.0/1.0 ==(class,org.drools.chance.Book) [EVAL 1.0,PRIOR o,]
+			(798680544 at 23) : 1.0/1.0 equals(org.drools.chance.Book.owner,$p) [Synch 1.0,EVAL 0.0,PRIOR o,]
+	(798680544 at 25) : 1.0/1.0 BetaSynch [EVAL 0.0,PRIOR 1.0,]
 
 
 
@@ -50,36 +50,36 @@
 
 Ex Algebra can be done? Answer is 0.0Eval Record info(0.75) for args L : Exercise 748374823	 
 AND{
-(748374823 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-(748374823 at 31) : 0.0 Exceptional [EVAL 0.0,PRIOR 0.0,]
+(748374823 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+(748374823 at 31) : 0.0/0.5 Exceptional [BetaSynch o,EVAL 0.0,PRIOR 0.0,]
 }
 
-(748374823 at 32) : 0.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 0.0,]
-	(748374823 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-		(748374823 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,]
-			(748374823 at 28) : 1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,]
-	(748374823 at 31) : 0.0 Exceptional [EVAL 0.0,PRIOR 0.0,]
+(748374823 at 32) : 0.0/0.75 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 0.0,PRIOR o,]
+	(748374823 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+		(748374823 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,PRIOR o,]
+			(748374823 at 28) : 1.0/1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,PRIOR o,]
+	(748374823 at 31) : 0.0/0.5 Exceptional [BetaSynch o,EVAL 0.0,PRIOR 0.0,]
 
 Ex Norse Grammar can be done? Answer is 0.0Eval Record info(0.75) for args L : Exercise -69566135	 
 AND{
-(-69566135 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-(-69566135 at 31) : 0.0 Exceptional [EVAL 0.0,PRIOR 0.0,]
+(-69566135 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+(-69566135 at 31) : 0.0/0.5 Exceptional [BetaSynch o,EVAL 0.0,PRIOR 0.0,]
 }
 
-(-69566135 at 32) : 0.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 0.0,]
-	(-69566135 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-		(-69566135 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,]
-			(-69566135 at 28) : 1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,]
-	(-69566135 at 31) : 0.0 Exceptional [EVAL 0.0,PRIOR 0.0,]
+(-69566135 at 32) : 0.0/0.75 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 0.0,PRIOR o,]
+	(-69566135 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+		(-69566135 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,PRIOR o,]
+			(-69566135 at 28) : 1.0/1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,PRIOR o,]
+	(-69566135 at 31) : 0.0/0.5 Exceptional [BetaSynch o,EVAL 0.0,PRIOR 0.0,]
 
 Ex Rule Programming can be done? Answer is 1.0Eval Record info(1.0) for args L : Exercise 1260975572	 
 AND{
-(1260975572 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-(1260975572 at 31) : 1.0 Exceptional [BetaSynch 1.0,EVAL 0.0,PRIOR 0.0,]
+(1260975572 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+(1260975572 at 31) : 1.0/1.0 Exceptional [BetaSynch 1.0,EVAL 0.0,PRIOR 0.0,]
 }
 
-(1260975572 at 32) : 1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 1.0,]
-	(1260975572 at 30) : 1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,]
-		(1260975572 at 1) : 1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,]
-			(1260975572 at 28) : 1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,]
-	(1260975572 at 31) : 1.0 Exceptional [BetaSynch 1.0,EVAL 0.0,PRIOR 0.0,]
+(1260975572 at 32) : 1.0/1.0 minAnd(dotAnd(dotAnd(==(class,org.drools.chance.Exercise))),Exceptional) [EVAL 1.0,PRIOR o,]
+	(1260975572 at 30) : 1.0/1.0 dotAnd(dotAnd(==(class,org.drools.chance.Exercise))) [EVAL 1.0,PRIOR o,]
+		(1260975572 at 1) : 1.0/1.0 dotAnd(==(class,org.drools.chance.Exercise)) [EVAL 1.0,PRIOR o,]
+			(1260975572 at 28) : 1.0/1.0 ==(class,org.drools.chance.Exercise) [EVAL 1.0,PRIOR o,]
+	(1260975572 at 31) : 1.0/1.0 Exceptional [BetaSynch 1.0,EVAL 0.0,PRIOR 0.0,]

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ComplexFormulaTest.log	2009-06-10 06:49:00 UTC (rev 26895)
@@ -1,27 +1,31 @@
 Degrees test Eval Record info(1.0) for args L : Message 1	 
 AND{
-(1 at 25) : 0.011013344 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.011013344,]
-(1 at 26) : 1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
+(1 at 27) : 0.03900929540395737/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))) [EVAL 0.03900929540395737,PRIOR o,]
+(1 at 28) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
 }
 
-(1 at 27) : 0.011013344 minAnd(dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))),TestOpDegs) [EVAL 0.011013344,]
-	(1 at 25) : 0.011013344 dotAnd(maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-dotAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5))) [EVAL 0.011013344,]
-		(1 at 11) : 0.025366712 maxOr(dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 0.025366712,]
-			(1 at 1) : 0.0 dotAnd(==(class,org.drools.chance.Message),Integer ==(org.drools.chance.Message.status,0),Integer ==(org.drools.chance.Message.status,1)) [EVAL 0.0,]
-				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 4) : 1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,]
-				(1 at 5) : 0.0 Integer ==(org.drools.chance.Message.status,1) [EVAL 0.0,]
-			(1 at 1) : 0.025366712 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.025366712,]
-				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 9) : 0.025366712 random(org.drools.chance.Message.status,2) [EVAL 0.025366712,]
-		(1 at 20) : 0.865045 -dotAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))) [EVAL 0.865045,]
-			(1 at 1) : 0.23653376 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.23653376,]
-				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 14) : 0.23653376 random(org.drools.chance.Message.status,3) [EVAL 0.23653376,]
-			(1 at 1) : 0.5705527 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.5705527,]
-				(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-				(1 at 18) : 0.5705527 random(org.drools.chance.Message.status,4) [EVAL 0.5705527,]
-		(1 at 1) : 0.501899 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5)) [EVAL 0.501899,]
-			(1 at 3) : 1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,]
-			(1 at 23) : 0.501899 random(org.drools.chance.Message.status,5) [EVAL 0.501899,]
-	(1 at 26) : 1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]
+(1 at 29) : 0.03900929540395737/1.0 lukAnd(dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))),TestOpDegs) [EVAL 0.03900929540395737,PRIOR o,]
+	(1 at 27) : 0.03900929540395737/1.0 dotAnd(lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))),-lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))),lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6))) [EVAL 0.03900929540395737,PRIOR o,]
+		(1 at 11) : 0.07807037234306335/1.0 lukasOr(minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2))) [EVAL 0.07807037234306335,PRIOR o,]
+			(1 at 1) : 0.04750553518533707/1.0 minAnd(==(class,org.drools.chance.Message),lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)))) [EVAL 0.04750553518533707,PRIOR 0.044440001249313354,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 5) : 0.04750553518533707/1.0 lukAnd(Integer ==(org.drools.chance.Message.status,0),dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1))) [EVAL 0.04750553518533707,PRIOR o,]
+					(1 at 5) : 1.0/1.0 Integer ==(org.drools.chance.Message.status,0) [EVAL 1.0,PRIOR o,]
+					(1 at 5) : 0.04750553518533707/1.0 dotAnd(random(org.drools.chance.Message.status,1),random(org.drools.chance.Message.status,-1)) [EVAL 0.04750553518533707,PRIOR o,]
+						(1 at 5) : 0.10262562334537506/1.0 random(org.drools.chance.Message.status,1) [EVAL 0.10262562334537506,PRIOR o,]
+						(1 at 5) : 0.4629012942314148/1.0 random(org.drools.chance.Message.status,-1) [EVAL 0.4629012942314148,PRIOR o,]
+			(1 at 1) : 0.030564839020371437/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,2)) [EVAL 0.030564839020371437,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 9) : 0.030564839020371437/1.0 random(org.drools.chance.Message.status,2) [EVAL 0.030564839020371437,PRIOR o,]
+		(1 at 20) : 0.5030843019485474/1.0 -lukAnd(dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)),dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4))) [EVAL 0.5030843019485474,PRIOR o,]
+			(1 at 1) : 0.6145576238632202/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,3)) [EVAL 0.6145576238632202,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 14) : 0.6145576238632202/1.0 random(org.drools.chance.Message.status,3) [EVAL 0.6145576238632202,PRIOR o,]
+			(1 at 1) : 0.8823580741882324/1.0 dotAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,4)) [EVAL 0.8823580741882324,PRIOR o,]
+				(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+				(1 at 18) : 0.8823580741882324/1.0 random(org.drools.chance.Message.status,4) [EVAL 0.8823580741882324,PRIOR o,]
+		(1 at 1) : 0.9932100176811218/1.0 lukAnd(==(class,org.drools.chance.Message),random(org.drools.chance.Message.status,5),random(org.drools.chance.Message.status,6)) [EVAL 0.0,PRIOR 0.9932100176811218,]
+			(1 at 3) : 1.0/1.0 ==(class,org.drools.chance.Message) [EVAL 1.0,PRIOR o,]
+			(1 at 24) : 0.3239850103855133/1.0 random(org.drools.chance.Message.status,5) [EVAL 0.3239850103855133,PRIOR o,]
+			(1 at 25) : 0.31954556703567505/1.0 random(org.drools.chance.Message.status,6) [EVAL 0.31954556703567505,PRIOR o,]
+	(1 at 28) : 1.0/1.0 TestOpDegs [EVAL 0.0,PRIOR 1.0,]

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ImpliesTest1.log
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ImpliesTest1.log	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/log/ImpliesTest1.log	2009-06-10 06:49:00 UTC (rev 26895)
@@ -24,66 +24,66 @@
 
 Induct_BirdsFly Eval Record info(1.0) for args L : Bird 32	 
 AND{
-(32 at 20) : [0.75,0.75] i_xand(i_forAny()) [EVAL [0.75,0.75],]
-(0 at 21) : [1.0,1.0] Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(32 at 20) : [0.75,0.75]/1.0 i_xand(i_forAny()) [EVAL [0.75,0.75],PRIOR o,]
+(0 at 21) : [1.0,1.0]/1.0 Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(32 at 22) : [0.75,0.75] i_dblMP(i_xand(i_forAny())Induct_BirdsFly) [EVAL [0.75,0.75],]
-	(32 at 20) : [0.75,0.75] i_xand(i_forAny()) [EVAL [0.75,0.75],]
-		(0 at 19) : [0.75,0.75] i_forAny() [EVAL [0.75,0.75],]
-			(32 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(32 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(32 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(32 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(32 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(32 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(32 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(33 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(33 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(33 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(33 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(33 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(33 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(33 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(34 at -1) : [0.0,0.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [0.0,0.0],]
-				(34 at 17) : [0.0,0.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [0.0,0.0],]
-					(34 at 12) : [0.0,0.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [0.0,0.0],]
-						(34 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(34 at 1) : [0.0,0.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [0.0,0.0],]
-							(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(34 at 10) : [0.0,0.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [0.0,0.0],]
-							(34 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(34 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(34 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(34 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(35 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(35 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(35 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(35 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(35 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(35 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(35 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-	(0 at 21) : [1.0,1.0] Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(32 at 22) : [0.75,0.75]/1.0 i_dblMP(i_xand(i_forAny())Induct_BirdsFly) [EVAL [0.75,0.75],PRIOR o,]
+	(32 at 20) : [0.75,0.75]/1.0 i_xand(i_forAny()) [EVAL [0.75,0.75],PRIOR o,]
+		(0 at 19) : [0.75,0.75]/1.0 i_forAny() [EVAL [0.75,0.75],PRIOR o,]
+			(32 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(32 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(32 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 11) : [0.0,0.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [0.0,0.0],PRIOR o,]
+					(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(33 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(33 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(33 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(34 at -1) : [0.0,0.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [0.0,0.0],PRIOR o,]
+				(34 at 17) : [0.0,0.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [0.0,0.0],PRIOR o,]
+					(34 at 12) : [0.0,0.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [0.0,0.0],PRIOR o,]
+						(34 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 1) : [0.0,0.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [0.0,0.0],PRIOR o,]
+							(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(34 at 10) : [0.0,0.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [0.0,0.0],PRIOR o,]
+							(34 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(34 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(35 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(35 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(35 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+	(0 at 21) : [1.0,1.0]/1.0 Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 
@@ -99,30 +99,30 @@
 
 Eval Record info(1.0) for args L : Bird 130	 
 AND{
-(130 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-(130 at 27) : [0.75,0.75] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(130 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+(130 at 27) : [0.75,0.75]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 }
 
-(130 at 28) : [0.75,1.0] i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.75,1.0],]
-	(130 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-		(130 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-			(130 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-	(130 at 27) : [0.75,0.75] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(130 at 28) : [0.75,1.0]/1.0 i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.75,1.0],PRIOR o,]
+	(130 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+		(130 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+			(130 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+	(130 at 27) : [0.75,0.75]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 
 
 Bird 99 : FLIES at degree [0.75,1.0]
 ++++CONCLUSION : Eval Record info(1.0) for args L : Bird 130	 
 AND{
-(130 at 40) : [0.75,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.75,1.0],]
-(130 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(130 at 40) : [0.75,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.75,1.0],PRIOR o,]
+(130 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(130 at 42) : [0.75,1.0] i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.75,1.0],]
-	(130 at 40) : [0.75,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.75,1.0],]
-		(130 at 1) : [0.75,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.75,1.0],]
-			(130 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-			(130 at 38) : [0.75,1.0] flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.75,1.0],Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],]
-	(130 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(130 at 42) : [0.75,1.0]/1.0 i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.75,1.0],PRIOR o,]
+	(130 at 40) : [0.75,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.75,1.0],PRIOR o,]
+		(130 at 1) : [0.75,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.75,1.0],PRIOR o,]
+			(130 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+			(130 at 38) : [0.75,1.0]/1.0 flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.75,1.0],Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],PRIOR o,]
+	(130 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 
@@ -138,30 +138,30 @@
 
 Eval Record info(1.0) for args L : Bird 21	 
 AND{
-(21 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-(21 at 27) : [0.0,0.0] Deduct_BirdsFly [Exception_BirdsFly [0.0,0.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(21 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+(21 at 27) : [0.0,0.0]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,0.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 }
 
-(21 at 28) : [0.0,1.0] i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.0,1.0],]
-	(21 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-		(21 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-			(21 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-	(21 at 27) : [0.0,0.0] Deduct_BirdsFly [Exception_BirdsFly [0.0,0.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(21 at 28) : [0.0,1.0]/1.0 i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.0,1.0],PRIOR o,]
+	(21 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+		(21 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+			(21 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+	(21 at 27) : [0.0,0.0]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,0.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 
 
 Bird -10 : FLIES at degree [0.0,0.0]
 ++++CONCLUSION : Eval Record info(1.0) for args L : Bird 21	 
 AND{
-(21 at 40) : [0.0,0.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.0,0.0],]
-(21 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(21 at 40) : [0.0,0.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.0,0.0],PRIOR o,]
+(21 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(21 at 42) : [0.0,0.0] i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.0,0.0],]
-	(21 at 40) : [0.0,0.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.0,0.0],]
-		(21 at 1) : [0.0,0.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.0,0.0],]
-			(21 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-			(21 at 38) : [0.0,0.0] flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.0,1.0],Exception_BirdsFly [0.0,0.0],EVAL [0.0,1.0],]
-	(21 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(21 at 42) : [0.0,0.0]/1.0 i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.0,0.0],PRIOR o,]
+	(21 at 40) : [0.0,0.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.0,0.0],PRIOR o,]
+		(21 at 1) : [0.0,0.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.0,0.0],PRIOR o,]
+			(21 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+			(21 at 38) : [0.0,0.0]/1.0 flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.0,1.0],Exception_BirdsFly [0.0,0.0],EVAL [0.0,1.0],PRIOR o,]
+	(21 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 
@@ -174,79 +174,79 @@
 
 Induct_BirdsFly Eval Record info(1.0) for args L : Bird 32	 
 AND{
-(32 at 20) : [0.8,0.8] i_xand(i_forAny()) [EVAL [0.8,0.8],]
-(0 at 21) : [1.0,1.0] Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(32 at 20) : [0.800000011920929,0.800000011920929]/1.0 i_xand(i_forAny()) [EVAL [0.800000011920929,0.800000011920929],PRIOR o,]
+(0 at 21) : [1.0,1.0]/1.0 Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(32 at 22) : [0.8,0.8] i_dblMP(i_xand(i_forAny())Induct_BirdsFly) [EVAL [0.8,0.8],]
-	(32 at 20) : [0.8,0.8] i_xand(i_forAny()) [EVAL [0.8,0.8],]
-		(1031 at 19) : [0.8,0.8] i_forAny() [EVAL [0.8,0.8],]
-			(32 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(32 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(32 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(32 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(32 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(32 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(32 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(32 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(32 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(33 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(33 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(33 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(33 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(33 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(33 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(33 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(33 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(33 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(34 at -1) : [0.0,0.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [0.0,0.0],]
-				(34 at 17) : [0.0,0.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [0.0,0.0],]
-					(34 at 12) : [0.0,0.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [0.0,0.0],]
-						(34 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(34 at 1) : [0.0,0.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [0.0,0.0],]
-							(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(34 at 10) : [0.0,0.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [0.0,0.0],]
-							(34 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(34 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(34 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(34 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(34 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(35 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(35 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(35 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(35 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(35 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(35 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(35 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(35 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(35 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-			(1031 at -1) : [1.0,1.0] i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],]
-				(1031 at 17) : [1.0,1.0] i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],]
-					(1031 at 12) : [1.0,1.0] i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],]
-						(1031 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-							(1031 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(1031 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],]
-							(1031 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-							(1031 at 10) : [1.0,1.0] Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],]
-							(1031 at 11) : [1.0,1.0] Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],]
-					(1031 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],]
-						(1031 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-						(1031 at 15) : [1.0,1.0] Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],]
-						(1031 at 16) : [1.0,1.0] Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [1.0,1.0],]
-	(0 at 21) : [1.0,1.0] Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(32 at 22) : [0.800000011920929,0.800000011920929]/1.0 i_dblMP(i_xand(i_forAny())Induct_BirdsFly) [EVAL [0.800000011920929,0.800000011920929],PRIOR o,]
+	(32 at 20) : [0.800000011920929,0.800000011920929]/1.0 i_xand(i_forAny()) [EVAL [0.800000011920929,0.800000011920929],PRIOR o,]
+		(1031 at 19) : [0.800000011920929,0.800000011920929]/1.0 i_forAny() [EVAL [0.800000011920929,0.800000011920929],PRIOR o,]
+			(32 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(32 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(32 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(32 at 11) : [0.0,0.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [0.0,0.0],PRIOR o,]
+					(32 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(32 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(33 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(33 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(33 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(33 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(33 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(33 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(34 at -1) : [0.0,0.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [0.0,0.0],PRIOR o,]
+				(34 at 17) : [0.0,0.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [0.0,0.0],PRIOR o,]
+					(34 at 12) : [0.0,0.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [0.0,0.0],PRIOR o,]
+						(34 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 1) : [0.0,0.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [0.0,0.0],PRIOR o,]
+							(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(34 at 10) : [0.0,0.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [0.0,0.0],PRIOR o,]
+							(34 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(34 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(34 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(35 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(35 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(35 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(35 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(35 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(35 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+			(1031 at -1) : [1.0,1.0]/1.0 i_xand(i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)))) [EVAL [1.0,1.0],PRIOR o,]
+				(1031 at 17) : [1.0,1.0]/1.0 i_discount(i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id))) [EVAL [1.0,1.0],PRIOR o,]
+					(1031 at 12) : [1.0,1.0]/1.0 i_ximp(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)),i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b))) [EVAL [1.0,1.0],PRIOR o,]
+						(1031 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+							(1031 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(1031 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true),Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b)) [EVAL [1.0,1.0],PRIOR o,]
+							(1031 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+							(1031 at 10) : [1.0,1.0]/1.0 Boolean ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,true) [EVAL [1.0,1.0],PRIOR o,]
+							(1031 at 11) : [1.0,1.0]/1.0 Object ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,$b) [EVAL [1.0,1.0],PRIOR o,]
+					(1031 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null),Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id)) [EVAL [1.0,1.0],PRIOR o,]
+						(1031 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+						(1031 at 15) : [1.0,1.0]/1.0 Boolean !=(org.drools.chance.impliesTest.ImpliesTest1$Bird.isFlier,null) [EVAL [1.0,1.0],PRIOR o,]
+						(1031 at 16) : [0.0,0.0]/1.0 Integer ==(org.drools.chance.impliesTest.ImpliesTest1$Bird.id,id) [EVAL [0.0,0.0],PRIOR o,]
+	(0 at 21) : [1.0,1.0]/1.0 Induct_BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 Contrib from Implication B->F for bird 1000 : degree [0.75,1.0]
@@ -254,30 +254,30 @@
 
 Eval Record info(1.0) for args L : Bird 1031	 
 AND{
-(1031 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-(1031 at 27) : [0.75,0.75] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(1031 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+(1031 at 27) : [0.75,0.75]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 }
 
-(1031 at 28) : [0.75,1.0] i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.75,1.0],]
-	(1031 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-		(1031 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-			(1031 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-	(1031 at 27) : [0.75,0.75] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.75,0.75],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(1031 at 28) : [0.75,1.0]/1.0 i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.75,1.0],PRIOR o,]
+	(1031 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+		(1031 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+			(1031 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+	(1031 at 27) : [0.75,0.75]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.75,0.75],PRIOR [0.0,1.0],]
 
 
 Bird 1000 : FLIES at degree [1.0,1.0]
 ++++CONCLUSION : Eval Record info(1.0) for args L : Bird 1031	 
 AND{
-(1031 at 40) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [1.0,1.0],]
-(1031 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(1031 at 40) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [1.0,1.0],PRIOR o,]
+(1031 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(1031 at 42) : [1.0,1.0] i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [1.0,1.0],]
-	(1031 at 40) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [1.0,1.0],]
-		(1031 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [1.0,1.0],]
-			(1031 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-			(1031 at 38) : [1.0,1.0] flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.75,1.0],Exception_BirdsFly [0.0,1.0],EVAL [1.0,1.0],]
-	(1031 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(1031 at 42) : [1.0,1.0]/1.0 i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [1.0,1.0],PRIOR o,]
+	(1031 at 40) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [1.0,1.0],PRIOR o,]
+		(1031 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [1.0,1.0],PRIOR o,]
+			(1031 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+			(1031 at 38) : [1.0,1.0]/1.0 flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.75,1.0],Exception_BirdsFly [0.0,1.0],EVAL [1.0,1.0],PRIOR o,]
+	(1031 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 
@@ -288,35 +288,35 @@
 
 
 
-Contrib from Implication B->F for bird 100 : degree [0.8,1.0]
+Contrib from Implication B->F for bird 100 : degree [0.800000011920929,1.0]
 
 
 Eval Record info(1.0) for args L : Bird 131	 
 AND{
-(131 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-(131 at 27) : [0.8,0.8] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.8,0.8],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(131 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+(131 at 27) : [0.800000011920929,0.800000011920929]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.800000011920929,0.800000011920929],PRIOR [0.0,1.0],]
 }
 
-(131 at 28) : [0.8,1.0] i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.8,1.0],]
-	(131 at 26) : [1.0,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],]
-		(131 at 1) : [1.0,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],]
-			(131 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-	(131 at 27) : [0.8,0.8] Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],Induct_BirdsFly [0.8,0.8],EVAL [0.0,1.0],PRIOR [0.0,1.0],]
+(131 at 28) : [0.800000011920929,1.0]/1.0 i_modPon(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))),Deduct_BirdsFly) [EVAL [0.800000011920929,1.0],PRIOR o,]
+	(131 at 26) : [1.0,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird))) [EVAL [1.0,1.0],PRIOR o,]
+		(131 at 1) : [1.0,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird)) [EVAL [1.0,1.0],PRIOR o,]
+			(131 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+	(131 at 27) : [0.800000011920929,0.800000011920929]/1.0 Deduct_BirdsFly [Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],Induct_BirdsFly [0.800000011920929,0.800000011920929],PRIOR [0.0,1.0],]
 
 
-Bird 100 : FLIES at degree [0.79999995,1.0]
+Bird 100 : FLIES at degree [0.7999999523162842,1.0]
 ++++CONCLUSION : Eval Record info(1.0) for args L : Bird 131	 
 AND{
-(131 at 40) : [0.79999995,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.79999995,1.0],]
-(131 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(131 at 40) : [0.7999999523162842,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.7999999523162842,1.0],PRIOR o,]
+(131 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 }
 
-(131 at 42) : [0.79999995,1.0] i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.79999995,1.0],]
-	(131 at 40) : [0.79999995,1.0] i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.79999995,1.0],]
-		(131 at 1) : [0.79999995,1.0] i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.79999995,1.0],]
-			(131 at 6) : [1.0,1.0] ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],]
-			(131 at 38) : [0.8,1.0] flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.8,1.0],Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],]
-	(131 at 41) : [1.0,1.0] BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
+(131 at 42) : [0.7999999523162842,1.0]/1.0 i_dblMP(i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))),BirdsFly) [EVAL [0.7999999523162842,1.0],PRIOR o,]
+	(131 at 40) : [0.7999999523162842,1.0]/1.0 i_xand(i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null))) [EVAL [0.7999999523162842,1.0],PRIOR o,]
+		(131 at 1) : [0.7999999523162842,1.0]/1.0 i_xand(==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird),flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null)) [EVAL [0.7999999523162842,1.0],PRIOR o,]
+			(131 at 6) : [1.0,1.0]/1.0 ==(class,org.drools.chance.impliesTest.ImpliesTest1$Bird) [EVAL [1.0,1.0],PRIOR o,]
+			(131 at 38) : [0.800000011920929,1.0]/1.0 flies(org.drools.chance.impliesTest.ImpliesTest1$Bird.this,null) [Deduct_BirdsFly [0.800000011920929,1.0],Exception_BirdsFly [0.0,1.0],EVAL [0.0,1.0],PRIOR o,]
+	(131 at 41) : [1.0,1.0]/1.0 BirdsFly [EVAL [0.0,1.0],PRIOR [1.0,1.0],]
 
 
 

Added: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianChainTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianChainTest.java	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianChainTest.java	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,43 @@
+package org.drools.chance.BayesianTest;
+
+import org.drools.chance.AbstractChanceTest;
+import org.drools.chance.fuzzyTest.FuzzyTest1;
+import org.drools.definition.type.FactType;
+
+public class BayesianChainTest extends AbstractChanceTest {
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		BayesianChainTest test = new BayesianChainTest();
+		test.setRuleFileName("BayesianChainTest.drl");
+		test.setFactoryName("org.drools.degrees.factory.BayesianDegreeFactory");
+		test.setDumpable(false);
+		test.setSilent(false);
+		
+		test.run();
+
+	}
+
+	
+	public void act() {
+		
+		FactType quakeType = getFactType("Quake");
+		
+		try {
+			Object quake = quakeType.newInstance();			
+			
+			getSession().insert(quake);
+			
+						
+			getSession().fireAllRules();
+		
+		}  catch (Exception e) {
+			e.printStackTrace();		
+		}
+		
+	
+	}
+
+}

Added: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianNetworkTest.java	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,46 @@
+package org.drools.chance.BayesianTest;
+
+import org.drools.chance.AbstractChanceTest;
+import org.drools.chance.fuzzyTest.FuzzyTest1;
+import org.drools.definition.type.FactType;
+
+public class BayesianNetworkTest extends AbstractChanceTest {
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		BayesianNetworkTest test = new BayesianNetworkTest();
+		test.setRuleFileName("BayesianNetworkTest.drl");
+		test.setFactoryName("org.drools.degrees.factory.BayesianDegreeFactory");
+		test.setDumpable(false);
+		test.setSilent(false);
+		
+		test.run();
+
+	}
+
+	
+	public void act() {
+		
+		FactType quakeType = getFactType("Quake");
+		FactType burglarType = getFactType("Burglar");
+		
+		try {
+			Object quake = quakeType.newInstance();			
+			Object burglar = burglarType.newInstance();
+			
+			getSession().insert(quake);
+			getSession().insert(burglar);			
+						
+			getSession().fireAllRules();
+			
+			
+		}  catch (Exception e) {
+			e.printStackTrace();		
+		}
+		
+
+	}
+
+}

Deleted: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTest.java
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTest.java	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTest.java	2009-06-10 06:49:00 UTC (rev 26895)
@@ -1,43 +0,0 @@
-package org.drools.chance.BayesianTest;
-
-import org.drools.chance.AbstractChanceTest;
-import org.drools.chance.fuzzyTest.FuzzyTest1;
-import org.drools.definition.type.FactType;
-
-public class BayesianTest extends AbstractChanceTest {
-
-	/**
-	 * @param args
-	 */
-	public static void main(String[] args) {
-		BayesianTest test = new BayesianTest();
-		test.setRuleFileName("BayesianTest.drl");
-		test.setFactoryName("org.drools.degrees.factory.BayesianDegreeFactory");
-		test.setDumpable(false);
-		test.setSilent(false);
-		
-		test.run();
-
-	}
-
-	
-	public void act() {
-//		String packS = this.getClass().getPackage().getName();
-//		FactType foo1Type = getSession().getKnowledgeBase().getFactType(packS,"Foo1");
-//		FactType foo2Type = getSession().getKnowledgeBase().getFactType(packS,"Foo2");
-//		
-//		try {
-//			Object foo1 = foo1Type.newInstance();
-//			Object foo2 = foo2Type.newInstance();
-//			
-//			getSession().insert(foo1);
-//			getSession().insert(foo2);
-//			
-//			getSession().fireAllRules();
-//		}  catch (Exception e) {
-//			e.printStackTrace();		
-//		}
-//		
-	}
-
-}

Copied: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTreeTest.java (from rev 26840, labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTest.java)
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTreeTest.java	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/java/org/drools/chance/BayesianTest/BayesianTreeTest.java	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,44 @@
+package org.drools.chance.BayesianTest;
+
+import org.drools.chance.AbstractChanceTest;
+import org.drools.chance.fuzzyTest.FuzzyTest1;
+import org.drools.definition.type.FactType;
+
+public class BayesianTreeTest extends AbstractChanceTest {
+
+	/**
+	 * @param args
+	 */
+	public static void main(String[] args) {
+		BayesianTreeTest test = new BayesianTreeTest();
+		test.setRuleFileName("BayesianTreeTest.drl");
+		test.setFactoryName("org.drools.degrees.factory.BayesianDegreeFactory");
+		test.setDumpable(false);
+		test.setSilent(false);
+		
+		test.run();
+
+	}
+
+	
+	public void act() {
+		
+		FactType quakeType = getFactType("Quake");
+		
+		try {
+			Object quake = quakeType.newInstance();			
+			
+			getSession().insert(quake);
+			
+						
+			getSession().fireAllRules();
+			
+	
+		}  catch (Exception e) {
+			e.printStackTrace();		
+		}
+		
+	
+	}
+
+}

Copied: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl (from rev 26840, labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTest.drl)
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianChainTest.drl	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,223 @@
+package org.drools.chance.BayesianTest
+
+import org.drools.bayesian.BooleanDomain;
+import java.io.FileWriter;
+
+
+
+
+declare Quake
+	flag : BooleanDomain @key 
+end
+
+declare QuakeActions
+end
+
+declare Burglar
+	flag : BooleanDomain @key
+end
+
+declare BurglarActions
+end
+
+declare Alarm
+	id : int @key
+end
+
+declare AlarmActions
+end
+
+
+declare John
+	id : int @key
+end
+
+declare JohnActions
+end
+
+
+declare Mary
+	id : int @key
+end
+
+declare MaryActions
+end
+
+
+global FileWriter writer;
+
+
+
+
+
+rule "pi:Quake->Alarm"
+	
+	prior ( [0.9 0.1 ; 0.1 0.9] )
+
+	when
+		(or @( args="pi:Quake->Alarm" )
+		Quake ( flag random )
+		) 
+	then
+		writer.write("Message : Quake->Alarm " +drools.getConsequenceDegree()+"\n\n");
+		
+		Alarm alarm = new Alarm();
+			alarm.setId(0);
+			drools.inject(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+		insertLogical(alarm);
+			
+end
+
+
+rule "lambda:Quake->Alarm"
+	prior ( [0.9 0.1 ; 0.1 0.9] )
+	when
+		(or @( args="lambda:Quake->Alarm" )
+		Alarm ( )
+		)	
+	then
+		writer.write("Message : Alarm->Quake  " +drools.getConsequenceDegree()+"\n\n");
+		
+		drools.injectKey(new Quake(),"org.drools.chance.BayesianTest.Quake.flag","random",null);	
+end
+
+
+
+
+rule "pi:Alarm->John"
+	
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="pi:Alarm->John" )
+		Alarm()
+		) 
+	then
+		writer.write("Message : Alarm->John " + drools.getConsequenceDegree() + "\n\n");
+		
+		John john = new John();
+			john.setId(0);
+			drools.inject(john,"class","==","org.drools.chance.BayesianTest.John");
+		insertLogical(john);
+end
+
+rule "lambda:Alarm->John"
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="lambda:Alarm->John" )
+		John ( )
+		)	
+	then
+		writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
+		Alarm alarm = new Alarm();
+			alarm.setId(0);		
+		drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");	
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*************************************************************************************************/
+
+
+
+
+
+
+rule "Quake"
+	prior ( [1 0 ; 0 1] )		
+	when		
+		Quake ( flag random ) 
+	then			
+			if (drools.getEvaluation().getInfoRate() == 1.0) {
+				QuakeActions qa = new QuakeActions();
+				drools.inject(qa,"class","==","org.drools.chance.BayesianTest.QuakeActions");
+					insertLogical(qa);
+			}
+end
+
+rule "Quake_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		QuakeActions (  ) 
+	then		
+			writer.write("Quake c1" + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+
+
+
+rule "Alarm"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Alarm (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				AlarmActions aa = new AlarmActions();
+				drools.inject(aa,"class","==","org.drools.chance.BayesianTest.AlarmActions");
+					insertLogical(aa);
+		}
+		
+end
+	
+	
+
+rule "Alarm_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		AlarmActions (  ) 
+	then		
+			writer.write("Alarm c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+
+rule "John"
+	prior ( [1 0 ; 0 1] )		
+	when
+		John (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				JohnActions ja = new JohnActions();
+				drools.inject(ja,"class","==","org.drools.chance.BayesianTest.JohnActions");
+					insertLogical(ja);
+		}
+		
+end
+	
+	
+
+rule "John_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		JohnActions (  ) 
+	then		
+			writer.write("John c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+	
+
+
+

Added: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianNetworkTest.drl	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,350 @@
+package org.drools.chance.BayesianTest
+
+import org.drools.bayesian.BooleanDomain;
+import java.io.FileWriter;
+
+
+
+
+declare Quake
+	flag : BooleanDomain @key 
+end
+
+declare QuakeActions
+end
+
+declare Burglar
+	flag : BooleanDomain @key
+end
+
+declare BurglarActions
+end
+
+declare Alarm
+	id : int @key
+end
+
+declare AlarmActions
+end
+
+
+declare John
+	id : int @key
+end
+
+declare JohnActions
+end
+
+
+declare Mary
+	id : int @key
+end
+
+declare MaryActions
+end
+
+
+global FileWriter writer;
+
+
+
+
+/*****************************************************************************************************************************************************/
+
+
+
+
+
+
+rule "pi:Quake,Burglar->Alarm"
+	
+	prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
+
+	when
+		(or @( args="pi:Quake,Burglar->Alarm" )
+			Quake ( flag random )		
+			Burglar ( flag random )
+		) 
+	then
+		
+		writer.write("Message : (Quake V Burglar)->Alarm " +drools.getConsequenceDegree()+"\n\n");
+		writer.write("\n\n"+drools.getEvaluation().expand()+"\n\n");
+		
+		Alarm alarm = new Alarm();
+			alarm.setId(0);
+			drools.inject(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+		insertLogical(alarm);
+			
+end
+
+
+rule "lambda:Quake,Burglar->Alarm_2"
+	prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
+	when
+		Alarm()
+		
+		and
+		
+		(or @( args="lambda:Quake,Burglar->Alarm_2" )
+			Quake( flag random )
+		)
+	then		
+		writer.write("Message : (Alarm A Quake)->Burglar " +drools.getConsequenceDegree()+"\n\n");
+		
+		Burglar burglar = new Burglar();
+			burglar.setId(0);
+			drools.inject(burglar,"class","==","org.drools.chance.BayesianTest.Burglar");
+		insertLogical(burglar);	
+end
+
+
+rule "lambda:Quake,Burglar->Alarm_1"
+	prior ( [0.9 0.8 0.7 0.6 ; 0.1 0.2 0.3 0.4] )
+	when
+		Alarm()
+		
+		and
+		
+		(or ( @args="lambda:Quake,Burglar->Alarm_1" )
+			Burglar( flag random )
+		)
+	then	
+		writer.write("Message : (Alarm A Burglar)->Quake " +drools.getConsequenceDegree()+"\n\n");
+		
+		Quake quake = new Quake();
+			quake.setId(0);
+			drools.inject(quake,"class","==","org.drools.chance.BayesianTest.Quake");
+		insertLogical(quake);
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*
+rule "pi:Alarm->John"
+	
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="pi:Alarm->John" )
+			Alarm()
+		) 
+	then
+		writer.write("Message : Alarm->John " + drools.getConsequenceDegree() + "\n\n");
+		
+		John john = new John();
+			john.setId(0);
+			drools.inject(john,"class","==","org.drools.chance.BayesianTest.John");
+		insertLogical(john);
+end
+
+rule "lambda:Alarm->John"
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="lambda:Alarm->John" )
+			John ( )
+		)	
+	then
+		writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
+		Alarm alarm = new Alarm();
+			alarm.setId(0);		
+		drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");	
+end
+
+
+
+
+rule "pi:Alarm->Mary"
+	
+	prior ( [0.7 0.1 ; 0.3 0.9] )
+
+	when
+		(or @( args="pi:Alarm->Mary" )
+			Alarm()
+		) 
+	then
+		writer.write("Message : Alarm->Mary " + drools.getConsequenceDegree() + "\n\n");
+		
+		Mary mary = new Mary();
+			mary.setId(0);
+			drools.inject(mary,"class","==","org.drools.chance.BayesianTest.Mary");
+		insertLogical(mary);
+end
+
+rule "lambda:Alarm->Mary"
+	prior ( [0.7 0.1 ; 0.3 0.9] )
+
+	when
+		(or @( args="lambda:Alarm->Mary" )
+			Mary ( )
+		)
+	then
+		writer.write("Message : Mary->Alarm " + drools.getConsequenceDegree() + "\n\n");
+		Alarm alarm = new Alarm();
+			alarm.setId(0);		
+		drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");	
+end
+
+
+*/
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*****************************************************************************************************************************************************/
+
+
+
+
+
+rule "Quake"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Quake ( flag random ) 
+	then			
+			if (drools.getEvaluation().getInfoRate() == 1.0) {
+				QuakeActions qa = new QuakeActions();
+				drools.inject(qa,"class","==","org.drools.chance.BayesianTest.QuakeActions");
+					insertLogical(qa);
+			}
+end
+
+
+
+rule "Quake_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		QuakeActions (  ) 
+	then		
+			writer.write("Quake c1" + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+
+rule "Alarm"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Alarm (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				AlarmActions aa = new AlarmActions();
+				drools.inject(aa,"class","==","org.drools.chance.BayesianTest.AlarmActions");
+					insertLogical(aa);
+		}
+		
+end
+	
+	
+
+rule "Alarm_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		AlarmActions (  ) 
+	then		
+			writer.write("Alarm c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+rule "John"
+	prior ( [1 0 ; 0 1] )		
+	when
+		John (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				JohnActions ja = new JohnActions();
+				drools.inject(ja,"class","==","org.drools.chance.BayesianTest.JohnActions");
+					insertLogical(ja);
+		}
+		
+end
+	
+	
+
+rule "John_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		JohnActions (  ) 
+	then		
+			writer.write("John c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+	
+
+rule "Mary"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Mary (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				MaryActions ma = new MaryActions();
+				drools.inject(ma,"class","==","org.drools.chance.BayesianTest.MaryActions");
+					insertLogical(ma);
+		}
+		
+end
+	
+	
+
+rule "Mary_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		MaryActions (  ) 
+	then		
+			writer.write("Mary c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+

Deleted: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTest.drl	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTest.drl	2009-06-10 06:49:00 UTC (rev 26895)
@@ -1,2 +0,0 @@
-package org.drools.chance.BayesianTest
-

Added: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl	                        (rev 0)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/Bayesian/BayesianTreeTest.drl	2009-06-10 06:49:00 UTC (rev 26895)
@@ -0,0 +1,317 @@
+package org.drools.chance.BayesianTest
+
+import org.drools.bayesian.BooleanDomain;
+import java.io.FileWriter;
+
+
+
+
+declare Quake
+	flag : BooleanDomain @key 
+end
+
+declare QuakeActions
+end
+
+declare Burglar
+	flag : BooleanDomain @key
+end
+
+declare BurglarActions
+end
+
+declare Alarm
+	id : int @key
+end
+
+declare AlarmActions
+end
+
+
+declare John
+	id : int @key
+end
+
+declare JohnActions
+end
+
+
+declare Mary
+	id : int @key
+end
+
+declare MaryActions
+end
+
+
+global FileWriter writer;
+
+
+
+
+/*****************************************************************************************************************************************************/
+
+
+
+
+
+
+rule "pi:Quake->Alarm"
+	
+	prior ( [0.9 0.1 ; 0.1 0.9] )
+
+	when
+		(or @( args="pi:Quake->Alarm" )
+		Quake ( flag random )
+		) 
+	then
+		writer.write("Message : Quake->Alarm " +drools.getConsequenceDegree()+"\n\n");
+		
+		Alarm alarm = new Alarm();
+			alarm.setId(0);
+			drools.inject(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");
+		insertLogical(alarm);
+			
+end
+
+
+
+
+rule "lambda:Quake->Alarm"
+	prior ( [0.9 0.1 ; 0.1 0.9] )
+	when
+		(or @( args="lambda:Quake->Alarm" )
+		Alarm ( )
+		)	
+	then
+		writer.write("Message : Alarm->Quake  " +drools.getConsequenceDegree()+"\n\n");
+		
+		drools.injectKey(new Quake(),"org.drools.chance.BayesianTest.Quake.flag","random",null);	
+end
+
+
+
+
+
+
+rule "pi:Alarm->John"
+	
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="pi:Alarm->John" )
+		Alarm()
+		) 
+	then
+		writer.write("Message : Alarm->John " + drools.getConsequenceDegree() + "\n\n");
+		
+		John john = new John();
+			john.setId(0);
+			drools.inject(john,"class","==","org.drools.chance.BayesianTest.John");
+		insertLogical(john);
+end
+
+rule "lambda:Alarm->John"
+	prior ( [0.999 0.001 ; 0.001 0.999] )
+
+	when
+		(or @( args="lambda:Alarm->John" )
+		John ( )
+		)	
+	then
+		writer.write("Message : John->Alarm " + drools.getConsequenceDegree() + "\n\n");
+		Alarm alarm = new Alarm();
+			alarm.setId(0);		
+		drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");	
+end
+
+
+
+
+
+
+
+
+
+
+rule "pi:Alarm->Mary"
+	
+	prior ( [0.7 0.1 ; 0.3 0.9] )
+
+	when
+		(or @( args="pi:Alarm->Mary" )
+		Alarm()
+		) 
+	then
+		writer.write("Message : Alarm->Mary " + drools.getConsequenceDegree() + "\n\n");
+		
+		Mary mary = new Mary();
+			mary.setId(0);
+			drools.inject(mary,"class","==","org.drools.chance.BayesianTest.Mary");
+		insertLogical(mary);
+end
+
+rule "lambda:Alarm->Mary"
+	prior ( [0.7 0.1 ; 0.3 0.9] )
+
+	when
+		(or @( args="lambda:Alarm->Mary" )
+		Mary ( )
+		)
+	then
+		writer.write("Message : Mary->Alarm " + drools.getConsequenceDegree() + "\n\n");
+		Alarm alarm = new Alarm();
+			alarm.setId(0);		
+		drools.injectKey(alarm,"class","==","org.drools.chance.BayesianTest.Alarm");	
+end
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+/*****************************************************************************************************************************************************/
+
+
+
+
+
+rule "Quake"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Quake ( flag random ) 
+	then			
+			if (drools.getEvaluation().getInfoRate() == 1.0) {
+				QuakeActions qa = new QuakeActions();
+				drools.inject(qa,"class","==","org.drools.chance.BayesianTest.QuakeActions");
+					insertLogical(qa);
+			}
+end
+
+
+
+rule "Quake_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		QuakeActions (  ) 
+	then		
+			writer.write("Quake c1" + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+
+rule "Alarm"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Alarm (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				AlarmActions aa = new AlarmActions();
+				drools.inject(aa,"class","==","org.drools.chance.BayesianTest.AlarmActions");
+					insertLogical(aa);
+		}
+		
+end
+	
+	
+
+rule "Alarm_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		AlarmActions (  ) 
+	then		
+			writer.write("Alarm c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+
+rule "John"
+	prior ( [1 0 ; 0 1] )		
+	when
+		John (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				JohnActions ja = new JohnActions();
+				drools.inject(ja,"class","==","org.drools.chance.BayesianTest.JohnActions");
+					insertLogical(ja);
+		}
+		
+end
+	
+	
+
+rule "John_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		JohnActions (  ) 
+	then		
+			writer.write("John c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+
+	
+
+rule "Mary"
+	prior ( [1 0 ; 0 1] )		
+	when
+		Mary (  ) 
+	then		
+		if (drools.getEvaluation().getInfoRate() == 1.0) {
+				MaryActions ma = new MaryActions();
+				drools.inject(ma,"class","==","org.drools.chance.BayesianTest.MaryActions");
+					insertLogical(ma);
+		}
+		
+end
+	
+	
+
+rule "Mary_Actions"
+	prior ( [1 0 ; 0 1] )		
+	when
+		MaryActions (  ) 
+	then		
+			writer.write("Mary c1 " + drools.getConsequenceDegree() + "\n\n");
+			//writer.write(drools.getEvaluation().expand());
+			System.out.println(drools.getEvaluation().expand());
+end
+

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/src/main/rules/org/drools/chance/ComplexFormulaTest.drl	2009-06-10 06:49:00 UTC (rev 26895)
@@ -12,21 +12,25 @@
 
 rule "TestOpDegs"	
 
-	
+	kind "Lukas"
 
 	when
 		
-		(Message( status == 0 && status == 1 )
-		or 
-		Message(status not ~random 2))
 		
+		(
+		Message( status == 0 && @( kind="Lukas" ) (status random 1 && @( kind="Prod" ) status random -1)) @( kind="Min" prior="0.04444")
+		or @( kind="Lukas" )
+		Message(status not ~random 2)
+		)
 		
+		
 		not (Message(status ~random 3)
-			and
+			and @( kind="Lukas" )
 			Message(status ~random 4)
 			)
 				
-		Message(status ~random 5)
+				
+		Message(status ~random 5 , status ~random 6) @( kind="Lukas" prior="0.99321")
 		
 									
 	then

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/BaseTest.ruleml.xml
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/BaseTest.ruleml.xml	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/BaseTest.ruleml.xml	2009-06-10 06:49:00 UTC (rev 26895)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://www.ruleml.org/0.91/xsd/naffologeq.xsd">
     <oid>
         <Data>org.drools.DRL</Data>
@@ -114,10 +114,10 @@
             </Forall>
             <Forall>
                 <declare>
-                    <Var type="org.drools.chance.Book">BetaSynch.$b</Var>
+                    <Var type="int">BetaSynch.$p.$a</Var>
                 </declare>
                 <declare>
-                    <Var type="int">BetaSynch.$p.$a</Var>
+                    <Var type="org.drools.chance.Book">BetaSynch.$b</Var>
                 </declare>
                 <declare>
                     <Var type="java.lang.String">BetaSynch.$p.$n</Var>

Modified: labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml
===================================================================
--- labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml	2009-06-10 06:48:39 UTC (rev 26894)
+++ labs/jbossrules/branches/DroolsChance/drools-examples/drools-examples-drl/xml/ComplexFormulaTest.ruleml.xml	2009-06-10 06:49:00 UTC (rev 26895)
@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
 <RuleML xmlns="http://www.ruleml.org/0.91/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ruleml.org/0.91/xsd http://www.ruleml.org/0.91/xsd/naffologeq.xsd">
     <oid>
         <Data>org.drools.DRL</Data>
@@ -10,28 +10,34 @@
             </oid>
             <Forall>
                 <declare>
-                    <Var type="org.drools.chance.Message">TestOpDegs.$message_1</Var>
+                    <Var type="org.drools.chance.Message">TestOpDegs.$message_4</Var>
                 </declare>
                 <declare>
                     <Var type="org.drools.chance.Message">TestOpDegs.$message_3</Var>
                 </declare>
                 <declare>
-                    <Var type="org.drools.chance.Message">TestOpDegs.$message</Var>
+                    <Var type="org.drools.chance.Message">TestOpDegs.$message_2</Var>
                 </declare>
                 <declare>
-                    <Var type="org.drools.chance.Message">TestOpDegs.$message_4</Var>
+                    <Var type="org.drools.chance.Message">TestOpDegs.$message_1</Var>
                 </declare>
                 <declare>
-                    <Var type="org.drools.chance.Message">TestOpDegs.$message_2</Var>
+                    <Var type="org.drools.chance.Message">TestOpDegs.$message</Var>
                 </declare>
                 <formula>
                     <Implies direction="forward">
+                        <!--
+<kind>Lukas</kind>
+-->
                         <oid>
                             <Data>TestOpDegs</Data>
                         </oid>
                         <body>
                             <And>
                                 <Or>
+                                    <!--unsupported attribute - 
+<kind>kind:Lukas</kind>
+-->
                                     <Atom>
                                         <oid>
                                             <Var>TestOpDegs.$message</Var>
@@ -40,35 +46,63 @@
                                         <Reify>
                                             <And>
                                                 <Atom>
+                                                    <!--unsupported attribute - 
+<kind>kind:Min</kind>
+-->
+                                                    <!--
+<degree>
+    <Data>0.04444</Data>
+</degree>
+-->
                                                     <op>
                                                         <Rel>isA</Rel>
                                                     </op>
                                                     <slot>
-                                                        <Ind>class</Ind>
+                                                        <Ind type="java.lang.Class">class</Ind>
                                                         <Var/>
                                                     </slot>
                                                     <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
                                                 </Atom>
-                                                <Atom>
-                                                    <op>
-                                                        <Rel>==</Rel>
-                                                    </op>
-                                                    <slot>
-                                                        <Ind>status</Ind>
-                                                        <Var/>
-                                                    </slot>
-                                                    <Ind type="java.lang.Number">0</Ind>
-                                                </Atom>
-                                                <Atom>
-                                                    <op>
-                                                        <Rel>==</Rel>
-                                                    </op>
-                                                    <slot>
-                                                        <Ind>status</Ind>
-                                                        <Var/>
-                                                    </slot>
-                                                    <Ind type="java.lang.Number">1</Ind>
-                                                </Atom>
+                                                <And>
+                                                    <!--unsupported attribute - 
+<kind>kind:Lukas</kind>
+-->
+                                                    <Atom>
+                                                        <op>
+                                                            <Rel>==</Rel>
+                                                        </op>
+                                                        <slot>
+                                                            <Ind type="int">status</Ind>
+                                                            <Var/>
+                                                        </slot>
+                                                        <Ind type="java.lang.Number">0</Ind>
+                                                    </Atom>
+                                                    <And>
+                                                        <!--unsupported attribute - 
+<kind>kind:Prod</kind>
+-->
+                                                        <Atom>
+                                                            <op>
+                                                                <Rel>random</Rel>
+                                                            </op>
+                                                            <slot>
+                                                                <Ind type="int">status</Ind>
+                                                                <Var/>
+                                                            </slot>
+                                                            <Ind type="java.lang.Number">1</Ind>
+                                                        </Atom>
+                                                        <Atom>
+                                                            <op>
+                                                                <Rel>random</Rel>
+                                                            </op>
+                                                            <slot>
+                                                                <Ind type="int">status</Ind>
+                                                                <Var/>
+                                                            </slot>
+                                                            <Ind type="java.lang.Number">-1</Ind>
+                                                        </Atom>
+                                                    </And>
+                                                </And>
                                             </And>
                                         </Reify>
                                     </Atom>
@@ -84,7 +118,7 @@
                                                         <Rel>isA</Rel>
                                                     </op>
                                                     <slot>
-                                                        <Ind>class</Ind>
+                                                        <Ind type="java.lang.Class">class</Ind>
                                                         <Var/>
                                                     </slot>
                                                     <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
@@ -95,7 +129,7 @@
                                                             <Rel>random</Rel>
                                                         </op>
                                                         <slot>
-                                                            <Ind>status</Ind>
+                                                            <Ind type="int">status</Ind>
                                                             <Var/>
                                                         </slot>
                                                         <Ind type="java.lang.Number">2</Ind>
@@ -107,6 +141,9 @@
                                 </Or>
                                 <Neg>
                                     <And>
+                                        <!--unsupported attribute - 
+<kind>kind:Lukas</kind>
+-->
                                         <Atom>
                                             <oid>
                                                 <Var>TestOpDegs.$message_2</Var>
@@ -119,7 +156,7 @@
                                                             <Rel>isA</Rel>
                                                         </op>
                                                         <slot>
-                                                            <Ind>class</Ind>
+                                                            <Ind type="java.lang.Class">class</Ind>
                                                             <Var/>
                                                         </slot>
                                                         <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
@@ -129,7 +166,7 @@
                                                             <Rel>random</Rel>
                                                         </op>
                                                         <slot>
-                                                            <Ind>status</Ind>
+                                                            <Ind type="int">status</Ind>
                                                             <Var/>
                                                         </slot>
                                                         <Ind type="java.lang.Number">3</Ind>
@@ -149,7 +186,7 @@
                                                             <Rel>isA</Rel>
                                                         </op>
                                                         <slot>
-                                                            <Ind>class</Ind>
+                                                            <Ind type="java.lang.Class">class</Ind>
                                                             <Var/>
                                                         </slot>
                                                         <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
@@ -159,7 +196,7 @@
                                                             <Rel>random</Rel>
                                                         </op>
                                                         <slot>
-                                                            <Ind>status</Ind>
+                                                            <Ind type="int">status</Ind>
                                                             <Var/>
                                                         </slot>
                                                         <Ind type="java.lang.Number">4</Ind>
@@ -177,11 +214,19 @@
                                     <Reify>
                                         <And>
                                             <Atom>
+                                                <!--unsupported attribute - 
+<kind>kind:Lukas</kind>
+-->
+                                                <!--
+<degree>
+    <Data>0.99321</Data>
+</degree>
+-->
                                                 <op>
                                                     <Rel>isA</Rel>
                                                 </op>
                                                 <slot>
-                                                    <Ind>class</Ind>
+                                                    <Ind type="java.lang.Class">class</Ind>
                                                     <Var/>
                                                 </slot>
                                                 <Ind type="java.lang.Class">org.drools.chance.Message</Ind>
@@ -191,11 +236,21 @@
                                                     <Rel>random</Rel>
                                                 </op>
                                                 <slot>
-                                                    <Ind>status</Ind>
+                                                    <Ind type="int">status</Ind>
                                                     <Var/>
                                                 </slot>
                                                 <Ind type="java.lang.Number">5</Ind>
                                             </Atom>
+                                            <Atom>
+                                                <op>
+                                                    <Rel>random</Rel>
+                                                </op>
+                                                <slot>
+                                                    <Ind type="int">status</Ind>
+                                                    <Var/>
+                                                </slot>
+                                                <Ind type="java.lang.Number">6</Ind>
+                                            </Atom>
                                         </And>
                                     </Reify>
                                 </Atom>




More information about the jboss-svn-commits mailing list