Anne is green. Bob is green. Dave is kind. Fiona is quiet. Kind, round people are not white. If someone is green then they are white. If someone is quiet then they are green. Quiet, nice people are round. If someone is white then they are round. If Dave is red and Dave is not quiet then Dave is green.
Anne is green.
("Anne" "is" "green" "+")
Bob is green.
("Bob" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Kind, round people are not white.
((("someone" "is" "kind" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "white" "-"))
If someone is green then they are white.
((("someone" "is" "green" "+")) -> ("someone" "is" "white" "+"))
If someone is quiet then they are green.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "green" "+"))
Quiet, nice people are round.
((("someone" "is" "quiet" "+") ("someone" "is" "nice" "+")) -> ("someone" "is" "round" "+"))
If someone is white then they are round.
((("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If Dave is red and Dave is not quiet then Dave is green.
((("Dave" "is" "red" "+") ("Dave" "is" "quiet" "~")) -> ("Dave" "is" "green" "+"))
Anne is green.
True
1
proof
[(triple1)]
("Anne" "is" "green" "+")
triple1
Anne is not green.
False
1
inv-proof
[(triple1)]
("Anne" "is" "green" "-")
triple1
Bob is white.
True
2
proof
[(((triple2) -> rule2))]
("Bob" "is" "white" "+")
((triple2) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Fiona is not green.
False
2
inv-proof
[(((triple4) -> rule3))]
("Fiona" "is" "green" "-")
((triple4) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is round.
True
3
proof
[(((((triple1) -> rule2)) -> rule5))]
("Anne" "is" "round" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Anne is not round.
False
3
inv-proof
[(((((triple1) -> rule2)) -> rule5))]
("Anne" "is" "round" "-")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Fiona is round.
True
4
proof
[(((((((triple4) -> rule3)) -> rule2)) -> rule5))]
("Fiona" "is" "round" "+")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Fiona is not round.
False
4
inv-proof
[(((((((triple4) -> rule3)) -> rule2)) -> rule5))]
("Fiona" "is" "round" "-")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3
Dave is not round.
Unknown
inv-rconc
[@3: Dave is round.[CWA. Example of deepest failure = (rule5 <- rule2 <- rule3 <- FAIL)]]
("Dave" "is" "round" "-")
Dave is white.
Unknown
rconc
[@2: Dave is white.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Dave" "is" "white" "+")
Dave is not green.
Unknown
inv-rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Dave" "is" "green" "-")
Fiona is red.
Unknown
random
[@0: Fiona is red.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "red" "+")
Anne is not nice.
Unknown
inv-random
[@0: Anne is nice.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "nice" "-")
Fiona is nice.
Unknown
random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "+")
Anne is not quiet.
Unknown
inv-random
[@0: Anne is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "quiet" "-")
Bob is kind.
Unknown
random
[@0: Bob is kind.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "kind" "+")
@0: Anne is green.[(triple1)] Bob is green.[(triple2)] Dave is kind.[(triple3)] Fiona is quiet.[(triple4)] @1: Anne is white.[(((triple1) -> rule2))] Bob is white.[(((triple2) -> rule2))] Fiona is green.[(((triple4) -> rule3))] @2: Anne is round.[(((((triple1) -> rule2)) -> rule5))] Bob is round.[(((((triple2) -> rule2)) -> rule5))] Fiona is white.[(((((triple4) -> rule3)) -> rule2))] @3: Fiona is round.[(((((((triple4) -> rule3)) -> rule2)) -> rule5))]
Anne is green.
("Anne" "is" "green" "+")
triple1
Bob is green.
("Bob" "is" "green" "+")
triple2
Dave is kind.
("Dave" "is" "kind" "+")
triple3
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple4
Anne is white.
("Anne" "is" "white" "+")
((triple1) -> (rule2 % int1))
Anne is white.
("Anne" "is" "white" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
((triple2) -> (rule2 % int1))
Bob is white.
("Bob" "is" "white" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple4) -> (rule3 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Anne is round.
("Anne" "is" "round" "+")
((((triple1) -> (rule2 % int2))) -> (rule5 % int1))
Anne is round.
("Anne" "is" "round" "+")
int1
Anne is white.
("Anne" "is" "white" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((((((triple4) -> (rule3 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is green.
("Fiona" "is" "green" "+")
int3