Charlie is blue. Dave is blue. Fiona is furry. Fiona is green. Fiona is smart. Gary is big. Gary is white. All white, smart things are blue. If something is blue then it is furry. If Gary is big and Gary is red then Gary is blue. Big, white things are furry. Furry things are red. Green, smart things are furry.
Charlie is blue.
("Charlie" "is" "blue" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is smart.
("Fiona" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is white.
("Gary" "is" "white" "+")
All white, smart things are blue.
((("something" "is" "white" "+") ("something" "is" "smart" "+")) -> ("something" "is" "blue" "+"))
If something is blue then it is furry.
((("something" "is" "blue" "+")) -> ("something" "is" "furry" "+"))
If Gary is big and Gary is red then Gary is blue.
((("Gary" "is" "big" "+") ("Gary" "is" "red" "+")) -> ("Gary" "is" "blue" "+"))
Big, white things are furry.
((("something" "is" "big" "+") ("something" "is" "white" "+")) -> ("something" "is" "furry" "+"))
Furry things are red.
((("something" "is" "furry" "+")) -> ("something" "is" "red" "+"))
Green, smart things are furry.
((("something" "is" "green" "+") ("something" "is" "smart" "+")) -> ("something" "is" "furry" "+"))
Dave is blue.
True
1
proof
[(triple2)]
("Dave" "is" "blue" "+")
triple2
Fiona is not furry.
False
1
inv-proof
[(triple3 OR ((triple4 triple5) -> rule6))]
("Fiona" "is" "furry" "-")
triple3
((triple4 triple5) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Charlie is furry.
True
2
proof
[(((triple1) -> rule2))]
("Charlie" "is" "furry" "+")
((triple1) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple2) -> rule2))]
("Dave" "is" "furry" "-")
((triple2) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Charlie is red.
True
3
proof
[(((((triple1) -> rule2)) -> rule5))]
("Charlie" "is" "red" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Dave is not red.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule5))]
("Dave" "is" "red" "-")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Gary is blue.
True
6
proof
[(((triple6 ((((triple6 triple7) -> rule4)) -> rule5)) -> rule3))]
("Gary" "is" "blue" "+")
((triple6 ((((triple6 triple7) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Gary is not blue.
False
6
inv-proof
[(((triple6 ((((triple6 triple7) -> rule4)) -> rule5)) -> rule3))]
("Gary" "is" "blue" "-")
((triple6 ((((triple6 triple7) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3
Fiona is not blue.
Unknown
inv-rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Fiona" "is" "blue" "-")
Dave is big.
Unknown
random
[@0: Dave is big.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "big" "+")
Fiona is not white.
Unknown
inv-random
[@0: Fiona is white.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "white" "-")
Charlie is white.
Unknown
random
[@0: Charlie is white.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "white" "+")
Gary is not green.
Unknown
inv-random
[@0: Gary is green.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "green" "-")
Dave is green.
Unknown
random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "+")
Gary is not smart.
Unknown
inv-random
[@0: Gary is smart.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "smart" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
@0: Charlie is blue.[(triple1)] Dave is blue.[(triple2)] Fiona is furry.[(triple3 OR ((triple4 triple5) -> rule6))] Fiona is green.[(triple4)] Fiona is smart.[(triple5)] Gary is big.[(triple6)] Gary is white.[(triple7)] @1: Charlie is furry.[(((triple1) -> rule2))] Dave is furry.[(((triple2) -> rule2))] Fiona is red.[(((triple3) -> rule5) OR ((((triple4 triple5) -> rule6)) -> rule5))] Gary is furry.[(((triple6 triple7) -> rule4))] @2: Charlie is red.[(((((triple1) -> rule2)) -> rule5))] Dave is red.[(((((triple2) -> rule2)) -> rule5))] Gary is red.[(((((triple6 triple7) -> rule4)) -> rule5))] @3: Gary is blue.[(((triple6 ((((triple6 triple7) -> rule4)) -> rule5)) -> rule3))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Dave is blue.
("Dave" "is" "blue" "+")
triple2
Fiona is furry.
("Fiona" "is" "furry" "+")
triple3
((triple4 triple5) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
triple4
Fiona is smart.
("Fiona" "is" "smart" "+")
triple5
Gary is big.
("Gary" "is" "big" "+")
triple6
Gary is white.
("Gary" "is" "white" "+")
triple7
Charlie is furry.
("Charlie" "is" "furry" "+")
((triple1) -> (rule2 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Fiona is red.
("Fiona" "is" "red" "+")
((triple3) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
((((triple4 triple5) -> (rule6 % int2))) -> (rule5 % int1))
Fiona is red.
("Fiona" "is" "red" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
((triple6 triple7) -> (rule4 % int1))
Gary is furry.
("Gary" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Dave is red.
("Dave" "is" "red" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
((((triple6 triple7) -> (rule4 % int2))) -> (rule5 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is furry.
("Gary" "is" "furry" "+")
int2
Gary is blue.
("Gary" "is" "blue" "+")
((triple6 ((((triple6 triple7) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule3 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is furry.
("Gary" "is" "furry" "+")
int3