Anne is red. Anne is white. Charlie is nice. Charlie is red. Fiona is blue. Fiona is furry. Fiona is red. Fiona is white. Fiona is young. Gary is not nice. Gary is red. Gary is white. If someone is kind and blue then they are young. If Charlie is not kind then Charlie is not young. If Anne is red then Anne is kind. If someone is kind and red then they are blue. Red people are white. Young people are nice.
Anne is red.
("Anne" "is" "red" "+")
Anne is white.
("Anne" "is" "white" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
Gary is not nice.
("Gary" "is" "nice" "-")
Gary is red.
("Gary" "is" "red" "+")
Gary is white.
("Gary" "is" "white" "+")
If someone is kind and blue then they are young.
((("someone" "is" "kind" "+") ("someone" "is" "blue" "+")) -> ("someone" "is" "young" "+"))
If Charlie is not kind then Charlie is not young.
((("Charlie" "is" "kind" "~")) -> ("Charlie" "is" "young" "-"))
If Anne is red then Anne is kind.
((("Anne" "is" "red" "+")) -> ("Anne" "is" "kind" "+"))
If someone is kind and red then they are blue.
((("someone" "is" "kind" "+") ("someone" "is" "red" "+")) -> ("someone" "is" "blue" "+"))
Red people are white.
((("someone" "is" "red" "+")) -> ("someone" "is" "white" "+"))
Young people are nice.
((("someone" "is" "young" "+")) -> ("someone" "is" "nice" "+"))
Charlie is nice.
True
1
proof
[(triple3)]
("Charlie" "is" "nice" "+")
triple3
Fiona is not white.
False
1
inv-proof
[(triple8 OR ((triple7) -> rule5))]
("Fiona" "is" "white" "-")
triple8
((triple7) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Charlie is white.
True
2
proof
[(((triple4) -> rule5))]
("Charlie" "is" "white" "+")
((triple4) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Anne is not kind.
False
2
inv-proof
[(((triple1) -> rule3))]
("Anne" "is" "kind" "-")
((triple1) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Anne is blue.
True
4
proof
[(((((triple1) -> rule3) triple1) -> rule4))]
("Anne" "is" "blue" "+")
((((triple1) -> (rule3 % int2)) triple1) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is not blue.
False
4
inv-proof
[(((((triple1) -> rule3) triple1) -> rule4))]
("Anne" "is" "blue" "-")
((((triple1) -> (rule3 % int2)) triple1) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is young.
True
7
proof
[(((((triple1) -> rule3) ((((triple1) -> rule3) triple1) -> rule4)) -> rule1))]
("Anne" "is" "young" "+")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is not young.
False
7
inv-proof
[(((((triple1) -> rule3) ((((triple1) -> rule3) triple1) -> rule4)) -> rule1))]
("Anne" "is" "young" "-")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Gary is not young.
Unknown
inv-rconc
[@1: Gary is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Gary" "is" "young" "-")
Charlie is young.
Unknown
rconc
[@1: Charlie is young.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "young" "+")
Gary is not blue.
Unknown
inv-rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Gary" "is" "blue" "-")
Charlie is blue.
Unknown
rconc
[@1: Charlie is blue.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "blue" "+")
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Anne is furry.
Unknown
random
[@0: Anne is furry.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "furry" "+")
Charlie is not furry.
Unknown
inv-random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "-")
Gary is furry.
Unknown
random
[@0: Gary is furry.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "furry" "+")
@0: Anne is red.[(triple1)] Anne is white.[(triple2 OR ((triple1) -> rule5))] Charlie is nice.[(triple3)] Charlie is red.[(triple4)] Fiona is blue.[(triple5)] Fiona is furry.[(triple6)] Fiona is red.[(triple7)] Fiona is white.[(triple8 OR ((triple7) -> rule5))] Fiona is young.[(triple9)] Gary is not nice.[(triple10)] Gary is red.[(triple11)] Gary is white.[(triple12 OR ((triple11) -> rule5))] @1: Anne is kind.[(((triple1) -> rule3))] Charlie is white.[(((triple4) -> rule5))] Fiona is nice.[(((triple9) -> rule6))] @2: Anne is blue.[(((((triple1) -> rule3) triple1) -> rule4))] @3: Anne is young.[(((((triple1) -> rule3) ((((triple1) -> rule3) triple1) -> rule4)) -> rule1))] @4: Anne is nice.[(((((((triple1) -> rule3) ((((triple1) -> rule3) triple1) -> rule4)) -> rule1)) -> rule6))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Anne is white.
("Anne" "is" "white" "+")
triple2
((triple1) -> (rule5 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple3
Charlie is red.
("Charlie" "is" "red" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
triple5
Fiona is furry.
("Fiona" "is" "furry" "+")
triple6
Fiona is red.
("Fiona" "is" "red" "+")
triple7
Fiona is white.
("Fiona" "is" "white" "+")
triple8
((triple7) -> (rule5 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple9
Gary is not nice.
("Gary" "is" "nice" "-")
triple10
Gary is red.
("Gary" "is" "red" "+")
triple11
Gary is white.
("Gary" "is" "white" "+")
triple12
((triple11) -> (rule5 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
((triple1) -> (rule3 % int1))
Anne is kind.
("Anne" "is" "kind" "+")
int1
Charlie is white.
("Charlie" "is" "white" "+")
((triple4) -> (rule5 % int1))
Charlie is white.
("Charlie" "is" "white" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
((triple9) -> (rule6 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
((((triple1) -> (rule3 % int2)) triple1) -> (rule4 % int1))
Anne is blue.
("Anne" "is" "blue" "+")
int1
Anne is kind.
("Anne" "is" "kind" "+")
int2
Anne is young.
("Anne" "is" "young" "+")
((((triple1) -> (rule3 % int3)) ((((triple1) -> (rule3 % int3)) triple1) -> (rule4 % int2))) -> (rule1 % int1))
Anne is young.
("Anne" "is" "young" "+")
int1
Anne is blue.
("Anne" "is" "blue" "+")
int2
Anne is kind.
("Anne" "is" "kind" "+")
int3
Anne is nice.
("Anne" "is" "nice" "+")
((((((triple1) -> (rule3 % int4)) ((((triple1) -> (rule3 % int4)) triple1) -> (rule4 % int3))) -> (rule1 % int2))) -> (rule6 % int1))
Anne is nice.
("Anne" "is" "nice" "+")
int1
Anne is young.
("Anne" "is" "young" "+")
int2
Anne is blue.
("Anne" "is" "blue" "+")
int3
Anne is kind.
("Anne" "is" "kind" "+")
int4