Charlie is not furry. Dave is not nice. Gary is round. If someone is round then they are nice. Young people are not round. All nice people are cold. If someone is young and not round then they are not cold. If someone is nice and not round then they are not quiet. All cold people are not furry. If someone is round and quiet then they are furry. If Gary is quiet and Gary is round then Gary is cold.
Charlie is not furry.
("Charlie" "is" "furry" "-")
Dave is not nice.
("Dave" "is" "nice" "-")
Gary is round.
("Gary" "is" "round" "+")
If someone is round then they are nice.
((("someone" "is" "round" "+")) -> ("someone" "is" "nice" "+"))
Young people are not round.
((("someone" "is" "young" "+")) -> ("someone" "is" "round" "-"))
All nice people are cold.
((("someone" "is" "nice" "+")) -> ("someone" "is" "cold" "+"))
If someone is young and not round then they are not cold.
((("someone" "is" "young" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "cold" "-"))
If someone is nice and not round then they are not quiet.
((("someone" "is" "nice" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "quiet" "-"))
All cold people are not furry.
((("someone" "is" "cold" "+")) -> ("someone" "is" "furry" "-"))
If someone is round and quiet then they are furry.
((("someone" "is" "round" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "furry" "+"))
If Gary is quiet and Gary is round then Gary is cold.
((("Gary" "is" "quiet" "+") ("Gary" "is" "round" "+")) -> ("Gary" "is" "cold" "+"))
Charlie is not furry.
True
1
proof
[(triple1)]
("Charlie" "is" "furry" "-")
triple1
Gary is not round.
False
1
inv-proof
[(triple3)]
("Gary" "is" "round" "-")
triple3
Gary is nice.
True
2
proof
[(((triple3) -> rule1))]
("Gary" "is" "nice" "+")
((triple3) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not nice.
False
2
inv-proof
[(((triple3) -> rule1))]
("Gary" "is" "nice" "-")
((triple3) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
True
3
proof
[(((((triple3) -> rule1)) -> rule3))]
("Gary" "is" "cold" "+")
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not cold.
False
3
inv-proof
[(((((triple3) -> rule1)) -> rule3))]
("Gary" "is" "cold" "-")
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not furry.
True
4
proof
[(((((((triple3) -> rule1)) -> rule3)) -> rule6))]
("Gary" "is" "furry" "-")
((((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is not furry.
("Gary" "is" "furry" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is furry.
False
4
inv-proof
[(((((((triple3) -> rule1)) -> rule3)) -> rule6))]
("Gary" "is" "furry" "+")
((((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is not furry.
("Gary" "is" "furry" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Charlie is not cold.
Unknown
inv-rconc
[@2: Charlie is cold.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Charlie" "is" "cold" "-")
Dave is cold.
Unknown
rconc
[@1: Dave is cold.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "cold" "+")
Charlie is not nice.
Unknown
inv-rconc
[@1: Charlie is nice.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Charlie" "is" "nice" "-")
Dave is furry.
Unknown
rconc
[@1: Dave is furry.[CWA. Example of deepest failure = (rule7 <- FAIL)]]
("Dave" "is" "furry" "+")
Dave is not green.
Unknown
inv-random
[@0: Dave is green.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "green" "-")
Gary is quiet.
Unknown
random
[@0: Gary is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "quiet" "+")
Charlie is not round.
Unknown
inv-random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "-")
Charlie is quiet.
Unknown
random
[@0: Charlie is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "quiet" "+")
@0: Charlie is not furry.[(triple1)] Dave is not nice.[(triple2)] Gary is round.[(triple3)] @1: Gary is nice.[(((triple3) -> rule1))] @2: Gary is cold.[(((((triple3) -> rule1)) -> rule3))] @3: Gary is not furry.[(((((((triple3) -> rule1)) -> rule3)) -> rule6))]
Charlie is not furry.
("Charlie" "is" "furry" "-")
triple1
Dave is not nice.
("Dave" "is" "nice" "-")
triple2
Gary is round.
("Gary" "is" "round" "+")
triple3
Gary is nice.
("Gary" "is" "nice" "+")
((triple3) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is cold.
("Gary" "is" "cold" "+")
((((triple3) -> (rule1 % int2))) -> (rule3 % int1))
Gary is cold.
("Gary" "is" "cold" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is not furry.
("Gary" "is" "furry" "-")
((((((triple3) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule6 % int1))
Gary is not furry.
("Gary" "is" "furry" "-")
int1
Gary is cold.
("Gary" "is" "cold" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3