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