Anne is blue. Anne is cold. Anne is not green. Anne is nice. Anne is rough. Anne is round. Anne is smart. Fiona is blue. Fiona is cold. Fiona is not green. Fiona is nice. Fiona is rough. Fiona is round. Fiona is smart. Harry is cold. Harry is rough. All cold, nice people are rough. All cold, smart people are rough. Rough people are nice. Blue, rough people are nice. All round, smart people are blue. Nice, cold people are blue. Cold, green people are not smart. If Fiona is cold and Fiona is not round then Fiona is blue.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is not green.
("Anne" "is" "green" "-")
Anne is nice.
("Anne" "is" "nice" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is round.
("Anne" "is" "round" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is not green.
("Fiona" "is" "green" "-")
Fiona is nice.
("Fiona" "is" "nice" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is round.
("Fiona" "is" "round" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is rough.
("Harry" "is" "rough" "+")
All cold, nice people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "rough" "+"))
All cold, smart people are rough.
((("someone" "is" "cold" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "rough" "+"))
Rough people are nice.
((("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
Blue, rough people are nice.
((("someone" "is" "blue" "+") ("someone" "is" "rough" "+")) -> ("someone" "is" "nice" "+"))
All round, smart people are blue.
((("someone" "is" "round" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "blue" "+"))
Nice, cold people are blue.
((("someone" "is" "nice" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "blue" "+"))
Cold, green people are not smart.
((("someone" "is" "cold" "+") ("someone" "is" "green" "+")) -> ("someone" "is" "smart" "-"))
If Fiona is cold and Fiona is not round then Fiona is blue.
((("Fiona" "is" "cold" "+") ("Fiona" "is" "round" "~")) -> ("Fiona" "is" "blue" "+"))
Harry is cold.
True
1
proof
[(triple15)]
("Harry" "is" "cold" "+")
triple15
Fiona is not blue.
False
1
inv-proof
[(triple8 OR ((triple11 triple9) -> rule6) OR ((triple13 triple14) -> rule5) OR ((((triple12) -> rule3) triple9) -> rule6) OR ((((((triple9 triple14) -> rule2)) -> rule3) triple9) -> rule6))]
("Fiona" "is" "blue" "-")
triple8
((triple11 triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple13 triple14) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple12) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((((triple9 triple14) -> (rule2 % int3))) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Harry is nice.
True
2
proof
[(((triple16) -> rule3))]
("Harry" "is" "nice" "+")
((triple16) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is not nice.
False
2
inv-proof
[(((triple16) -> rule3))]
("Harry" "is" "nice" "-")
((triple16) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is not round.
Unknown
inv-random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "-")
Harry is smart.
Unknown
random
[@0: Harry is smart.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "smart" "+")
@0: Anne is blue.[(triple1 OR ((triple4 triple2) -> rule6) OR ((triple6 triple7) -> rule5) OR ((((triple5) -> rule3) triple2) -> rule6) OR ((((((triple2 triple7) -> rule2)) -> rule3) triple2) -> rule6))] Anne is cold.[(triple2)] Anne is nice.[(triple4 OR ((triple5) -> rule3) OR ((triple1 triple5) -> rule4) OR ((((triple2 triple7) -> rule2)) -> rule3) OR ((triple1 ((triple2 triple7) -> rule2)) -> rule4) OR ((((triple6 triple7) -> rule5) triple5) -> rule4) OR ((((triple6 triple7) -> rule5) ((triple2 triple7) -> rule2)) -> rule4))] Anne is not green.[(triple3)] Anne is rough.[(triple5 OR ((triple2 triple4) -> rule1) OR ((triple2 triple7) -> rule2))] Anne is round.[(triple6)] Anne is smart.[(triple7)] Fiona is blue.[(triple8 OR ((triple11 triple9) -> rule6) OR ((triple13 triple14) -> rule5) OR ((((triple12) -> rule3) triple9) -> rule6) OR ((((((triple9 triple14) -> rule2)) -> rule3) triple9) -> rule6))] Fiona is cold.[(triple9)] Fiona is nice.[(triple11 OR ((triple12) -> rule3) OR ((triple8 triple12) -> rule4) OR ((((triple9 triple14) -> rule2)) -> rule3) OR ((triple8 ((triple9 triple14) -> rule2)) -> rule4) OR ((((triple13 triple14) -> rule5) triple12) -> rule4) OR ((((triple13 triple14) -> rule5) ((triple9 triple14) -> rule2)) -> rule4))] Fiona is not green.[(triple10)] Fiona is rough.[(triple12 OR ((triple9 triple11) -> rule1) OR ((triple9 triple14) -> rule2))] Fiona is round.[(triple13)] Fiona is smart.[(triple14)] Harry is cold.[(triple15)] Harry is rough.[(triple16)] @1: Harry is nice.[(((triple16) -> rule3))] @2: Harry is blue.[(((((triple16) -> rule3) triple15) -> rule6))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
((triple4 triple2) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((triple6 triple7) -> (rule5 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
((((triple5) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
((((((triple2 triple7) -> (rule2 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is nice.
("Anne" "is" "nice" "+")
int2
Anne is rough.
("Anne" "is" "rough" "+")
int3
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is nice.
("Anne" "is" "nice" "+")
triple4
((triple5) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((triple1 triple5) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
((((triple2 triple7) -> (rule2 % int2))) -> (rule3 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((triple1 ((triple2 triple7) -> (rule2 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
((((triple6 triple7) -> (rule5 % int2)) triple5) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
((((triple6 triple7) -> (rule5 % int3)) ((triple2 triple7) -> (rule2 % int2))) -> (rule4 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is not green.
("Anne" "is" "green" "-")
triple3
Anne is rough.
("Anne" "is" "rough" "+")
triple5
((triple2 triple4) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
((triple2 triple7) -> (rule2 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
triple6
Anne is smart.
("Anne" "is" "smart" "+")
triple7
Fiona is blue.
("Fiona" "is" "blue" "+")
triple8
((triple11 triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((triple13 triple14) -> (rule5 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
((((triple12) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
((((((triple9 triple14) -> (rule2 % int3))) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
int2
Fiona is rough.
("Fiona" "is" "rough" "+")
int3
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
Fiona is nice.
("Fiona" "is" "nice" "+")
triple11
((triple12) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((triple8 triple12) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple9 triple14) -> (rule2 % int2))) -> (rule3 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((triple8 ((triple9 triple14) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
((((triple13 triple14) -> (rule5 % int2)) triple12) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
((((triple13 triple14) -> (rule5 % int3)) ((triple9 triple14) -> (rule2 % int2))) -> (rule4 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is rough.
("Fiona" "is" "rough" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not green.
("Fiona" "is" "green" "-")
triple10
Fiona is rough.
("Fiona" "is" "rough" "+")
triple12
((triple9 triple11) -> (rule1 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
((triple9 triple14) -> (rule2 % int1))
Fiona is rough.
("Fiona" "is" "rough" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
triple13
Fiona is smart.
("Fiona" "is" "smart" "+")
triple14
Harry is cold.
("Harry" "is" "cold" "+")
triple15
Harry is rough.
("Harry" "is" "rough" "+")
triple16
Harry is nice.
("Harry" "is" "nice" "+")
((triple16) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is blue.
("Harry" "is" "blue" "+")
((((triple16) -> (rule3 % int2)) triple15) -> (rule6 % int1))
Harry is blue.
("Harry" "is" "blue" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2