Dave is cold. Dave is furry. Dave is rough. Erin is white. Fiona is furry. Gary is furry. Gary is rough. If someone is nice then they are not blue. If someone is cold and not kind then they are not blue. If someone is kind then they are white. All furry, kind people are cold. If Gary is rough then Gary is nice. If someone is cold then they are rough.
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is white.
("Erin" "is" "white" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Gary is furry.
("Gary" "is" "furry" "+")
Gary is rough.
("Gary" "is" "rough" "+")
If someone is nice then they are not blue.
((("someone" "is" "nice" "+")) -> ("someone" "is" "blue" "-"))
If someone is cold and not kind then they are not blue.
((("someone" "is" "cold" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "blue" "-"))
If someone is kind then they are white.
((("someone" "is" "kind" "+")) -> ("someone" "is" "white" "+"))
All furry, kind people are cold.
((("someone" "is" "furry" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "cold" "+"))
If Gary is rough then Gary is nice.
((("Gary" "is" "rough" "+")) -> ("Gary" "is" "nice" "+"))
If someone is cold then they are rough.
((("someone" "is" "cold" "+")) -> ("someone" "is" "rough" "+"))
Dave is rough.
True
1
proof
[(triple3 OR ((triple1) -> rule6))]
("Dave" "is" "rough" "+")
triple3
((triple1) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not cold.
False
1
inv-proof
[(triple1)]
("Dave" "is" "cold" "-")
triple1
Gary is nice.
True
2
proof
[(((triple7) -> rule5))]
("Gary" "is" "nice" "+")
((triple7) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not nice.
False
2
inv-proof
[(((triple7) -> rule5))]
("Gary" "is" "nice" "-")
((triple7) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not blue.
True
3
proof
[(((((triple7) -> rule5)) -> rule1))]
("Gary" "is" "blue" "-")
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Gary is blue.
False
3
inv-proof
[(((((triple7) -> rule5)) -> rule1))]
("Gary" "is" "blue" "+")
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Fiona is not rough.
Unknown
inv-rconc
[@2: Fiona is rough.[CWA. Example of deepest failure = (rule6 <- rule4 <- FAIL)]]
("Fiona" "is" "rough" "-")
Erin is cold.
Unknown
rconc
[@1: Erin is cold.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Erin" "is" "cold" "+")
Fiona is not white.
Unknown
inv-rconc
[@1: Fiona is white.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "white" "-")
Gary is kind.
Unknown
random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "+")
Fiona is not kind.
Unknown
inv-random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "-")
Erin is blue.
Unknown
random
[@0: Erin is blue.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "blue" "+")
@0: Dave is cold.[(triple1)] Dave is furry.[(triple2)] Dave is rough.[(triple3 OR ((triple1) -> rule6))] Erin is white.[(triple4)] Fiona is furry.[(triple5)] Gary is furry.[(triple6)] Gary is rough.[(triple7)] @1: Gary is nice.[(((triple7) -> rule5))] @2: Gary is not blue.[(((((triple7) -> rule5)) -> rule1))]
Dave is cold.
("Dave" "is" "cold" "+")
triple1
Dave is furry.
("Dave" "is" "furry" "+")
triple2
Dave is rough.
("Dave" "is" "rough" "+")
triple3
((triple1) -> (rule6 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Erin is white.
("Erin" "is" "white" "+")
triple4
Fiona is furry.
("Fiona" "is" "furry" "+")
triple5
Gary is furry.
("Gary" "is" "furry" "+")
triple6
Gary is rough.
("Gary" "is" "rough" "+")
triple7
Gary is nice.
("Gary" "is" "nice" "+")
((triple7) -> (rule5 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is not blue.
("Gary" "is" "blue" "-")
((((triple7) -> (rule5 % int2))) -> (rule1 % int1))
Gary is not blue.
("Gary" "is" "blue" "-")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2