Anne is kind. Anne is young. Bob is kind. Bob is red. Bob is smart. Dave is smart. Dave is not young. Gary is blue. Gary is nice. Gary is red. Gary is round. Gary is smart. All red, smart things are blue. All round, young things are not blue. All nice things are blue. All round things are blue. If something is smart and not round then it is kind. If Dave is red and Dave is young then Dave is nice. If Anne is smart then Anne is not blue. If Anne is kind and Anne is nice then Anne is not red.
Anne is kind.
("Anne" "is" "kind" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Dave is not young.
("Dave" "is" "young" "-")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
All red, smart things are blue.
((("something" "is" "red" "+") ("something" "is" "smart" "+")) -> ("something" "is" "blue" "+"))
All round, young things are not blue.
((("something" "is" "round" "+") ("something" "is" "young" "+")) -> ("something" "is" "blue" "-"))
All nice things are blue.
((("something" "is" "nice" "+")) -> ("something" "is" "blue" "+"))
All round things are blue.
((("something" "is" "round" "+")) -> ("something" "is" "blue" "+"))
If something is smart and not round then it is kind.
((("something" "is" "smart" "+") ("something" "is" "round" "~")) -> ("something" "is" "kind" "+"))
If Dave is red and Dave is young then Dave is nice.
((("Dave" "is" "red" "+") ("Dave" "is" "young" "+")) -> ("Dave" "is" "nice" "+"))
If Anne is smart then Anne is not blue.
((("Anne" "is" "smart" "+")) -> ("Anne" "is" "blue" "-"))
If Anne is kind and Anne is nice then Anne is not red.
((("Anne" "is" "kind" "+") ("Anne" "is" "nice" "+")) -> ("Anne" "is" "red" "-"))
Anne is young.
True
1
proof
[(triple2)]
("Anne" "is" "young" "+")
triple2
Gary is not blue.
False
1
inv-proof
[(triple8 OR ((triple11) -> rule4) OR ((triple9) -> rule3) OR ((triple10 triple12) -> rule1))]
("Gary" "is" "blue" "-")
triple8
((triple11) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple9) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple10 triple12) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Bob is blue.
True
3
proof
[(((triple4 triple5) -> rule1))]
("Bob" "is" "blue" "+")
((triple4 triple5) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is not blue.
False
3
inv-proof
[(((triple4 triple5) -> rule1))]
("Bob" "is" "blue" "-")
((triple4 triple5) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Dave is not nice.
Unknown
inv-rconc
[@1: Dave is nice.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "nice" "-")
Dave is blue.
Unknown
rconc
[@2: Dave is blue.[CWA. Example of deepest failure = (rule3 <- rule6 <- FAIL)]]
("Dave" "is" "blue" "+")
Bob is not nice.
Unknown
inv-random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "-")
Anne is smart.
Unknown
random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "+")
@0: Anne is kind.[(triple1)] Anne is young.[(triple2)] Bob is kind.[(triple3)] Bob is red.[(triple4)] Bob is smart.[(triple5)] Dave is not young.[(triple7)] Dave is smart.[(triple6)] Gary is blue.[(triple8 OR ((triple11) -> rule4) OR ((triple9) -> rule3) OR ((triple10 triple12) -> rule1))] Gary is nice.[(triple9)] Gary is red.[(triple10)] Gary is round.[(triple11)] Gary is smart.[(triple12)] @1: Bob is blue.[(((triple4 triple5) -> rule1))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Anne is young.
("Anne" "is" "young" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is red.
("Bob" "is" "red" "+")
triple4
Bob is smart.
("Bob" "is" "smart" "+")
triple5
Dave is not young.
("Dave" "is" "young" "-")
triple7
Dave is smart.
("Dave" "is" "smart" "+")
triple6
Gary is blue.
("Gary" "is" "blue" "+")
triple8
((triple11) -> (rule4 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple9) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
((triple10 triple12) -> (rule1 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple9
Gary is red.
("Gary" "is" "red" "+")
triple10
Gary is round.
("Gary" "is" "round" "+")
triple11
Gary is smart.
("Gary" "is" "smart" "+")
triple12
Bob is blue.
("Bob" "is" "blue" "+")
((triple4 triple5) -> (rule1 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1