Anne is blue. Anne is cold. Anne is red. Anne is smart. Anne is not white. Anne is young. Charlie is blue. Charlie is not cold. Charlie is quiet. Charlie is young. Dave is cold. Dave is quiet. Dave is red. Dave is smart. Dave is white. Dave is young. Young things are smart. Quiet things are smart. Quiet, young things are red. If something is blue and not cold then it is red. If something is quiet and cold then it is not blue. If something is blue and not young then it is not quiet.
Anne is blue.
("Anne" "is" "blue" "+")
Anne is cold.
("Anne" "is" "cold" "+")
Anne is red.
("Anne" "is" "red" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Anne is not white.
("Anne" "is" "white" "-")
Anne is young.
("Anne" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not cold.
("Charlie" "is" "cold" "-")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Young things are smart.
((("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
Quiet things are smart.
((("something" "is" "quiet" "+")) -> ("something" "is" "smart" "+"))
Quiet, young things are red.
((("something" "is" "quiet" "+") ("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
If something is blue and not cold then it is red.
((("something" "is" "blue" "+") ("something" "is" "cold" "~")) -> ("something" "is" "red" "+"))
If something is quiet and cold then it is not blue.
((("something" "is" "quiet" "+") ("something" "is" "cold" "+")) -> ("something" "is" "blue" "-"))
If something is blue and not young then it is not quiet.
((("something" "is" "blue" "+") ("something" "is" "young" "~")) -> ("something" "is" "quiet" "-"))
Anne is red.
True
1
proof
[(triple3)]
("Anne" "is" "red" "+")
triple3
Dave is not white.
False
1
inv-proof
[(triple15)]
("Dave" "is" "white" "-")
triple15
Charlie is smart.
True
2
proof
[(((triple10) -> rule1) OR ((triple9) -> rule2))]
("Charlie" "is" "smart" "+")
((triple10) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((triple9) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is not red.
False
3
inv-proof
[(((triple7 triple8) -> rule4) OR ((triple9 triple10) -> rule3))]
("Charlie" "is" "red" "-")
((triple7 triple8) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple9 triple10) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
@0: Anne is blue.[(triple1)] Anne is cold.[(triple2)] Anne is not white.[(triple5)] Anne is red.[(triple3)] Anne is smart.[(triple4 OR ((triple6) -> rule1))] Anne is young.[(triple6)] Charlie is blue.[(triple7)] Charlie is not cold.[(triple8)] Charlie is quiet.[(triple9)] Charlie is young.[(triple10)] Dave is cold.[(triple11)] Dave is quiet.[(triple12)] Dave is red.[(triple13 OR ((triple12 triple16) -> rule3))] Dave is smart.[(triple14 OR ((triple12) -> rule2) OR ((triple16) -> rule1))] Dave is white.[(triple15)] Dave is young.[(triple16)] @1: Charlie is red.[(((triple7 triple8) -> rule4) OR ((triple9 triple10) -> rule3))] Charlie is smart.[(((triple10) -> rule1) OR ((triple9) -> rule2))] Dave is not blue.[(((triple12 triple11) -> rule5))]
Anne is blue.
("Anne" "is" "blue" "+")
triple1
Anne is cold.
("Anne" "is" "cold" "+")
triple2
Anne is not white.
("Anne" "is" "white" "-")
triple5
Anne is red.
("Anne" "is" "red" "+")
triple3
Anne is smart.
("Anne" "is" "smart" "+")
triple4
((triple6) -> (rule1 % int1))
Anne is smart.
("Anne" "is" "smart" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
triple6
Charlie is blue.
("Charlie" "is" "blue" "+")
triple7
Charlie is not cold.
("Charlie" "is" "cold" "-")
triple8
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple9
Charlie is young.
("Charlie" "is" "young" "+")
triple10
Dave is cold.
("Dave" "is" "cold" "+")
triple11
Dave is quiet.
("Dave" "is" "quiet" "+")
triple12
Dave is red.
("Dave" "is" "red" "+")
triple13
((triple12 triple16) -> (rule3 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple14
((triple12) -> (rule2 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
((triple16) -> (rule1 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is white.
("Dave" "is" "white" "+")
triple15
Dave is young.
("Dave" "is" "young" "+")
triple16
Charlie is red.
("Charlie" "is" "red" "+")
((triple7 triple8) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
((triple9 triple10) -> (rule3 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple10) -> (rule1 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((triple9) -> (rule2 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is not blue.
("Dave" "is" "blue" "-")
((triple12 triple11) -> (rule5 % int1))
Dave is not blue.
("Dave" "is" "blue" "-")
int1