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