Anne is green. Anne is rough. Anne is young. Bob is kind. Bob is rough. Erin is blue. Erin is green. Erin is kind. Erin is young. Fiona is kind. Fiona is red. Fiona is white. Kind things are white. All rough things are blue. All white, kind things are young. If Erin is blue then Erin is young. If Bob is kind and Bob is blue then Bob is white. Young things are red.
Anne is green.
("Anne" "is" "green" "+")
Anne is rough.
("Anne" "is" "rough" "+")
Anne is young.
("Anne" "is" "young" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is green.
("Erin" "is" "green" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is young.
("Erin" "is" "young" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Kind things are white.
((("something" "is" "kind" "+")) -> ("something" "is" "white" "+"))
All rough things are blue.
((("something" "is" "rough" "+")) -> ("something" "is" "blue" "+"))
All white, kind things are young.
((("something" "is" "white" "+") ("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
If Erin is blue then Erin is young.
((("Erin" "is" "blue" "+")) -> ("Erin" "is" "young" "+"))
If Bob is kind and Bob is blue then Bob is white.
((("Bob" "is" "kind" "+") ("Bob" "is" "blue" "+")) -> ("Bob" "is" "white" "+"))
Young things are red.
((("something" "is" "young" "+")) -> ("something" "is" "red" "+"))
Erin is blue.
True
1
proof
[(triple6)]
("Erin" "is" "blue" "+")
triple6
Erin is not kind.
False
1
inv-proof
[(triple8)]
("Erin" "is" "kind" "-")
triple8
Anne is red.
True
2
proof
[(((triple3) -> rule6))]
("Anne" "is" "red" "+")
((triple3) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Anne is not red.
False
2
inv-proof
[(((triple3) -> rule6))]
("Anne" "is" "red" "-")
((triple3) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is young.
True
4
proof
[(((((triple4) -> rule1) triple4) -> rule3) OR ((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3))]
("Bob" "is" "young" "+")
((((triple4) -> (rule1 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple4 ((triple5) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is not young.
False
4
inv-proof
[(((((triple4) -> rule1) triple4) -> rule3) OR ((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3))]
("Bob" "is" "young" "-")
((((triple4) -> (rule1 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple4 ((triple5) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
True
5
proof
[(((((((triple4) -> rule1) triple4) -> rule3)) -> rule6) OR ((((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3)) -> rule6))]
("Bob" "is" "red" "+")
((((((triple4) -> (rule1 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((triple4 ((triple5) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Bob is not red.
False
5
inv-proof
[(((((((triple4) -> rule1) triple4) -> rule3)) -> rule6) OR ((((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3)) -> rule6))]
("Bob" "is" "red" "-")
((((((triple4) -> (rule1 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((triple4 ((triple5) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4
Anne is not white.
Unknown
inv-rconc
[@1: Anne is white.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Anne" "is" "white" "-")
Fiona is blue.
Unknown
rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "blue" "+")
Bob is not green.
Unknown
inv-random
[@0: Bob is green.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "green" "-")
Fiona is rough.
Unknown
random
[@0: Fiona is rough.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "rough" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Erin is rough.
Unknown
random
[@0: Erin is rough.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "rough" "+")
@0: Anne is green.[(triple1)] Anne is rough.[(triple2)] Anne is young.[(triple3)] Bob is kind.[(triple4)] Bob is rough.[(triple5)] Erin is blue.[(triple6)] Erin is green.[(triple7)] Erin is kind.[(triple8)] Erin is young.[(triple9 OR ((triple6) -> rule4) OR ((((triple8) -> rule1) triple8) -> rule3))] Fiona is kind.[(triple10)] Fiona is red.[(triple11 OR ((((triple12 triple10) -> rule3)) -> rule6) OR ((((((triple10) -> rule1) triple10) -> rule3)) -> rule6))] Fiona is white.[(triple12 OR ((triple10) -> rule1))] @1: Anne is blue.[(((triple2) -> rule2))] Anne is red.[(((triple3) -> rule6))] Bob is blue.[(((triple5) -> rule2))] Bob is white.[(((triple4) -> rule1) OR ((triple4 ((triple5) -> rule2)) -> rule5))] Erin is red.[(((triple9) -> rule6) OR ((((triple6) -> rule4)) -> rule6) OR ((((((triple8) -> rule1) triple8) -> rule3)) -> rule6))] Erin is white.[(((triple8) -> rule1))] Fiona is young.[(((triple12 triple10) -> rule3) OR ((((triple10) -> rule1) triple10) -> rule3))] @2: Bob is young.[(((((triple4) -> rule1) triple4) -> rule3) OR ((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3))] @3: Bob is red.[(((((((triple4) -> rule1) triple4) -> rule3)) -> rule6) OR ((((((triple4 ((triple5) -> rule2)) -> rule5) triple4) -> rule3)) -> rule6))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Anne is rough.
("Anne" "is" "rough" "+")
triple2
Anne is young.
("Anne" "is" "young" "+")
triple3
Bob is kind.
("Bob" "is" "kind" "+")
triple4
Bob is rough.
("Bob" "is" "rough" "+")
triple5
Erin is blue.
("Erin" "is" "blue" "+")
triple6
Erin is green.
("Erin" "is" "green" "+")
triple7
Erin is kind.
("Erin" "is" "kind" "+")
triple8
Erin is young.
("Erin" "is" "young" "+")
triple9
((triple6) -> (rule4 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
((((triple8) -> (rule1 % int2)) triple8) -> (rule3 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
triple10
Fiona is red.
("Fiona" "is" "red" "+")
triple11
((((triple12 triple10) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
((((((triple10) -> (rule1 % int3)) triple10) -> (rule3 % int2))) -> (rule6 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is white.
("Fiona" "is" "white" "+")
triple12
((triple10) -> (rule1 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is red.
("Anne" "is" "red" "+")
((triple3) -> (rule6 % int1))
Anne is red.
("Anne" "is" "red" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
((triple5) -> (rule2 % int1))
Bob is blue.
("Bob" "is" "blue" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple4) -> (rule1 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
((triple4 ((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Bob is blue.
("Bob" "is" "blue" "+")
int2
Erin is red.
("Erin" "is" "red" "+")
((triple9) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
((((triple6) -> (rule4 % int2))) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
((((((triple8) -> (rule1 % int3)) triple8) -> (rule3 % int2))) -> (rule6 % int1))
Erin is red.
("Erin" "is" "red" "+")
int1
Erin is young.
("Erin" "is" "young" "+")
int2
Erin is white.
("Erin" "is" "white" "+")
int3
Erin is white.
("Erin" "is" "white" "+")
((triple8) -> (rule1 % int1))
Erin is white.
("Erin" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
((triple12 triple10) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
((((triple10) -> (rule1 % int2)) triple10) -> (rule3 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Bob is young.
("Bob" "is" "young" "+")
((((triple4) -> (rule1 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
((((triple4 ((triple5) -> (rule2 % int3))) -> (rule5 % int2)) triple4) -> (rule3 % int1))
Bob is young.
("Bob" "is" "young" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Bob is blue.
("Bob" "is" "blue" "+")
int3
Bob is red.
("Bob" "is" "red" "+")
((((((triple4) -> (rule1 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
((((((triple4 ((triple5) -> (rule2 % int4))) -> (rule5 % int3)) triple4) -> (rule3 % int2))) -> (rule6 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is young.
("Bob" "is" "young" "+")
int2
Bob is white.
("Bob" "is" "white" "+")
int3
Bob is blue.
("Bob" "is" "blue" "+")
int4