Anne is red. Charlie is blue. Fiona is big. Gary is red. Blue, big things are furry. If something is big and blue then it is green. All big things are blue. Blue, big things are kind. If something is kind and blue then it is red. All big, smart things are blue.
Anne is red.
("Anne" "is" "red" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Fiona is big.
("Fiona" "is" "big" "+")
Gary is red.
("Gary" "is" "red" "+")
Blue, big things are furry.
((("something" "is" "blue" "+") ("something" "is" "big" "+")) -> ("something" "is" "furry" "+"))
If something is big and blue then it is green.
((("something" "is" "big" "+") ("something" "is" "blue" "+")) -> ("something" "is" "green" "+"))
All big things are blue.
((("something" "is" "big" "+")) -> ("something" "is" "blue" "+"))
Blue, big things are kind.
((("something" "is" "blue" "+") ("something" "is" "big" "+")) -> ("something" "is" "kind" "+"))
If something is kind and blue then it is red.
((("something" "is" "kind" "+") ("something" "is" "blue" "+")) -> ("something" "is" "red" "+"))
All big, smart things are blue.
((("something" "is" "big" "+") ("something" "is" "smart" "+")) -> ("something" "is" "blue" "+"))
Gary is red.
True
1
proof
[(triple4)]
("Gary" "is" "red" "+")
triple4
Gary is not red.
False
1
inv-proof
[(triple4)]
("Gary" "is" "red" "-")
triple4
Fiona is blue.
True
2
proof
[(((triple3) -> rule3))]
("Fiona" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple3) -> rule3))]
("Fiona" "is" "blue" "-")
((triple3) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is green.
True
4
proof
[(((triple3 ((triple3) -> rule3)) -> rule2))]
("Fiona" "is" "green" "+")
((triple3 ((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not kind.
False
4
inv-proof
[(((((triple3) -> rule3) triple3) -> rule4))]
("Fiona" "is" "kind" "-")
((((triple3) -> (rule3 % int2)) triple3) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
True
7
proof
[(((((((triple3) -> rule3) triple3) -> rule4) ((triple3) -> rule3)) -> rule5))]
("Fiona" "is" "red" "+")
((((((triple3) -> (rule3 % int3)) triple3) -> (rule4 % int2)) ((triple3) -> (rule3 % int3))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is not red.
False
7
inv-proof
[(((((((triple3) -> rule3) triple3) -> rule4) ((triple3) -> rule3)) -> rule5))]
("Fiona" "is" "red" "-")
((((((triple3) -> (rule3 % int3)) triple3) -> (rule4 % int2)) ((triple3) -> (rule3 % int3))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Anne is not blue.
Unknown
inv-rconc
[@1: Anne is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Anne" "is" "blue" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "kind" "+")
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "furry" "-")
Gary is blue.
Unknown
rconc
[@1: Gary is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "blue" "+")
Gary is not big.
Unknown
inv-random
[@0: Gary is big.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "big" "-")
Anne is smart.
Unknown
random
[@0: Anne is smart.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "smart" "+")
Charlie is not big.
Unknown
inv-random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "-")
Anne is big.
Unknown
random
[@0: Anne is big.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "big" "+")
@0: Anne is red.[(triple1)] Charlie is blue.[(triple2)] Fiona is big.[(triple3)] Gary is red.[(triple4)] @1: Fiona is blue.[(((triple3) -> rule3))] @2: Fiona is furry.[(((((triple3) -> rule3) triple3) -> rule1))] Fiona is green.[(((triple3 ((triple3) -> rule3)) -> rule2))] Fiona is kind.[(((((triple3) -> rule3) triple3) -> rule4))] @3: Fiona is red.[(((((((triple3) -> rule3) triple3) -> rule4) ((triple3) -> rule3)) -> rule5))]
Anne is red.
("Anne" "is" "red" "+")
triple1
Charlie is blue.
("Charlie" "is" "blue" "+")
triple2
Fiona is big.
("Fiona" "is" "big" "+")
triple3
Gary is red.
("Gary" "is" "red" "+")
triple4
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple3) -> (rule3 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((((triple3) -> (rule3 % int2)) triple3) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
((triple3 ((triple3) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is kind.
("Fiona" "is" "kind" "+")
((((triple3) -> (rule3 % int2)) triple3) -> (rule4 % int1))
Fiona is kind.
("Fiona" "is" "kind" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is red.
("Fiona" "is" "red" "+")
((((((triple3) -> (rule3 % int3)) triple3) -> (rule4 % int2)) ((triple3) -> (rule3 % int3))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is kind.
("Fiona" "is" "kind" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3