Charlie is cold. Charlie is red. Charlie is rough. Dave is big. Dave is cold. Dave is furry. Dave is green. Dave is rough. Fiona is blue. Fiona is red. Fiona is rough. Harry is cold. Harry is furry. Harry is green. Harry is red. Harry is rough. If someone is rough then they are green. All big, red people are cold. If someone is furry and rough then they are blue. If someone is red then they are big. If someone is red then they are green. If Charlie is green then Charlie is furry. If someone is red and blue then they are cold. Big, rough people are blue.
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is furry.
("Harry" "is" "furry" "+")
Harry is green.
("Harry" "is" "green" "+")
Harry is red.
("Harry" "is" "red" "+")
Harry is rough.
("Harry" "is" "rough" "+")
If someone is rough then they are green.
((("someone" "is" "rough" "+")) -> ("someone" "is" "green" "+"))
All big, red people are cold.
((("someone" "is" "big" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "cold" "+"))
If someone is furry and rough then they are blue.
((("someone" "is" "furry" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
If someone is red then they are big.
((("someone" "is" "red" "+")) -> ("someone" "is" "big" "+"))
If someone is red then they are green.
((("someone" "is" "red" "+")) -> ("someone" "is" "green" "+"))
If Charlie is green then Charlie is furry.
((("Charlie" "is" "green" "+")) -> ("Charlie" "is" "furry" "+"))
If someone is red and blue then they are cold.
((("someone" "is" "red" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "cold" "+"))
Big, rough people are blue.
((("someone" "is" "big" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "blue" "+"))
Dave is rough.
True
1
proof
[(triple8)]
("Dave" "is" "rough" "+")
triple8
Dave is not rough.
False
1
inv-proof
[(triple8)]
("Dave" "is" "rough" "-")
triple8
Fiona is big.
True
2
proof
[(((triple10) -> rule4))]
("Fiona" "is" "big" "+")
((triple10) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is not green.
False
2
inv-proof
[(((triple10) -> rule5) OR ((triple11) -> rule1))]
("Fiona" "is" "green" "-")
((triple10) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple11) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Charlie is blue.
True
4
proof
[(((((triple2) -> rule4) triple3) -> rule8) OR ((((((triple2) -> rule5)) -> rule6) triple3) -> rule3) OR ((((((triple3) -> rule1)) -> rule6) triple3) -> rule3))]
("Charlie" "is" "blue" "+")
((((triple2) -> (rule4 % int2)) triple3) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is not blue.
False
4
inv-proof
[(((((triple2) -> rule4) triple3) -> rule8) OR ((((((triple2) -> rule5)) -> rule6) triple3) -> rule3) OR ((((((triple3) -> rule1)) -> rule6) triple3) -> rule3))]
("Charlie" "is" "blue" "-")
((((triple2) -> (rule4 % int2)) triple3) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Fiona is not furry.
Unknown
inv-random
[@0: Fiona is furry.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "furry" "-")
Dave is red.
Unknown
random
[@0: Dave is red.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "red" "+")
@0: Charlie is cold.[(triple1 OR ((((triple2) -> rule4) triple2) -> rule2) OR ((triple2 ((((triple2) -> rule4) triple3) -> rule8)) -> rule7) OR ((triple2 ((((((triple2) -> rule5)) -> rule6) triple3) -> rule3)) -> rule7) OR ((triple2 ((((((triple3) -> rule1)) -> rule6) triple3) -> rule3)) -> rule7))] Charlie is red.[(triple2)] Charlie is rough.[(triple3)] Dave is big.[(triple4)] Dave is cold.[(triple5)] Dave is furry.[(triple6)] Dave is green.[(triple7 OR ((triple8) -> rule1))] Dave is rough.[(triple8)] Fiona is blue.[(triple9 OR ((((triple10) -> rule4) triple11) -> rule8))] Fiona is red.[(triple10)] Fiona is rough.[(triple11)] Harry is cold.[(triple12 OR ((triple15 ((triple13 triple16) -> rule3)) -> rule7) OR ((((triple15) -> rule4) triple15) -> rule2) OR ((triple15 ((((triple15) -> rule4) triple16) -> rule8)) -> rule7))] Harry is furry.[(triple13)] Harry is green.[(triple14 OR ((triple15) -> rule5) OR ((triple16) -> rule1))] Harry is red.[(triple15)] Harry is rough.[(triple16)] @1: Charlie is big.[(((triple2) -> rule4))] Charlie is green.[(((triple2) -> rule5) OR ((triple3) -> rule1))] Dave is blue.[(((triple4 triple8) -> rule8) OR ((triple6 triple8) -> rule3))] Fiona is big.[(((triple10) -> rule4))] Fiona is cold.[(((triple10 triple9) -> rule7) OR ((((triple10) -> rule4) triple10) -> rule2) OR ((triple10 ((((triple10) -> rule4) triple11) -> rule8)) -> rule7))] Fiona is green.[(((triple10) -> rule5) OR ((triple11) -> rule1))] Harry is big.[(((triple15) -> rule4))] Harry is blue.[(((triple13 triple16) -> rule3) OR ((((triple15) -> rule4) triple16) -> rule8))] @2: Charlie is blue.[(((((triple2) -> rule4) triple3) -> rule8) OR ((((((triple2) -> rule5)) -> rule6) triple3) -> rule3) OR ((((((triple3) -> rule1)) -> rule6) triple3) -> rule3))] Charlie is furry.[(((((triple2) -> rule5)) -> rule6) OR ((((triple3) -> rule1)) -> rule6))]
Charlie is cold.
("Charlie" "is" "cold" "+")
triple1
((((triple2) -> (rule4 % int2)) triple2) -> (rule2 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((triple2 ((((triple2) -> (rule4 % int3)) triple3) -> (rule8 % int2))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
((triple2 ((((((triple2) -> (rule5 % int4))) -> (rule6 % int3)) triple3) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
((triple2 ((((((triple3) -> (rule1 % int4))) -> (rule6 % int3)) triple3) -> (rule3 % int2))) -> (rule7 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Charlie is red.
("Charlie" "is" "red" "+")
triple2
Charlie is rough.
("Charlie" "is" "rough" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
Dave is cold.
("Dave" "is" "cold" "+")
triple5
Dave is furry.
("Dave" "is" "furry" "+")
triple6
Dave is green.
("Dave" "is" "green" "+")
triple7
((triple8) -> (rule1 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
triple8
Fiona is blue.
("Fiona" "is" "blue" "+")
triple9
((((triple10) -> (rule4 % int2)) triple11) -> (rule8 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
triple10
Fiona is rough.
("Fiona" "is" "rough" "+")
triple11
Harry is cold.
("Harry" "is" "cold" "+")
triple12
((triple15 ((triple13 triple16) -> (rule3 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
((((triple15) -> (rule4 % int2)) triple15) -> (rule2 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((triple15 ((((triple15) -> (rule4 % int3)) triple16) -> (rule8 % int2))) -> (rule7 % int1))
Harry is cold.
("Harry" "is" "cold" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is furry.
("Harry" "is" "furry" "+")
triple13
Harry is green.
("Harry" "is" "green" "+")
triple14
((triple15) -> (rule5 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
((triple16) -> (rule1 % int1))
Harry is green.
("Harry" "is" "green" "+")
int1
Harry is red.
("Harry" "is" "red" "+")
triple15
Harry is rough.
("Harry" "is" "rough" "+")
triple16
Charlie is big.
("Charlie" "is" "big" "+")
((triple2) -> (rule4 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
((triple2) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((triple3) -> (rule1 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Dave is blue.
("Dave" "is" "blue" "+")
((triple4 triple8) -> (rule8 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
((triple6 triple8) -> (rule3 % int1))
Dave is blue.
("Dave" "is" "blue" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
((triple10) -> (rule4 % int1))
Fiona is big.
("Fiona" "is" "big" "+")
int1
Fiona is cold.
("Fiona" "is" "cold" "+")
((triple10 triple9) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
((((triple10) -> (rule4 % int2)) triple10) -> (rule2 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is big.
("Fiona" "is" "big" "+")
int2
((triple10 ((((triple10) -> (rule4 % int3)) triple11) -> (rule8 % int2))) -> (rule7 % int1))
Fiona is cold.
("Fiona" "is" "cold" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is big.
("Fiona" "is" "big" "+")
int3
Fiona is green.
("Fiona" "is" "green" "+")
((triple10) -> (rule5 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple11) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
((triple15) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((triple13 triple16) -> (rule3 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
((((triple15) -> (rule4 % int2)) triple16) -> (rule8 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
((((triple2) -> (rule4 % int2)) triple3) -> (rule8 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((((triple2) -> (rule5 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
((((((triple3) -> (rule1 % int3))) -> (rule6 % int2)) triple3) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple2) -> (rule5 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
((((triple3) -> (rule1 % int2))) -> (rule6 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2