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