Bob is blue. Bob is furry. Bob is green. Bob is nice. Bob is quiet. Bob is red. Bob is white. Charlie is blue. Charlie is nice. Fiona is furry. Fiona is quiet. Harry is blue. If Charlie is red and Charlie is furry then Charlie is quiet. If something is blue and green then it is red. If Fiona is quiet and Fiona is white then Fiona is blue. If something is nice then it is red. If something is red then it is furry. If Charlie is furry then Charlie is nice.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is furry.
("Bob" "is" "furry" "+")
Bob is green.
("Bob" "is" "green" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is red.
("Bob" "is" "red" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Harry is blue.
("Harry" "is" "blue" "+")
If Charlie is red and Charlie is furry then Charlie is quiet.
((("Charlie" "is" "red" "+") ("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "quiet" "+"))
If something is blue and green then it is red.
((("something" "is" "blue" "+") ("something" "is" "green" "+")) -> ("something" "is" "red" "+"))
If Fiona is quiet and Fiona is white then Fiona is blue.
((("Fiona" "is" "quiet" "+") ("Fiona" "is" "white" "+")) -> ("Fiona" "is" "blue" "+"))
If something is nice then it is red.
((("something" "is" "nice" "+")) -> ("something" "is" "red" "+"))
If something is red then it is furry.
((("something" "is" "red" "+")) -> ("something" "is" "furry" "+"))
If Charlie is furry then Charlie is nice.
((("Charlie" "is" "furry" "+")) -> ("Charlie" "is" "nice" "+"))
Bob is blue.
True
1
proof
[(triple1)]
("Bob" "is" "blue" "+")
triple1
Fiona is not furry.
False
1
inv-proof
[(triple10)]
("Fiona" "is" "furry" "-")
triple10
Charlie is red.
True
2
proof
[(((triple9) -> rule4))]
("Charlie" "is" "red" "+")
((triple9) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is not red.
False
2
inv-proof
[(((triple9) -> rule4))]
("Charlie" "is" "red" "-")
((triple9) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
True
3
proof
[(((((triple9) -> rule4)) -> rule5))]
("Charlie" "is" "furry" "+")
((((triple9) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is not furry.
False
3
inv-proof
[(((((triple9) -> rule4)) -> rule5))]
("Charlie" "is" "furry" "-")
((((triple9) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
True
6
proof
[(((((triple9) -> rule4) ((((triple9) -> rule4)) -> rule5)) -> rule1))]
("Charlie" "is" "quiet" "+")
((((triple9) -> (rule4 % int3)) ((((triple9) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Charlie is not quiet.
False
6
inv-proof
[(((((triple9) -> rule4) ((((triple9) -> rule4)) -> rule5)) -> rule1))]
("Charlie" "is" "quiet" "-")
((((triple9) -> (rule4 % int3)) ((((triple9) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3
Harry is not red.
Unknown
inv-rconc
[@1: Harry is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Harry" "is" "red" "-")
Fiona is red.
Unknown
rconc
[@1: Fiona is red.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Fiona" "is" "red" "+")
Harry is not furry.
Unknown
inv-rconc
[@2: Harry is furry.[CWA. Example of deepest failure = (rule5 <- rule2 <- FAIL)]]
("Harry" "is" "furry" "-")
Fiona is blue.
Unknown
rconc
[@1: Fiona is blue.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Fiona" "is" "blue" "+")
Harry is not nice.
Unknown
inv-random
[@0: Harry is nice.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "nice" "-")
Charlie is green.
Unknown
random
[@0: Charlie is green.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "green" "+")
Fiona is not green.
Unknown
inv-random
[@0: Fiona is green.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "green" "-")
Harry is quiet.
Unknown
random
[@0: Harry is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "quiet" "+")
@0: Bob is blue.[(triple1)] Bob is furry.[(triple2 OR ((triple6) -> rule5) OR ((((triple4) -> rule4)) -> rule5) OR ((((triple1 triple3) -> rule2)) -> rule5))] Bob is green.[(triple3)] Bob is nice.[(triple4)] Bob is quiet.[(triple5)] Bob is red.[(triple6 OR ((triple4) -> rule4) OR ((triple1 triple3) -> rule2))] Bob is white.[(triple7)] Charlie is blue.[(triple8)] Charlie is nice.[(triple9)] Fiona is furry.[(triple10)] Fiona is quiet.[(triple11)] Harry is blue.[(triple12)] @1: Charlie is red.[(((triple9) -> rule4))] @2: Charlie is furry.[(((((triple9) -> rule4)) -> rule5))] @3: Charlie is quiet.[(((((triple9) -> rule4) ((((triple9) -> rule4)) -> rule5)) -> rule1))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is furry.
("Bob" "is" "furry" "+")
triple2
((triple6) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
((((triple4) -> (rule4 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
((((triple1 triple3) -> (rule2 % int2))) -> (rule5 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Bob is red.
("Bob" "is" "red" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
triple3
Bob is nice.
("Bob" "is" "nice" "+")
triple4
Bob is quiet.
("Bob" "is" "quiet" "+")
triple5
Bob is red.
("Bob" "is" "red" "+")
triple6
((triple4) -> (rule4 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
((triple1 triple3) -> (rule2 % int1))
Bob is red.
("Bob" "is" "red" "+")
int1
Bob is white.
("Bob" "is" "white" "+")
triple7
Charlie is blue.
("Charlie" "is" "blue" "+")
triple8
Charlie is nice.
("Charlie" "is" "nice" "+")
triple9
Fiona is furry.
("Fiona" "is" "furry" "+")
triple10
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple11
Harry is blue.
("Harry" "is" "blue" "+")
triple12
Charlie is red.
("Charlie" "is" "red" "+")
((triple9) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
((((triple9) -> (rule4 % int2))) -> (rule5 % int1))
Charlie is furry.
("Charlie" "is" "furry" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((((triple9) -> (rule4 % int3)) ((((triple9) -> (rule4 % int3))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is furry.
("Charlie" "is" "furry" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
int3