Bob is blue. Bob is cold. Bob is furry. Bob is quiet. Erin is blue. Erin is furry. Erin is not green. Fiona is big. Fiona is cold. Fiona is not furry. Fiona is green. Fiona is nice. Cold, nice things are green. Big things are green. If something is blue and not big then it is nice. If something is quiet and big then it is nice. All green things are nice. Furry things are quiet. If Erin is cold then Erin is blue. All quiet things are cold.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is not green.
("Erin" "is" "green" "-")
Fiona is big.
("Fiona" "is" "big" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is not furry.
("Fiona" "is" "furry" "-")
Fiona is green.
("Fiona" "is" "green" "+")
Fiona is nice.
("Fiona" "is" "nice" "+")
Cold, nice things are green.
((("something" "is" "cold" "+") ("something" "is" "nice" "+")) -> ("something" "is" "green" "+"))
Big things are green.
((("something" "is" "big" "+")) -> ("something" "is" "green" "+"))
If something is blue and not big then it is nice.
((("something" "is" "blue" "+") ("something" "is" "big" "~")) -> ("something" "is" "nice" "+"))
If something is quiet and big then it is nice.
((("something" "is" "quiet" "+") ("something" "is" "big" "+")) -> ("something" "is" "nice" "+"))
All green things are nice.
((("something" "is" "green" "+")) -> ("something" "is" "nice" "+"))
Furry things are quiet.
((("something" "is" "furry" "+")) -> ("something" "is" "quiet" "+"))
If Erin is cold then Erin is blue.
((("Erin" "is" "cold" "+")) -> ("Erin" "is" "blue" "+"))
All quiet things are cold.
((("something" "is" "quiet" "+")) -> ("something" "is" "cold" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Bob is not cold.
False
1
inv-proof
[(triple2 OR ((triple4) -> rule8) OR ((((triple3) -> rule6)) -> rule8))]
("Bob" "is" "cold" "-")
triple2
((triple4) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Erin is quiet.
True
2
proof
[(((triple6) -> rule6))]
("Erin" "is" "quiet" "+")
((triple6) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is not quiet.
False
2
inv-proof
[(((triple6) -> rule6))]
("Erin" "is" "quiet" "-")
((triple6) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Bob is not green.
Unknown
inv-rconc
[@3: Bob is green.[CWA. Example of deepest failure = (rule1 <- rule5 <- rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Erin is nice.
Unknown
rconc
[@1: Erin is nice.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Erin" "is" "nice" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Erin is big.
Unknown
random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "+")
@0: Bob is blue.[(triple1)] Bob is cold.[(triple2 OR ((triple4) -> rule8) OR ((((triple3) -> rule6)) -> rule8))] Bob is furry.[(triple3)] Bob is quiet.[(triple4 OR ((triple3) -> rule6))] Erin is blue.[(triple5 OR ((((((triple6) -> rule6)) -> rule8)) -> rule7))] Erin is furry.[(triple6)] Erin is not green.[(triple7)] Fiona is big.[(triple8)] Fiona is cold.[(triple9)] Fiona is green.[(triple11 OR ((triple8) -> rule2) OR ((triple9 triple12) -> rule1))] Fiona is nice.[(triple12 OR ((triple11) -> rule5) OR ((((triple8) -> rule2)) -> rule5))] Fiona is not furry.[(triple10)] @1: Erin is quiet.[(((triple6) -> rule6))] @2: Erin is cold.[(((((triple6) -> rule6)) -> rule8))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is cold.
("Bob" "is" "cold" "+")
triple2
((triple4) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
((((triple3) -> (rule6 % int2))) -> (rule8 % int1))
Bob is cold.
("Bob" "is" "cold" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Bob is furry.
("Bob" "is" "furry" "+")
triple3
Bob is quiet.
("Bob" "is" "quiet" "+")
triple4
((triple3) -> (rule6 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Erin is blue.
("Erin" "is" "blue" "+")
triple5
((((((triple6) -> (rule6 % int3))) -> (rule8 % int2))) -> (rule7 % int1))
Erin is blue.
("Erin" "is" "blue" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
int2
Erin is quiet.
("Erin" "is" "quiet" "+")
int3
Erin is furry.
("Erin" "is" "furry" "+")
triple6
Erin is not green.
("Erin" "is" "green" "-")
triple7
Fiona is big.
("Fiona" "is" "big" "+")
triple8
Fiona is cold.
("Fiona" "is" "cold" "+")
triple9
Fiona is green.
("Fiona" "is" "green" "+")
triple11
((triple8) -> (rule2 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple9 triple12) -> (rule1 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is nice.
("Fiona" "is" "nice" "+")
triple12
((triple11) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
((((triple8) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is nice.
("Fiona" "is" "nice" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
int2
Fiona is not furry.
("Fiona" "is" "furry" "-")
triple10
Erin is quiet.
("Erin" "is" "quiet" "+")
((triple6) -> (rule6 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is cold.
("Erin" "is" "cold" "+")
((((triple6) -> (rule6 % int2))) -> (rule8 % int1))
Erin is cold.
("Erin" "is" "cold" "+")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
int2