Bob is cold. Bob is furry. Dave is cold. Dave is furry. Dave is not quiet. Dave is red. Dave is round. Dave is white. Dave is young. Fiona is not cold. Fiona is furry. Fiona is quiet. Fiona is red. Fiona is white. Fiona is young. If someone is round and white then they are young. Quiet, white people are round. If someone is furry and not red then they are not round. If Fiona is red and Fiona is young then Fiona is white. All round, young people are white. If someone is round then they are furry. If Dave is quiet then Dave is young. If Fiona is furry and Fiona is not round then Fiona is cold.
Bob is cold.
("Bob" "is" "cold" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is not quiet.
("Dave" "is" "quiet" "-")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is white.
("Dave" "is" "white" "+")
Dave is young.
("Dave" "is" "young" "+")
Fiona is not cold.
("Fiona" "is" "cold" "-")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is white.
("Fiona" "is" "white" "+")
Fiona is young.
("Fiona" "is" "young" "+")
If someone is round and white then they are young.
((("someone" "is" "round" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "young" "+"))
Quiet, white people are round.
((("someone" "is" "quiet" "+") ("someone" "is" "white" "+")) -> ("someone" "is" "round" "+"))
If someone is furry and not red then they are not round.
((("someone" "is" "furry" "+") ("someone" "is" "red" "~")) -> ("someone" "is" "round" "-"))
If Fiona is red and Fiona is young then Fiona is white.
((("Fiona" "is" "red" "+") ("Fiona" "is" "young" "+")) -> ("Fiona" "is" "white" "+"))
All round, young people are white.
((("someone" "is" "round" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "white" "+"))
If someone is round then they are furry.
((("someone" "is" "round" "+")) -> ("someone" "is" "furry" "+"))
If Dave is quiet then Dave is young.
((("Dave" "is" "quiet" "+")) -> ("Dave" "is" "young" "+"))
If Fiona is furry and Fiona is not round then Fiona is cold.
((("Fiona" "is" "furry" "+") ("Fiona" "is" "round" "~")) -> ("Fiona" "is" "cold" "+"))
Bob is cold.
True
1
proof
[(triple1)]
("Bob" "is" "cold" "+")
triple1
Bob is not furry.
False
1
inv-proof
[(triple2)]
("Bob" "is" "furry" "-")
triple2
Fiona is round.
True
3
proof
[(((triple12 triple14) -> rule2) OR ((triple12 ((triple13 triple15) -> rule4)) -> rule2))]
("Fiona" "is" "round" "+")
((triple12 triple14) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple12 ((triple13 triple15) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Fiona is not round.
False
3
inv-proof
[(((triple12 triple14) -> rule2) OR ((triple12 ((triple13 triple15) -> rule4)) -> rule2))]
("Fiona" "is" "round" "-")
((triple12 triple14) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple12 ((triple13 triple15) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2
Bob is not white.
Unknown
inv-rconc
[@2: Bob is white.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Bob" "is" "white" "-")
Bob is round.
Unknown
rconc
[@1: Bob is round.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "round" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
@0: Bob is cold.[(triple1)] Bob is furry.[(triple2)] Dave is cold.[(triple3)] Dave is furry.[(triple4 OR ((triple7) -> rule6))] Dave is not quiet.[(triple5)] Dave is red.[(triple6)] Dave is round.[(triple7)] Dave is white.[(triple8 OR ((triple7 triple9) -> rule5))] Dave is young.[(triple9 OR ((triple7 triple8) -> rule1))] Fiona is furry.[(triple11 OR ((((triple12 triple14) -> rule2)) -> rule6) OR ((((triple12 ((triple13 triple15) -> rule4)) -> rule2)) -> rule6))] Fiona is not cold.[(triple10)] Fiona is quiet.[(triple12)] Fiona is red.[(triple13)] Fiona is white.[(triple14 OR ((triple13 triple15) -> rule4))] Fiona is young.[(triple15 OR ((((triple12 triple14) -> rule2) triple14) -> rule1))] @1: Fiona is round.[(((triple12 triple14) -> rule2) OR ((triple12 ((triple13 triple15) -> rule4)) -> rule2))]
Bob is cold.
("Bob" "is" "cold" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
Dave is cold.
("Dave" "is" "cold" "+")
triple3
Dave is furry.
("Dave" "is" "furry" "+")
triple4
((triple7) -> (rule6 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Dave is not quiet.
("Dave" "is" "quiet" "-")
triple5
Dave is red.
("Dave" "is" "red" "+")
triple6
Dave is round.
("Dave" "is" "round" "+")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
((triple7 triple9) -> (rule5 % int1))
Dave is white.
("Dave" "is" "white" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple9
((triple7 triple8) -> (rule1 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
triple11
((((triple12 triple14) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
((((triple12 ((triple13 triple15) -> (rule4 % int3))) -> (rule2 % int2))) -> (rule6 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is white.
("Fiona" "is" "white" "+")
int3
Fiona is not cold.
("Fiona" "is" "cold" "-")
triple10
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple12
Fiona is red.
("Fiona" "is" "red" "+")
triple13
Fiona is white.
("Fiona" "is" "white" "+")
triple14
((triple13 triple15) -> (rule4 % int1))
Fiona is white.
("Fiona" "is" "white" "+")
int1
Fiona is young.
("Fiona" "is" "young" "+")
triple15
((((triple12 triple14) -> (rule2 % int2)) triple14) -> (rule1 % int1))
Fiona is young.
("Fiona" "is" "young" "+")
int1
Fiona is round.
("Fiona" "is" "round" "+")
int2
Fiona is round.
("Fiona" "is" "round" "+")
((triple12 triple14) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
((triple12 ((triple13 triple15) -> (rule4 % int2))) -> (rule2 % int1))
Fiona is round.
("Fiona" "is" "round" "+")
int1
Fiona is white.
("Fiona" "is" "white" "+")
int2