Bob is furry. Bob is quiet. Bob is white. Charlie is green. Charlie is round. Charlie is white. Fiona is cold. Fiona is furry. Fiona is quiet. Fiona is round. If Fiona is white and Fiona is nice then Fiona is furry. Nice, quiet things are green. All quiet, furry things are round. Cold, round things are green. If something is quiet then it is round. If Fiona is round and Fiona is cold then Fiona is furry.
Bob is furry.
("Bob" "is" "furry" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is green.
("Charlie" "is" "green" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Fiona is cold.
("Fiona" "is" "cold" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If Fiona is white and Fiona is nice then Fiona is furry.
((("Fiona" "is" "white" "+") ("Fiona" "is" "nice" "+")) -> ("Fiona" "is" "furry" "+"))
Nice, quiet things are green.
((("something" "is" "nice" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "green" "+"))
All quiet, furry things are round.
((("something" "is" "quiet" "+") ("something" "is" "furry" "+")) -> ("something" "is" "round" "+"))
Cold, round things are green.
((("something" "is" "cold" "+") ("something" "is" "round" "+")) -> ("something" "is" "green" "+"))
If something is quiet then it is round.
((("something" "is" "quiet" "+")) -> ("something" "is" "round" "+"))
If Fiona is round and Fiona is cold then Fiona is furry.
((("Fiona" "is" "round" "+") ("Fiona" "is" "cold" "+")) -> ("Fiona" "is" "furry" "+"))
Fiona is round.
True
1
proof
[(triple10 OR ((triple9) -> rule5) OR ((triple9 triple8) -> rule3))]
("Fiona" "is" "round" "+")
triple10
((triple9) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple9 triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is not round.
False
1
inv-proof
[(triple10 OR ((triple9) -> rule5) OR ((triple9 triple8) -> rule3))]
("Fiona" "is" "round" "-")
triple10
((triple9) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple9 triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Bob is round.
True
2
proof
[(((triple2) -> rule5) OR ((triple2 triple1) -> rule3))]
("Bob" "is" "round" "+")
((triple2) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is not round.
False
2
inv-proof
[(((triple2) -> rule5) OR ((triple2 triple1) -> rule3))]
("Bob" "is" "round" "-")
((triple2) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is not green.
Unknown
inv-rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "green" "-")
Bob is nice.
Unknown
random
[@0: Bob is nice.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "nice" "+")
Charlie is not nice.
Unknown
inv-random
[@0: Charlie is nice.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "nice" "-")
Fiona is nice.
Unknown
random
[@0: Fiona is nice.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "nice" "+")
@0: Bob is furry.[(triple1)] Bob is quiet.[(triple2)] Bob is white.[(triple3)] Charlie is green.[(triple4)] Charlie is round.[(triple5)] Charlie is white.[(triple6)] Fiona is cold.[(triple7)] Fiona is furry.[(triple8 OR ((triple10 triple7) -> rule6) OR ((((triple9) -> rule5) triple7) -> rule6))] Fiona is quiet.[(triple9)] Fiona is round.[(triple10 OR ((triple9) -> rule5) OR ((triple9 triple8) -> rule3))] @1: Bob is round.[(((triple2) -> rule5) OR ((triple2 triple1) -> rule3))] Fiona is green.[(((triple7 triple10) -> rule4) OR ((triple7 ((triple9) -> rule5)) -> rule4) OR ((triple7 ((triple9 triple8) -> rule3)) -> rule4))]
Bob is furry.
("Bob" "is" "furry" "+")
triple1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
Charlie is white.
("Charlie" "is" "white" "+")
triple6
Fiona is cold.
("Fiona" "is" "cold" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
((triple10 triple7) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
((((triple9) -> (rule5 % int2)) triple7) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple9
Fiona is round.
("Fiona" "is" "round" "+")
triple10
((triple9) -> (rule5 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple9 triple8) -> (rule3 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
((triple2) -> (rule5 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
((triple2 triple1) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Fiona is green.
("Fiona" "is" "green" "+")
((triple7 triple10) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
((triple7 ((triple9) -> (rule5 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((triple7 ((triple9 triple8) -> (rule3 % int2))) -> (rule4 % int1))
Fiona is green.
("Fiona" "is" "green" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2