Anne is cold. Anne is green. Anne is rough. Anne is not round. Anne is white. Bob is green. Bob is kind. Bob is round. Bob is white. Charlie is blue. Charlie is not cold. Charlie is rough. Charlie is not round. Charlie is white. Gary is cold. Gary is not round. If something is cold then it is rough. If something is cold and rough then it is kind.
Anne is cold.
("Anne" "is" "cold" "+")
Anne is green.
("Anne" "is" "green" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is not round.
("Anne" "is" "round" "-")
Anne is white.
("Anne" "is" "white" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is round.
("Bob" "is" "round" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is not cold.
("Charlie" "is" "cold" "-")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is not round.
("Charlie" "is" "round" "-")
Charlie is white.
("Charlie" "is" "white" "+")
Gary is cold.
("Gary" "is" "cold" "+")
Gary is not round.
("Gary" "is" "round" "-")
If something is cold then it is rough.
((("something" "is" "cold" "+")) -> ("something" "is" "rough" "+"))
If something is cold and rough then it is kind.
((("something" "is" "cold" "+") ("something" "is" "rough" "+")) -> ("something" "is" "kind" "+"))
Charlie is rough.
True
1
proof
[(triple12)]
("Charlie" "is" "rough" "+")
triple12
Anne is not rough.
False
1
inv-proof
[(triple3 OR ((triple1) -> rule1))]
("Anne" "is" "rough" "-")
triple3
((triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is kind.
True
3
proof
[(((triple1 triple3) -> rule2) OR ((triple1 ((triple1) -> rule1)) -> rule2))]
("Anne" "is" "kind" "+")
((triple1 triple3) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Gary is not rough.
False
2
inv-proof
[(((triple15) -> rule1))]
("Gary" "is" "rough" "-")
((triple15) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
True
4
proof
[(((triple15 ((triple15) -> rule1)) -> rule2))]
("Gary" "is" "kind" "+")
((triple15 ((triple15) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Gary is not kind.
False
4
inv-proof
[(((triple15 ((triple15) -> rule1)) -> rule2))]
("Gary" "is" "kind" "-")
((triple15 ((triple15) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Bob" "is" "rough" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Charlie" "is" "kind" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
Gary is not blue.
Unknown
inv-random
[@0: Gary is blue.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "blue" "-")
Anne is blue.
Unknown
random
[@0: Anne is blue.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "blue" "+")
@0: Anne is cold.[(triple1)] Anne is green.[(triple2)] Anne is not round.[(triple4)] Anne is rough.[(triple3 OR ((triple1) -> rule1))] Anne is white.[(triple5)] Bob is green.[(triple6)] Bob is kind.[(triple7)] Bob is round.[(triple8)] Bob is white.[(triple9)] Charlie is blue.[(triple10)] Charlie is not cold.[(triple11)] Charlie is not round.[(triple13)] Charlie is rough.[(triple12)] Charlie is white.[(triple14)] Gary is cold.[(triple15)] Gary is not round.[(triple16)] @1: Anne is kind.[(((triple1 triple3) -> rule2) OR ((triple1 ((triple1) -> rule1)) -> rule2))] Gary is rough.[(((triple15) -> rule1))] @2: Gary is kind.[(((triple15 ((triple15) -> rule1)) -> rule2))]
Anne is cold.
("Anne" "is" "cold" "+")
triple1
Anne is green.
("Anne" "is" "green" "+")
triple2
Anne is not round.
("Anne" "is" "round" "-")
triple4
Anne is rough.
("Anne" "is" "rough" "+")
triple3
((triple1) -> (rule1 % int1))
Anne is rough.
("Anne" "is" "rough" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
triple5
Bob is green.
("Bob" "is" "green" "+")
triple6
Bob is kind.
("Bob" "is" "kind" "+")
triple7
Bob is round.
("Bob" "is" "round" "+")
triple8
Bob is white.
("Bob" "is" "white" "+")
triple9
Charlie is blue.
("Charlie" "is" "blue" "+")
triple10
Charlie is not cold.
("Charlie" "is" "cold" "-")
triple11
Charlie is not round.
("Charlie" "is" "round" "-")
triple13
Charlie is rough.
("Charlie" "is" "rough" "+")
triple12
Charlie is white.
("Charlie" "is" "white" "+")
triple14
Gary is cold.
("Gary" "is" "cold" "+")
triple15
Gary is not round.
("Gary" "is" "round" "-")
triple16
Anne is kind.
("Anne" "is" "kind" "+")
((triple1 triple3) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
((triple1 ((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is rough.
("Anne" "is" "rough" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
((triple15) -> (rule1 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
((triple15 ((triple15) -> (rule1 % int2))) -> (rule2 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
int2