Anne is blue. Anne is cold. Anne is furry. Anne is quiet. Charlie is furry. Dave is blue. Dave is cold. Harry is blue. Harry is cold. Harry is furry. Harry is red. Furry things are green. Green things are cold. Cold, red things are nice. If something is nice and quiet then it is blue. Green, cold things are blue. If something is green then it is furry. If something is blue then it is red.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is furry.
("Anne" "is" "furry" "+")
Anne is quiet.
("Anne" "is" "quiet" "+")
Charlie is furry.
("Charlie" "is" "furry" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is red.
("Harry" "is" "red" "+")
Furry things are green.
((("something" "is" "furry" "+")) -> ("something" "is" "green" "+"))
Green things are cold.
((("something" "is" "green" "+")) -> ("something" "is" "cold" "+"))
Cold, red things are nice.
((("something" "is" "cold" "+") ("something" "is" "red" "+")) -> ("something" "is" "nice" "+"))
If something is nice and quiet then it is blue.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "blue" "+"))
Green, cold things are blue.
((("something" "is" "green" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "+"))
If something is green then it is furry.
((("something" "is" "green" "+")) -> ("something" "is" "furry" "+"))
If something is blue then it is red.
((("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
Anne is cold.
True
1
proof
[(triple2 OR ((((triple3) -> rule1)) -> rule2))]
("Anne" "is" "cold" "+")
triple2
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Harry is not furry.
False
1
inv-proof
[(triple10)]
("Harry" "is" "furry" "-")
triple10
Harry is green.
True
2
proof
[(((triple10) -> rule1))]
("Harry" "is" "green" "+")
((triple10) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Dave is not red.
False
2
inv-proof
[(((triple6) -> rule7))]
("Dave" "is" "red" "-")
((triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Anne is nice.
True
4
proof
[(((triple2 ((triple1) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((triple1) -> rule7)) -> rule3) OR ((triple2 ((((((triple3) -> rule1) triple2) -> rule5)) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((((((triple3) -> rule1) triple2) -> rule5)) -> rule7)) -> rule3) OR ((triple2 ((((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))]
("Anne" "is" "nice" "+")
((triple2 ((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((((triple3) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((triple2 ((((((triple3) -> (rule1 % int4)) triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple3) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple3) -> (rule1 % int5)) triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((triple2 ((((((triple3) -> (rule1 % int5)) ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((triple3) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple3) -> (rule1 % int5)) ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Charlie is not cold.
False
3
inv-proof
[(((((triple5) -> rule1)) -> rule2))]
("Charlie" "is" "cold" "-")
((((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is blue.
True
6
proof
[(((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5))]
("Charlie" "is" "blue" "+")
((((triple5) -> (rule1 % int3)) ((((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is not blue.
False
6
inv-proof
[(((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5))]
("Charlie" "is" "blue" "-")
((((triple5) -> (rule1 % int3)) ((((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is red.
True
7
proof
[(((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7))]
("Charlie" "is" "red" "+")
((((((triple5) -> (rule1 % int4)) ((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is not red.
False
7
inv-proof
[(((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7))]
("Charlie" "is" "red" "-")
((((((triple5) -> (rule1 % int4)) ((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is nice.
True
11
proof
[(((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))]
("Charlie" "is" "nice" "+")
((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple5) -> (rule1 % int5)) ((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
Charlie is not nice.
False
11
inv-proof
[(((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))]
("Charlie" "is" "nice" "-")
((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple5) -> (rule1 % int5)) ((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
Dave is not furry.
Unknown
inv-rconc
[@2: Dave is furry.[CWA. Example of deepest failure = (rule6 <- rule1 <- FAIL)]]
("Dave" "is" "furry" "-")
Dave is green.
Unknown
rconc
[@2: Dave is green.[CWA. Example of deepest failure = (rule1 <- rule6 <- FAIL)]]
("Dave" "is" "green" "+")
Dave is not quiet.
Unknown
inv-random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Anne is blue.[(triple1 OR ((((triple3) -> rule1) triple2) -> rule5) OR ((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5))] Anne is cold.[(triple2 OR ((((triple3) -> rule1)) -> rule2))] Anne is furry.[(triple3)] Anne is quiet.[(triple4)] Charlie is furry.[(triple5)] Dave is blue.[(triple6)] Dave is cold.[(triple7)] Harry is blue.[(triple8 OR ((((triple10) -> rule1) triple9) -> rule5) OR ((((triple10) -> rule1) ((((triple10) -> rule1)) -> rule2)) -> rule5))] Harry is cold.[(triple9 OR ((((triple10) -> rule1)) -> rule2))] Harry is furry.[(triple10)] Harry is red.[(triple11 OR ((triple8) -> rule7) OR ((((((triple10) -> rule1) triple9) -> rule5)) -> rule7) OR ((((((triple10) -> rule1) ((((triple10) -> rule1)) -> rule2)) -> rule5)) -> rule7))] @1: Anne is green.[(((triple3) -> rule1))] Anne is red.[(((triple1) -> rule7) OR ((((((triple3) -> rule1) triple2) -> rule5)) -> rule7) OR ((((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5)) -> rule7))] Charlie is green.[(((triple5) -> rule1))] Dave is red.[(((triple6) -> rule7))] Harry is green.[(((triple10) -> rule1))] Harry is nice.[(((triple9 triple11) -> rule3) OR ((triple9 ((triple8) -> rule7)) -> rule3) OR ((((((triple10) -> rule1)) -> rule2) triple11) -> rule3) OR ((((((triple10) -> rule1)) -> rule2) ((triple8) -> rule7)) -> rule3) OR ((triple9 ((((((triple10) -> rule1) triple9) -> rule5)) -> rule7)) -> rule3) OR ((((((triple10) -> rule1)) -> rule2) ((((((triple10) -> rule1) triple9) -> rule5)) -> rule7)) -> rule3) OR ((triple9 ((((((triple10) -> rule1) ((((triple10) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3) OR ((((((triple10) -> rule1)) -> rule2) ((((((triple10) -> rule1) ((((triple10) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))] @2: Anne is nice.[(((triple2 ((triple1) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((triple1) -> rule7)) -> rule3) OR ((triple2 ((((((triple3) -> rule1) triple2) -> rule5)) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((((((triple3) -> rule1) triple2) -> rule5)) -> rule7)) -> rule3) OR ((triple2 ((((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3) OR ((((((triple3) -> rule1)) -> rule2) ((((((triple3) -> rule1) ((((triple3) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))] Charlie is cold.[(((((triple5) -> rule1)) -> rule2))] Dave is nice.[(((triple7 ((triple6) -> rule7)) -> rule3))] @3: Charlie is blue.[(((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5))] @4: Charlie is red.[(((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7))] @5: Charlie is nice.[(((((((triple5) -> rule1)) -> rule2) ((((((triple5) -> rule1) ((((triple5) -> rule1)) -> rule2)) -> rule5)) -> rule7)) -> rule3))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((((triple3) -> (rule1 % int2)) triple2) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
((((triple3) -> (rule1 % int3)) ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is cold.
("Anne" "is" "cold" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
triple2
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Anne is cold.
("Anne" "is" "cold" "+")
int1
Anne is green.
("Anne" "is" "green" "+")
int2
Anne is furry.
("Anne" "is" "furry" "+")
triple3
Anne is quiet.
("Anne" "is" "quiet" "+")
triple4
Charlie is furry.
("Charlie" "is" "furry" "+")
triple5
Dave is blue.
("Dave" "is" "blue" "+")
triple6
Dave is cold.
("Dave" "is" "cold" "+")
triple7
Harry is blue.
("Harry" "is" "blue" "+")
triple8
((((triple10) -> (rule1 % int2)) triple9) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
((((triple10) -> (rule1 % int3)) ((((triple10) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
triple9
((((triple10) -> (rule1 % int2))) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
int2
Harry is furry.
("Harry" "is" "furry" "+")
triple10
Harry is red.
("Harry" "is" "red" "+")
triple11
((triple8) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
((((((triple10) -> (rule1 % int3)) triple9) -> (rule5 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((((triple10) -> (rule1 % int4)) ((((triple10) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Harry is red.
("Harry" "is" "red" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
((triple3) -> (rule1 % int1))
Anne is green.
("Anne" "is" "green" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple1) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
((((((triple3) -> (rule1 % int3)) triple2) -> (rule5 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is green.
("Anne" "is" "green" "+")
int3
((((((triple3) -> (rule1 % int4)) ((((triple3) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
((triple5) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
((triple6) -> (rule7 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Harry is green.
("Harry" "is" "green" "+")
((triple10) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
((triple9 triple11) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((triple9 ((triple8) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
((((((triple10) -> (rule1 % int3))) -> (rule2 % int2)) triple11) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is green.
("Harry" "is" "green" "+")
int3
((((((triple10) -> (rule1 % int4))) -> (rule2 % int3)) ((triple8) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((triple9 ((((((triple10) -> (rule1 % int4)) triple9) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is green.
("Harry" "is" "green" "+")
int4
((((((triple10) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple10) -> (rule1 % int5)) triple9) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
((triple9 ((((((triple10) -> (rule1 % int5)) ((((triple10) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
((((((triple10) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple10) -> (rule1 % int5)) ((((triple10) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
int2
Harry is blue.
("Harry" "is" "blue" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is green.
("Harry" "is" "green" "+")
int5
Anne is nice.
("Anne" "is" "nice" "+")
((triple2 ((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
((((((triple3) -> (rule1 % int4))) -> (rule2 % int3)) ((triple1) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is cold.
("Anne" "is" "cold" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((triple2 ((((((triple3) -> (rule1 % int4)) triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is green.
("Anne" "is" "green" "+")
int4
((((((triple3) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple3) -> (rule1 % int5)) triple2) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((triple2 ((((((triple3) -> (rule1 % int5)) ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
((((((triple3) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple3) -> (rule1 % int5)) ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
int4
Anne is green.
("Anne" "is" "green" "+")
int5
Charlie is cold.
("Charlie" "is" "cold" "+")
((((triple5) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
((triple7 ((triple6) -> (rule7 % int2))) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is red.
("Dave" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple5) -> (rule1 % int3)) ((((triple5) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is red.
("Charlie" "is" "red" "+")
((((((triple5) -> (rule1 % int4)) ((((triple5) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule7 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is cold.
("Charlie" "is" "cold" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
((((((triple5) -> (rule1 % int5))) -> (rule2 % int4)) ((((((triple5) -> (rule1 % int5)) ((((triple5) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule7 % int2))) -> (rule3 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5