Bob is cold. Bob is red. Dave is blue. Dave is kind. Erin is cold. Erin is not red. Erin is not rough. Erin is white. Harry is blue. Harry is not red. If someone is blue then they are rough. If someone is rough then they are cold. Blue, rough people are cold. If Harry is cold then Harry is blue. If someone is big and rough then they are kind. If someone is red and not cold then they are big. If someone is blue and cold then they are big. Blue, cold people are big. All blue, kind people are white.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is red.
("Bob" "is" "red" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Erin is cold.
("Erin" "is" "cold" "+")
Erin is not red.
("Erin" "is" "red" "-")
Erin is not rough.
("Erin" "is" "rough" "-")
Erin is white.
("Erin" "is" "white" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is not red.
("Harry" "is" "red" "-")
If someone is blue then they are rough.
((("someone" "is" "blue" "+")) -> ("someone" "is" "rough" "+"))
If someone is rough then they are cold.
((("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
Blue, rough people are cold.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
If Harry is cold then Harry is blue.
((("Harry" "is" "cold" "+")) -> ("Harry" "is" "blue" "+"))
If someone is big and rough then they are kind.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "kind" "+"))
If someone is red and not cold then they are big.
((("someone" "is" "red" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "big" "+"))
If someone is blue and cold then they are big.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
Blue, cold people are big.
((("someone" "is" "blue" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
All blue, kind people are white.
((("someone" "is" "blue" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
Erin is not red.
True
1
proof
[(triple6)]
("Erin" "is" "red" "-")
triple6
Dave is not kind.
False
1
inv-proof
[(triple4 OR ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule7) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule8) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule7) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule8) ((triple3) -> rule1)) -> rule5))]
("Dave" "is" "kind" "-")
triple4
((((triple3 ((((triple3) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((((triple3) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Harry is rough.
True
2
proof
[(((triple9) -> rule1))]
("Harry" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is not rough.
False
2
inv-proof
[(((triple9) -> rule1))]
("Harry" "is" "rough" "-")
((triple9) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Harry is cold.
True
3
proof
[(((((triple9) -> rule1)) -> rule2) OR ((triple9 ((triple9) -> rule1)) -> rule3))]
("Harry" "is" "cold" "+")
((((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((triple9 ((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Dave is not cold.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule2) OR ((triple3 ((triple3) -> rule1)) -> rule3))]
("Dave" "is" "cold" "-")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple3 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is big.
True
5
proof
[(((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule7) OR ((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule8) OR ((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule7) OR ((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule8))]
("Dave" "is" "big" "+")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Harry is not big.
False
5
inv-proof
[(((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) OR ((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) OR ((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) OR ((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8))]
("Harry" "is" "big" "-")
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is kind.
True
8
proof
[(((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5))]
("Harry" "is" "kind" "+")
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
Harry is not kind.
False
8
inv-proof
[(((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5))]
("Harry" "is" "kind" "-")
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
Harry is white.
True
10
proof
[(((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9))]
("Harry" "is" "white" "+")
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
Harry is not white.
False
10
inv-proof
[(((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9))]
("Harry" "is" "white" "-")
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
Bob is not white.
Unknown
inv-rconc
[@1: Bob is white.[CWA. Example of deepest failure = (rule9 <- FAIL)]]
("Bob" "is" "white" "-")
Erin is kind.
Unknown
rconc
[@1: Erin is kind.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Erin" "is" "kind" "+")
Bob is not kind.
Unknown
inv-rconc
[@2: Bob is kind.[CWA. Example of deepest failure = (rule5 <- rule6 <- FAIL)]]
("Bob" "is" "kind" "-")
Bob is rough.
Unknown
rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "rough" "+")
Erin is not big.
Unknown
inv-rconc
[@1: Erin is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Erin" "is" "big" "-")
Bob is big.
Unknown
rconc
[@1: Bob is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Bob" "is" "big" "+")
Dave is not red.
Unknown
inv-random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Bob is cold.[(triple1)] Bob is red.[(triple2)] Dave is blue.[(triple3)] Dave is kind.[(triple4 OR ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule7) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule8) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule7) ((triple3) -> rule1)) -> rule5) OR ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule8) ((triple3) -> rule1)) -> rule5))] Erin is cold.[(triple5)] Erin is not red.[(triple6)] Erin is not rough.[(triple7)] Erin is white.[(triple8)] Harry is blue.[(triple9)] Harry is not red.[(triple10)] @1: Dave is rough.[(((triple3) -> rule1))] Dave is white.[(((triple3 triple4) -> rule9) OR ((triple3 ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule7) ((triple3) -> rule1)) -> rule5)) -> rule9) OR ((triple3 ((((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule8) ((triple3) -> rule1)) -> rule5)) -> rule9) OR ((triple3 ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule7) ((triple3) -> rule1)) -> rule5)) -> rule9) OR ((triple3 ((((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule8) ((triple3) -> rule1)) -> rule5)) -> rule9))] Harry is rough.[(((triple9) -> rule1))] @2: Dave is cold.[(((((triple3) -> rule1)) -> rule2) OR ((triple3 ((triple3) -> rule1)) -> rule3))] Harry is cold.[(((((triple9) -> rule1)) -> rule2) OR ((triple9 ((triple9) -> rule1)) -> rule3))] @3: Dave is big.[(((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule7) OR ((triple3 ((((triple3) -> rule1)) -> rule2)) -> rule8) OR ((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule7) OR ((triple3 ((triple3 ((triple3) -> rule1)) -> rule3)) -> rule8))] Harry is big.[(((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) OR ((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) OR ((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) OR ((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8))] @4: Harry is kind.[(((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5) OR ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5))] @5: Harry is white.[(((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((((triple9) -> rule1)) -> rule2)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule7) ((triple9) -> rule1)) -> rule5)) -> rule9) OR ((triple9 ((((triple9 ((triple9 ((triple9) -> rule1)) -> rule3)) -> rule8) ((triple9) -> rule1)) -> rule5)) -> rule9))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is red.
("Bob" "is" "red" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Dave is kind.
("Dave" "is" "kind" "+")
triple4
((((triple3 ((((triple3) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((((triple3) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
((((triple3 ((triple3 ((triple3) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple3) -> (rule1 % int4))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is cold.
("Dave" "is" "cold" "+")
int3
Dave is rough.
("Dave" "is" "rough" "+")
int4
Erin is cold.
("Erin" "is" "cold" "+")
triple5
Erin is not red.
("Erin" "is" "red" "-")
triple6
Erin is not rough.
("Erin" "is" "rough" "-")
triple7
Erin is white.
("Erin" "is" "white" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
Harry is not red.
("Harry" "is" "red" "-")
triple10
Dave is rough.
("Dave" "is" "rough" "+")
((triple3) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
((triple3 triple4) -> (rule9 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
((triple3 ((((triple3 ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule7 % int3)) ((triple3) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
((triple3 ((((triple3 ((((triple3) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule8 % int3)) ((triple3) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
((triple3 ((((triple3 ((triple3 ((triple3) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3)) ((triple3) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
((triple3 ((((triple3 ((triple3 ((triple3) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule8 % int3)) ((triple3) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
int3
Dave is cold.
("Dave" "is" "cold" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
int5
Harry is rough.
("Harry" "is" "rough" "+")
((triple9) -> (rule1 % int1))
Harry is rough.
("Harry" "is" "rough" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
((((triple3) -> (rule1 % int2))) -> (rule2 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((triple3 ((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Dave is cold.
("Dave" "is" "cold" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
((((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
((triple9 ((triple9) -> (rule1 % int2))) -> (rule3 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is rough.
("Harry" "is" "rough" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((((triple3) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((triple3 ((triple3 ((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is cold.
("Dave" "is" "cold" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule7 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
((triple9 ((triple9 ((triple9) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is cold.
("Harry" "is" "cold" "+")
int2
Harry is rough.
("Harry" "is" "rough" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule7 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
((((triple9 ((triple9 ((triple9) -> (rule1 % int4))) -> (rule3 % int3))) -> (rule8 % int2)) ((triple9) -> (rule1 % int4))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is cold.
("Harry" "is" "cold" "+")
int3
Harry is rough.
("Harry" "is" "rough" "+")
int4
Harry is white.
("Harry" "is" "white" "+")
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule7 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5
((triple9 ((((triple9 ((triple9 ((triple9) -> (rule1 % int5))) -> (rule3 % int4))) -> (rule8 % int3)) ((triple9) -> (rule1 % int5))) -> (rule5 % int2))) -> (rule9 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
int4
Harry is rough.
("Harry" "is" "rough" "+")
int5