Bob is rough. Bob is smart. Bob is white. Charlie is quiet. Dave is kind. Dave is red. Dave is rough. Dave is white. Fiona is kind. Fiona is quiet. Fiona is rough. Fiona is white. If someone is kind then they are furry. If someone is smart then they are furry. If someone is furry and smart then they are kind.
Bob is rough.
("Bob" "is" "rough" "+")
Bob is smart.
("Bob" "is" "smart" "+")
Bob is white.
("Bob" "is" "white" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Dave is white.
("Dave" "is" "white" "+")
Fiona is kind.
("Fiona" "is" "kind" "+")
Fiona is quiet.
("Fiona" "is" "quiet" "+")
Fiona is rough.
("Fiona" "is" "rough" "+")
Fiona is white.
("Fiona" "is" "white" "+")
If someone is kind then they are furry.
((("someone" "is" "kind" "+")) -> ("someone" "is" "furry" "+"))
If someone is smart then they are furry.
((("someone" "is" "smart" "+")) -> ("someone" "is" "furry" "+"))
If someone is furry and smart then they are kind.
((("someone" "is" "furry" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "kind" "+"))
Charlie is quiet.
True
1
proof
[(triple4)]
("Charlie" "is" "quiet" "+")
triple4
Bob is not smart.
False
1
inv-proof
[(triple2)]
("Bob" "is" "smart" "-")
triple2
Fiona is furry.
True
2
proof
[(((triple9) -> rule1))]
("Fiona" "is" "furry" "+")
((triple9) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Dave is not furry.
False
2
inv-proof
[(((triple5) -> rule1))]
("Dave" "is" "furry" "-")
((triple5) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Charlie is not furry.
Unknown
inv-rconc
[@2: Charlie is furry.[CWA. Example of deepest failure = (rule1 <- rule3 <- FAIL)]]
("Charlie" "is" "furry" "-")
Charlie is kind.
Unknown
rconc
[@1: Charlie is kind.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Charlie" "is" "kind" "+")
Charlie is not red.
Unknown
inv-random
[@0: Charlie is red.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "red" "-")
Charlie is smart.
Unknown
random
[@0: Charlie is smart.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "smart" "+")
@0: Bob is rough.[(triple1)] Bob is smart.[(triple2)] Bob is white.[(triple3)] Charlie is quiet.[(triple4)] Dave is kind.[(triple5)] Dave is red.[(triple6)] Dave is rough.[(triple7)] Dave is white.[(triple8)] Fiona is kind.[(triple9)] Fiona is quiet.[(triple10)] Fiona is rough.[(triple11)] Fiona is white.[(triple12)] @1: Bob is furry.[(((triple2) -> rule2))] Dave is furry.[(((triple5) -> rule1))] Fiona is furry.[(((triple9) -> rule1))] @2: Bob is kind.[(((((triple2) -> rule2) triple2) -> rule3))]
Bob is rough.
("Bob" "is" "rough" "+")
triple1
Bob is smart.
("Bob" "is" "smart" "+")
triple2
Bob is white.
("Bob" "is" "white" "+")
triple3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple4
Dave is kind.
("Dave" "is" "kind" "+")
triple5
Dave is red.
("Dave" "is" "red" "+")
triple6
Dave is rough.
("Dave" "is" "rough" "+")
triple7
Dave is white.
("Dave" "is" "white" "+")
triple8
Fiona is kind.
("Fiona" "is" "kind" "+")
triple9
Fiona is quiet.
("Fiona" "is" "quiet" "+")
triple10
Fiona is rough.
("Fiona" "is" "rough" "+")
triple11
Fiona is white.
("Fiona" "is" "white" "+")
triple12
Bob is furry.
("Bob" "is" "furry" "+")
((triple2) -> (rule2 % int1))
Bob is furry.
("Bob" "is" "furry" "+")
int1
Dave is furry.
("Dave" "is" "furry" "+")
((triple5) -> (rule1 % int1))
Dave is furry.
("Dave" "is" "furry" "+")
int1
Fiona is furry.
("Fiona" "is" "furry" "+")
((triple9) -> (rule1 % int1))
Fiona is furry.
("Fiona" "is" "furry" "+")
int1
Bob is kind.
("Bob" "is" "kind" "+")
((((triple2) -> (rule2 % int2)) triple2) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Bob is furry.
("Bob" "is" "furry" "+")
int2