Anne is nice. Anne is smart. Bob is kind. Bob is smart. Bob is young. Charlie is blue. Charlie is cold. Charlie is kind. Charlie is nice. Charlie is quiet. Charlie is smart. Charlie is young. Blue people are nice. All young, quiet people are nice. Quiet people are blue. All kind, nice people are quiet. If someone is kind then they are nice. If someone is quiet then they are smart. Kind people are young. If someone is young and quiet then they are nice.
Anne is nice.
("Anne" "is" "nice" "+")
Anne is smart.
("Anne" "is" "smart" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is young.
("Bob" "is" "young" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is kind.
("Charlie" "is" "kind" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Blue people are nice.
((("someone" "is" "blue" "+")) -> ("someone" "is" "nice" "+"))
All young, quiet people are nice.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
Quiet people are blue.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "blue" "+"))
All kind, nice people are quiet.
((("someone" "is" "kind" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "quiet" "+"))
If someone is kind then they are nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "+"))
If someone is quiet then they are smart.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "smart" "+"))
Kind people are young.
((("someone" "is" "kind" "+")) -> ("someone" "is" "young" "+"))
If someone is young and quiet then they are nice.
((("someone" "is" "young" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "nice" "+"))
Charlie is cold.
True
1
proof
[(triple7)]
("Charlie" "is" "cold" "+")
triple7
Charlie is not cold.
False
1
inv-proof
[(triple7)]
("Charlie" "is" "cold" "-")
triple7
Bob is nice.
True
2
proof
[(((triple3) -> rule5))]
("Bob" "is" "nice" "+")
((triple3) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is not nice.
False
2
inv-proof
[(((triple3) -> rule5))]
("Bob" "is" "nice" "-")
((triple3) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
True
4
proof
[(((triple3 ((triple3) -> rule5)) -> rule4))]
("Bob" "is" "quiet" "+")
((triple3 ((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is not quiet.
False
4
inv-proof
[(((triple3 ((triple3) -> rule5)) -> rule4))]
("Bob" "is" "quiet" "-")
((triple3 ((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
True
5
proof
[(((((triple3 ((triple3) -> rule5)) -> rule4)) -> rule3))]
("Bob" "is" "blue" "+")
((((triple3 ((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is not blue.
False
5
inv-proof
[(((((triple3 ((triple3) -> rule5)) -> rule4)) -> rule3))]
("Bob" "is" "blue" "-")
((((triple3 ((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Anne is not young.
Unknown
inv-rconc
[@1: Anne is young.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Anne" "is" "young" "-")
Anne is blue.
Unknown
rconc
[@2: Anne is blue.[CWA. Example of deepest failure = (rule3 <- rule4 <- FAIL)]]
("Anne" "is" "blue" "+")
Anne is not quiet.
Unknown
inv-rconc
[@1: Anne is quiet.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Anne" "is" "quiet" "-")
Anne is kind.
Unknown
random
[@0: Anne is kind.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "kind" "+")
Bob is not cold.
Unknown
inv-random
[@0: Bob is cold.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "cold" "-")
Anne is cold.
Unknown
random
[@0: Anne is cold.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "cold" "+")
@0: Anne is nice.[(triple1)] Anne is smart.[(triple2)] Bob is kind.[(triple3)] Bob is smart.[(triple4 OR ((((triple3 ((triple3) -> rule5)) -> rule4)) -> rule6))] Bob is young.[(triple5 OR ((triple3) -> rule7))] Charlie is blue.[(triple6 OR ((triple10) -> rule3) OR ((((triple8 triple9) -> rule4)) -> rule3) OR ((((triple8 ((triple8) -> rule5)) -> rule4)) -> rule3))] Charlie is cold.[(triple7)] Charlie is kind.[(triple8)] Charlie is nice.[(triple9 OR ((triple6) -> rule1) OR ((triple8) -> rule5) OR ((triple12 triple10) -> rule2) OR ((triple12 triple10) -> rule8) OR ((((triple10) -> rule3)) -> rule1) OR ((((triple8) -> rule7) triple10) -> rule2) OR ((((triple8) -> rule7) triple10) -> rule8))] Charlie is quiet.[(triple10 OR ((triple8 triple9) -> rule4) OR ((triple8 ((triple6) -> rule1)) -> rule4) OR ((triple8 ((triple8) -> rule5)) -> rule4))] Charlie is smart.[(triple11 OR ((triple10) -> rule6) OR ((((triple8 triple9) -> rule4)) -> rule6) OR ((((triple8 ((triple6) -> rule1)) -> rule4)) -> rule6) OR ((((triple8 ((triple8) -> rule5)) -> rule4)) -> rule6))] Charlie is young.[(triple12 OR ((triple8) -> rule7))] @1: Bob is nice.[(((triple3) -> rule5))] @2: Bob is quiet.[(((triple3 ((triple3) -> rule5)) -> rule4))] @3: Bob is blue.[(((((triple3 ((triple3) -> rule5)) -> rule4)) -> rule3))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Anne is smart.
("Anne" "is" "smart" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is smart.
("Bob" "is" "smart" "+")
triple4
((((triple3 ((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Bob is smart.
("Bob" "is" "smart" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3
Bob is young.
("Bob" "is" "young" "+")
triple5
((triple3) -> (rule7 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple6
((triple10) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
((((triple8 triple9) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple8 ((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is cold.
("Charlie" "is" "cold" "+")
triple7
Charlie is kind.
("Charlie" "is" "kind" "+")
triple8
Charlie is nice.
("Charlie" "is" "nice" "+")
triple9
((triple6) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple8) -> (rule5 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple12 triple10) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((triple12 triple10) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
((((triple10) -> (rule3 % int2))) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
((((triple8) -> (rule7 % int2)) triple10) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((triple8) -> (rule7 % int2)) triple10) -> (rule8 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple10
((triple8 triple9) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((triple8 ((triple6) -> (rule1 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
((triple8 ((triple8) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple11
((triple10) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
((((triple8 triple9) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((triple8 ((triple6) -> (rule1 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
((((triple8 ((triple8) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
triple12
((triple8) -> (rule7 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
((triple3) -> (rule5 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple3 ((triple3) -> (rule5 % int2))) -> (rule4 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Bob is nice.
("Bob" "is" "nice" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
((((triple3 ((triple3) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule3 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
int3