Bob is nice. Bob is quiet. Bob is rough. Bob is round. Dave is furry. Dave is nice. Dave is rough. Erin is quiet. Erin is not round. Erin is young. If someone is rough and not quiet then they are nice. If Dave is rough then Dave is young. Quiet people are kind. If someone is quiet and not nice then they are furry. If someone is nice and not kind then they are round. If someone is kind and not round then they are young.
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Bob is round.
("Bob" "is" "round" "+")
Dave is furry.
("Dave" "is" "furry" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is rough.
("Dave" "is" "rough" "+")
Erin is quiet.
("Erin" "is" "quiet" "+")
Erin is not round.
("Erin" "is" "round" "-")
Erin is young.
("Erin" "is" "young" "+")
If someone is rough and not quiet then they are nice.
((("someone" "is" "rough" "+") ("someone" "is" "quiet" "~")) -> ("someone" "is" "nice" "+"))
If Dave is rough then Dave is young.
((("Dave" "is" "rough" "+")) -> ("Dave" "is" "young" "+"))
Quiet people are kind.
((("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
If someone is quiet and not nice then they are furry.
((("someone" "is" "quiet" "+") ("someone" "is" "nice" "~")) -> ("someone" "is" "furry" "+"))
If someone is nice and not kind then they are round.
((("someone" "is" "nice" "+") ("someone" "is" "kind" "~")) -> ("someone" "is" "round" "+"))
If someone is kind and not round then they are young.
((("someone" "is" "kind" "+") ("someone" "is" "round" "~")) -> ("someone" "is" "young" "+"))
Bob is round.
True
1
proof
[(triple4)]
("Bob" "is" "round" "+")
triple4
Bob is not round.
False
1
inv-proof
[(triple4)]
("Bob" "is" "round" "-")
triple4
Bob is not furry.
Unknown
inv-rconc
[@1: Bob is furry.[CWA. Example of deepest failure = (rule4 <- FAIL)]]
("Bob" "is" "furry" "-")
Dave is quiet.
Unknown
random
[@0: Dave is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "quiet" "+")
@0: Bob is nice.[(triple1)] Bob is quiet.[(triple2)] Bob is rough.[(triple3)] Bob is round.[(triple4)] Dave is furry.[(triple5)] Dave is nice.[(triple6)] Dave is rough.[(triple7)] Erin is not round.[(triple9)] Erin is quiet.[(triple8)] Erin is young.[(triple10 OR ((((triple8) -> rule3) triple9) -> rule6))] @1: Bob is kind.[(((triple2) -> rule3))] Dave is young.[(((triple7) -> rule2))] Erin is kind.[(((triple8) -> rule3))]
Bob is nice.
("Bob" "is" "nice" "+")
triple1
Bob is quiet.
("Bob" "is" "quiet" "+")
triple2
Bob is rough.
("Bob" "is" "rough" "+")
triple3
Bob is round.
("Bob" "is" "round" "+")
triple4
Dave is furry.
("Dave" "is" "furry" "+")
triple5
Dave is nice.
("Dave" "is" "nice" "+")
triple6
Dave is rough.
("Dave" "is" "rough" "+")
triple7
Erin is not round.
("Erin" "is" "round" "-")
triple9
Erin is quiet.
("Erin" "is" "quiet" "+")
triple8
Erin is young.
("Erin" "is" "young" "+")
triple10
((((triple8) -> (rule3 % int2)) triple9) -> (rule6 % int1))
Erin is young.
("Erin" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
int2
Bob is kind.
("Bob" "is" "kind" "+")
((triple2) -> (rule3 % int1))
Bob is kind.
("Bob" "is" "kind" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
((triple7) -> (rule2 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Erin is kind.
("Erin" "is" "kind" "+")
((triple8) -> (rule3 % int1))
Erin is kind.
("Erin" "is" "kind" "+")
int1