Charlie is not round. Charlie is smart. Dave is blue. Dave is cold. Dave is furry. Dave is red. Gary is smart. All round things are not young. Smart things are blue. If something is young and not smart then it is round. If Charlie is blue then Charlie is red. If something is red and not round then it is furry. All round things are cold. If something is blue and not furry then it is cold. Smart, red things are not cold.
Charlie is not round.
("Charlie" "is" "round" "-")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is blue.
("Dave" "is" "blue" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is red.
("Dave" "is" "red" "+")
Gary is smart.
("Gary" "is" "smart" "+")
All round things are not young.
((("something" "is" "round" "+")) -> ("something" "is" "young" "-"))
Smart things are blue.
((("something" "is" "smart" "+")) -> ("something" "is" "blue" "+"))
If something is young and not smart then it is round.
((("something" "is" "young" "+") ("something" "is" "smart" "~")) -> ("something" "is" "round" "+"))
If Charlie is blue then Charlie is red.
((("Charlie" "is" "blue" "+")) -> ("Charlie" "is" "red" "+"))
If something is red and not round then it is furry.
((("something" "is" "red" "+") ("something" "is" "round" "~")) -> ("something" "is" "furry" "+"))
All round things are cold.
((("something" "is" "round" "+")) -> ("something" "is" "cold" "+"))
If something is blue and not furry then it is cold.
((("something" "is" "blue" "+") ("something" "is" "furry" "~")) -> ("something" "is" "cold" "+"))
Smart, red things are not cold.
((("something" "is" "smart" "+") ("something" "is" "red" "+")) -> ("something" "is" "cold" "-"))
Dave is red.
True
1
proof
[(triple6)]
("Dave" "is" "red" "+")
triple6
Dave is not furry.
False
1
inv-proof
[(triple5)]
("Dave" "is" "furry" "-")
triple5
Charlie is blue.
True
2
proof
[(((triple2) -> rule2))]
("Charlie" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Gary is not blue.
False
2
inv-proof
[(((triple7) -> rule2))]
("Gary" "is" "blue" "-")
((triple7) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Charlie is red.
True
3
proof
[(((((triple2) -> rule2)) -> rule4))]
("Charlie" "is" "red" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is not red.
False
3
inv-proof
[(((((triple2) -> rule2)) -> rule4))]
("Charlie" "is" "red" "-")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
True
5
proof
[(((((((triple2) -> rule2)) -> rule4) triple1) -> rule5))]
("Charlie" "is" "furry" "+")
((((((triple2) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not furry.
False
5
inv-proof
[(((((((triple2) -> rule2)) -> rule4) triple1) -> rule5))]
("Charlie" "is" "furry" "-")
((((((triple2) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Gary is not cold.
Unknown
inv-rconc
[@2: Gary is cold.[CWA. Example of deepest failure = (rule6 <- rule3 <- FAIL)]]
("Gary" "is" "cold" "-")
Gary is furry.
Unknown
rconc
[@1: Gary is furry.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Gary" "is" "furry" "+")
Dave is not round.
Unknown
inv-rconc
[@1: Dave is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "round" "-")
Gary is round.
Unknown
rconc
[@1: Gary is round.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Gary" "is" "round" "+")
Gary is not red.
Unknown
inv-random
[@0: Gary is red.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "red" "-")
Dave is smart.
Unknown
random
[@0: Dave is smart.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "smart" "+")
Gary is not young.
Unknown
inv-random
[@0: Gary is young.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "young" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Charlie is not round.[(triple1)] Charlie is smart.[(triple2)] Dave is blue.[(triple3)] Dave is cold.[(triple4)] Dave is furry.[(triple5)] Dave is red.[(triple6)] Gary is smart.[(triple7)] @1: Charlie is blue.[(((triple2) -> rule2))] Gary is blue.[(((triple7) -> rule2))] @2: Charlie is red.[(((((triple2) -> rule2)) -> rule4))] @3: Charlie is furry.[(((((((triple2) -> rule2)) -> rule4) triple1) -> rule5))] Charlie is not cold.[(((triple2 ((((triple2) -> rule2)) -> rule4)) -> rule8))]
Charlie is not round.
("Charlie" "is" "round" "-")
triple1
Charlie is smart.
("Charlie" "is" "smart" "+")
triple2
Dave is blue.
("Dave" "is" "blue" "+")
triple3
Dave is cold.
("Dave" "is" "cold" "+")
triple4
Dave is furry.
("Dave" "is" "furry" "+")
triple5
Dave is red.
("Dave" "is" "red" "+")
triple6
Gary is smart.
("Gary" "is" "smart" "+")
triple7
Charlie is blue.
("Charlie" "is" "blue" "+")
((triple2) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Gary is blue.
("Gary" "is" "blue" "+")
((triple7) -> (rule2 % int1))
Gary is blue.
("Gary" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
((((triple2) -> (rule2 % int2))) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is blue.
("Charlie" "is" "blue" "+")
int2
Charlie is furry.
("Charlie" "is" "furry" "+")
((((((triple2) -> (rule2 % int3))) -> (rule4 % int2)) triple1) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3
Charlie is not cold.
("Charlie" "is" "cold" "-")
((triple2 ((((triple2) -> (rule2 % int3))) -> (rule4 % int2))) -> (rule8 % int1))
Charlie is not cold.
("Charlie" "is" "cold" "-")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is blue.
("Charlie" "is" "blue" "+")
int3