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