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