Anne is kind. Bob is big. Bob is blue. Bob is cold. Bob is kind. Bob is rough. Bob is round. Charlie is big. Charlie is blue. Charlie is cold. Charlie is kind. Charlie is round. Young, kind people are round. If someone is kind and cold then they are big. Big people are rough. Cold people are rough. Kind, big people are cold. If someone is rough then they are cold. If someone is rough and not cold then they are blue. If someone is round and not young then they are blue.
Anne is kind.
("Anne" "is" "kind" "+")
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Young, kind people are round.
((("someone" "is" "young" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
If someone is kind and cold then they are big.
((("someone" "is" "kind" "+") ("someone" "is" "cold" "+")) -> ("someone" "is" "big" "+"))
Big people are rough.
((("someone" "is" "big" "+")) -> ("someone" "is" "rough" "+"))
Cold people are rough.
((("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
Kind, big people are cold.
((("someone" "is" "kind" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "cold" "+"))
If someone is rough then they are cold.
((("someone" "is" "rough" "+")) -> ("someone" "is" "cold" "+"))
If someone is rough and not cold then they are blue.
((("someone" "is" "rough" "+") ("someone" "is" "cold" "~")) -> ("someone" "is" "blue" "+"))
If someone is round and not young then they are blue.
((("someone" "is" "round" "+") ("someone" "is" "young" "~")) -> ("someone" "is" "blue" "+"))
Bob is blue.
True
1
proof
[(triple3)]
("Bob" "is" "blue" "+")
triple3
Bob is not blue.
False
1
inv-proof
[(triple3)]
("Bob" "is" "blue" "-")
triple3
Anne is not big.
Unknown
inv-rconc
[@4: Anne is big.[CWA. Example of deepest failure = (rule2 <- rule6 <- rule4 <- rule5 <- FAIL)]]
("Anne" "is" "big" "-")
Anne is young.
Unknown
random
[@0: Anne is young.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "young" "+")
@0: Anne is kind.[(triple1)] Bob is big.[(triple2 OR ((triple5 triple4) -> rule2) OR ((triple5 ((triple6) -> rule6)) -> rule2))] Bob is blue.[(triple3)] Bob is cold.[(triple4 OR ((triple6) -> rule6) OR ((triple5 triple2) -> rule5) OR ((((triple2) -> rule3)) -> rule6))] Bob is kind.[(triple5)] Bob is rough.[(triple6 OR ((triple2) -> rule3) OR ((triple4) -> rule4) OR ((((triple5 triple2) -> rule5)) -> rule4) OR ((((triple5 triple4) -> rule2)) -> rule3))] Bob is round.[(triple7)] Charlie is big.[(triple8 OR ((triple11 triple10) -> rule2))] Charlie is blue.[(triple9)] Charlie is cold.[(triple10 OR ((triple11 triple8) -> rule5) OR ((((triple8) -> rule3)) -> rule6))] Charlie is kind.[(triple11)] Charlie is round.[(triple12)] @1: Charlie is rough.[(((triple10) -> rule4) OR ((triple8) -> rule3) OR ((((triple11 triple10) -> rule2)) -> rule3) OR ((((triple11 triple8) -> rule5)) -> rule4))]
Anne is kind.
("Anne" "is" "kind" "+")
triple1
Bob is big.
("Bob" "is" "big" "+")
triple2
((triple5 triple4) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
((triple5 ((triple6) -> (rule6 % int2))) -> (rule2 % int1))
Bob is big.
("Bob" "is" "big" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
triple3
Bob is cold.
("Bob" "is" "cold" "+")
triple4
((triple6) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((triple5 triple2) -> (rule5 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple2) -> (rule3 % int2))) -> (rule6 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is rough.
("Bob" "is" "rough" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
triple5
Bob is rough.
("Bob" "is" "rough" "+")
triple6
((triple2) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((triple4) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
((((triple5 triple2) -> (rule5 % int2))) -> (rule4 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is cold.
("Bob" "is" "cold" "+")
int2
((((triple5 triple4) -> (rule2 % int2))) -> (rule3 % int1))
Bob is rough.
("Bob" "is" "rough" "+")
int1
Bob is big.
("Bob" "is" "big" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
triple7
Charlie is big.
("Charlie" "is" "big" "+")
triple8
((triple11 triple10) -> (rule2 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple9
Charlie is cold.
("Charlie" "is" "cold" "+")
triple10
((triple11 triple8) -> (rule5 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
((((triple8) -> (rule3 % int2))) -> (rule6 % int1))
Charlie is cold.
("Charlie" "is" "cold" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
triple11
Charlie is round.
("Charlie" "is" "round" "+")
triple12
Charlie is rough.
("Charlie" "is" "rough" "+")
((triple10) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((triple8) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
((((triple11 triple10) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
((((triple11 triple8) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
int2