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