Bob is big. Bob is blue. Bob is kind. Bob is not red. Bob is round. Charlie is blue. Charlie is red. Erin is blue. Erin is furry. Erin is kind. Erin is quiet. Erin is not red. Erin is round. Fiona is red. Fiona is round. If Fiona is red and Fiona is quiet then Fiona is not furry. Red things are blue. If Bob is red then Bob is kind. Big, quiet things are furry. All round, blue things are quiet. Furry, blue things are not red.
Bob is big.
("Bob" "is" "big" "+")
Bob is blue.
("Bob" "is" "blue" "+")
Bob is kind.
("Bob" "is" "kind" "+")
Bob is not red.
("Bob" "is" "red" "-")
Bob is round.
("Bob" "is" "round" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Erin is blue.
("Erin" "is" "blue" "+")
Erin is furry.
("Erin" "is" "furry" "+")
Erin is kind.
("Erin" "is" "kind" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is not red.
("Erin" "is" "red" "-")
Erin is round.
("Erin" "is" "round" "+")
Fiona is red.
("Fiona" "is" "red" "+")
Fiona is round.
("Fiona" "is" "round" "+")
If Fiona is red and Fiona is quiet then Fiona is not furry.
((("Fiona" "is" "red" "+") ("Fiona" "is" "quiet" "+")) -> ("Fiona" "is" "furry" "-"))
Red things are blue.
((("something" "is" "red" "+")) -> ("something" "is" "blue" "+"))
If Bob is red then Bob is kind.
((("Bob" "is" "red" "+")) -> ("Bob" "is" "kind" "+"))
Big, quiet things are furry.
((("something" "is" "big" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "furry" "+"))
All round, blue things are quiet.
((("something" "is" "round" "+") ("something" "is" "blue" "+")) -> ("something" "is" "quiet" "+"))
Furry, blue things are not red.
((("something" "is" "furry" "+") ("something" "is" "blue" "+")) -> ("something" "is" "red" "-"))
Fiona is red.
True
1
proof
[(triple14)]
("Fiona" "is" "red" "+")
triple14
Bob is not big.
False
1
inv-proof
[(triple1)]
("Bob" "is" "big" "-")
triple1
Bob is quiet.
True
3
proof
[(((triple5 triple2) -> rule5))]
("Bob" "is" "quiet" "+")
((triple5 triple2) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Fiona is not blue.
False
2
inv-proof
[(((triple14) -> rule2))]
("Fiona" "is" "blue" "-")
((triple14) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Fiona is quiet.
True
4
proof
[(((triple15 ((triple14) -> rule2)) -> rule5))]
("Fiona" "is" "quiet" "+")
((triple15 ((triple14) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not quiet.
False
4
inv-proof
[(((triple15 ((triple14) -> rule2)) -> rule5))]
("Fiona" "is" "quiet" "-")
((triple15 ((triple14) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not furry.
True
6
proof
[(((triple14 ((triple15 ((triple14) -> rule2)) -> rule5)) -> rule1))]
("Fiona" "is" "furry" "-")
((triple14 ((triple15 ((triple14) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Fiona is furry.
False
6
inv-proof
[(((triple14 ((triple15 ((triple14) -> rule2)) -> rule5)) -> rule1))]
("Fiona" "is" "furry" "+")
((triple14 ((triple15 ((triple14) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3
Charlie is not furry.
Unknown
inv-rconc
[@1: Charlie is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is quiet.
Unknown
rconc
[@1: Charlie is quiet.[CWA. Example of deepest failure = (rule5 <- FAIL)]]
("Charlie" "is" "quiet" "+")
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Charlie is big.
Unknown
random
[@0: Charlie is big.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "big" "+")
Erin is not big.
Unknown
inv-random
[@0: Erin is big.[CWA. Example of deepest failure = (FAIL)]]
("Erin" "is" "big" "-")
Fiona is big.
Unknown
random
[@0: Fiona is big.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "big" "+")
Charlie is not round.
Unknown
inv-random
[@0: Charlie is round.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "round" "-")
Fiona is kind.
Unknown
random
[@0: Fiona is kind.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "kind" "+")
@0: Bob is big.[(triple1)] Bob is blue.[(triple2)] Bob is kind.[(triple3)] Bob is not red.[(triple4 OR ((((triple1 ((triple5 triple2) -> rule5)) -> rule4) triple2) -> rule6))] Bob is round.[(triple5)] Charlie is blue.[(triple6 OR ((triple7) -> rule2))] Charlie is red.[(triple7)] Erin is blue.[(triple8)] Erin is furry.[(triple9)] Erin is kind.[(triple10)] Erin is not red.[(triple12 OR ((triple9 triple8) -> rule6))] Erin is quiet.[(triple11 OR ((triple13 triple8) -> rule5))] Erin is round.[(triple13)] Fiona is red.[(triple14)] Fiona is round.[(triple15)] @1: Bob is quiet.[(((triple5 triple2) -> rule5))] Fiona is blue.[(((triple14) -> rule2))] @2: Bob is furry.[(((triple1 ((triple5 triple2) -> rule5)) -> rule4))] Fiona is quiet.[(((triple15 ((triple14) -> rule2)) -> rule5))] @3: Fiona is not furry.[(((triple14 ((triple15 ((triple14) -> rule2)) -> rule5)) -> rule1))]
Bob is big.
("Bob" "is" "big" "+")
triple1
Bob is blue.
("Bob" "is" "blue" "+")
triple2
Bob is kind.
("Bob" "is" "kind" "+")
triple3
Bob is not red.
("Bob" "is" "red" "-")
triple4
((((triple1 ((triple5 triple2) -> (rule5 % int3))) -> (rule4 % int2)) triple2) -> (rule6 % int1))
Bob is not red.
("Bob" "is" "red" "-")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2
Bob is quiet.
("Bob" "is" "quiet" "+")
int3
Bob is round.
("Bob" "is" "round" "+")
triple5
Charlie is blue.
("Charlie" "is" "blue" "+")
triple6
((triple7) -> (rule2 % int1))
Charlie is blue.
("Charlie" "is" "blue" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
triple7
Erin is blue.
("Erin" "is" "blue" "+")
triple8
Erin is furry.
("Erin" "is" "furry" "+")
triple9
Erin is kind.
("Erin" "is" "kind" "+")
triple10
Erin is not red.
("Erin" "is" "red" "-")
triple12
((triple9 triple8) -> (rule6 % int1))
Erin is not red.
("Erin" "is" "red" "-")
int1
Erin is quiet.
("Erin" "is" "quiet" "+")
triple11
((triple13 triple8) -> (rule5 % int1))
Erin is quiet.
("Erin" "is" "quiet" "+")
int1
Erin is round.
("Erin" "is" "round" "+")
triple13
Fiona is red.
("Fiona" "is" "red" "+")
triple14
Fiona is round.
("Fiona" "is" "round" "+")
triple15
Bob is quiet.
("Bob" "is" "quiet" "+")
((triple5 triple2) -> (rule5 % int1))
Bob is quiet.
("Bob" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
((triple14) -> (rule2 % int1))
Fiona is blue.
("Fiona" "is" "blue" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
((triple1 ((triple5 triple2) -> (rule5 % int2))) -> (rule4 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is quiet.
("Bob" "is" "quiet" "+")
int2
Fiona is quiet.
("Fiona" "is" "quiet" "+")
((triple15 ((triple14) -> (rule2 % int2))) -> (rule5 % int1))
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int1
Fiona is blue.
("Fiona" "is" "blue" "+")
int2
Fiona is not furry.
("Fiona" "is" "furry" "-")
((triple14 ((triple15 ((triple14) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Fiona is not furry.
("Fiona" "is" "furry" "-")
int1
Fiona is quiet.
("Fiona" "is" "quiet" "+")
int2
Fiona is blue.
("Fiona" "is" "blue" "+")
int3