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