Bob is blue. Bob is nice. Bob is quiet. Dave is quiet. Dave is not rough. Dave is round. Fiona is blue. Fiona is furry. Fiona is not kind. Fiona is not nice. Fiona is not quiet. Fiona is rough. Blue people are not kind. Round people are kind. If someone is kind then they are not nice.
Bob is blue.
("Bob" "is" "blue" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is not rough.
("Dave" "is" "rough" "-")
Dave is round.
("Dave" "is" "round" "+")
Fiona is blue.
("Fiona" "is" "blue" "+")
Fiona is furry.
("Fiona" "is" "furry" "+")
Fiona is not kind.
("Fiona" "is" "kind" "-")
Fiona is not nice.
("Fiona" "is" "nice" "-")
Fiona is not quiet.
("Fiona" "is" "quiet" "-")
Fiona is rough.
("Fiona" "is" "rough" "+")
Blue people are not kind.
((("someone" "is" "blue" "+")) -> ("someone" "is" "kind" "-"))
Round people are kind.
((("someone" "is" "round" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind then they are not nice.
((("someone" "is" "kind" "+")) -> ("someone" "is" "nice" "-"))
Dave is not rough.
True
1
proof
[(triple5)]
("Dave" "is" "rough" "-")
triple5
Fiona is quiet.
False
1
inv-proof
[(triple11)]
("Fiona" "is" "quiet" "+")
triple11
Dave is kind.
True
2
proof
[(((triple6) -> rule2))]
("Dave" "is" "kind" "+")
((triple6) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not kind.
False
2
inv-proof
[(((triple6) -> rule2))]
("Dave" "is" "kind" "-")
((triple6) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not nice.
True
3
proof
[(((((triple6) -> rule2)) -> rule3))]
("Dave" "is" "nice" "-")
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Dave is not nice.
("Dave" "is" "nice" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is nice.
False
3
inv-proof
[(((((triple6) -> rule2)) -> rule3))]
("Dave" "is" "nice" "+")
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Dave is not nice.
("Dave" "is" "nice" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Fiona is round.
Unknown
random
[@0: Fiona is round.[CWA. Example of deepest failure = (FAIL)]]
("Fiona" "is" "round" "+")
Bob is not furry.
Unknown
inv-random
[@0: Bob is furry.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "furry" "-")
Bob is round.
Unknown
random
[@0: Bob is round.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "round" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Bob is rough.
Unknown
random
[@0: Bob is rough.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "rough" "+")
@0: Bob is blue.[(triple1)] Bob is nice.[(triple2)] Bob is quiet.[(triple3)] Dave is not rough.[(triple5)] Dave is quiet.[(triple4)] Dave is round.[(triple6)] Fiona is blue.[(triple7)] Fiona is furry.[(triple8)] Fiona is not kind.[(triple9 OR ((triple7) -> rule1))] Fiona is not nice.[(triple10)] Fiona is not quiet.[(triple11)] Fiona is rough.[(triple12)] @1: Bob is not kind.[(((triple1) -> rule1))] Dave is kind.[(((triple6) -> rule2))] @2: Dave is not nice.[(((((triple6) -> rule2)) -> rule3))]
Bob is blue.
("Bob" "is" "blue" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Dave is not rough.
("Dave" "is" "rough" "-")
triple5
Dave is quiet.
("Dave" "is" "quiet" "+")
triple4
Dave is round.
("Dave" "is" "round" "+")
triple6
Fiona is blue.
("Fiona" "is" "blue" "+")
triple7
Fiona is furry.
("Fiona" "is" "furry" "+")
triple8
Fiona is not kind.
("Fiona" "is" "kind" "-")
triple9
((triple7) -> (rule1 % int1))
Fiona is not kind.
("Fiona" "is" "kind" "-")
int1
Fiona is not nice.
("Fiona" "is" "nice" "-")
triple10
Fiona is not quiet.
("Fiona" "is" "quiet" "-")
triple11
Fiona is rough.
("Fiona" "is" "rough" "+")
triple12
Bob is not kind.
("Bob" "is" "kind" "-")
((triple1) -> (rule1 % int1))
Bob is not kind.
("Bob" "is" "kind" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
((triple6) -> (rule2 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is not nice.
("Dave" "is" "nice" "-")
((((triple6) -> (rule2 % int2))) -> (rule3 % int1))
Dave is not nice.
("Dave" "is" "nice" "-")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2