Anne is nice. Bob is rough. Dave is nice. If something is rough then it is green. If Bob is rough and Bob is green then Bob is not big. All green things are round. If Dave is round and Dave is not green then Dave is not quiet. If something is red and nice then it is not quiet. If something is quiet then it is big. If something is quiet and not green then it is not nice. All round things are nice.
Anne is nice.
("Anne" "is" "nice" "+")
Bob is rough.
("Bob" "is" "rough" "+")
Dave is nice.
("Dave" "is" "nice" "+")
If something is rough then it is green.
((("something" "is" "rough" "+")) -> ("something" "is" "green" "+"))
If Bob is rough and Bob is green then Bob is not big.
((("Bob" "is" "rough" "+") ("Bob" "is" "green" "+")) -> ("Bob" "is" "big" "-"))
All green things are round.
((("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
If Dave is round and Dave is not green then Dave is not quiet.
((("Dave" "is" "round" "+") ("Dave" "is" "green" "~")) -> ("Dave" "is" "quiet" "-"))
If something is red and nice then it is not quiet.
((("something" "is" "red" "+") ("something" "is" "nice" "+")) -> ("something" "is" "quiet" "-"))
If something is quiet then it is big.
((("something" "is" "quiet" "+")) -> ("something" "is" "big" "+"))
If something is quiet and not green then it is not nice.
((("something" "is" "quiet" "+") ("something" "is" "green" "~")) -> ("something" "is" "nice" "-"))
All round things are nice.
((("something" "is" "round" "+")) -> ("something" "is" "nice" "+"))
Bob is rough.
True
1
proof
[(triple2)]
("Bob" "is" "rough" "+")
triple2
Anne is not nice.
False
1
inv-proof
[(triple1)]
("Anne" "is" "nice" "-")
triple1
Bob is green.
True
2
proof
[(((triple2) -> rule1))]
("Bob" "is" "green" "+")
((triple2) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not green.
False
2
inv-proof
[(((triple2) -> rule1))]
("Bob" "is" "green" "-")
((triple2) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is round.
True
3
proof
[(((((triple2) -> rule1)) -> rule3))]
("Bob" "is" "round" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is big.
False
4
inv-proof
[(((triple2 ((triple2) -> rule1)) -> rule2))]
("Bob" "is" "big" "+")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
True
4
proof
[(((((((triple2) -> rule1)) -> rule3)) -> rule8))]
("Bob" "is" "nice" "+")
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Bob is not nice.
False
4
inv-proof
[(((((((triple2) -> rule1)) -> rule3)) -> rule8))]
("Bob" "is" "nice" "-")
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3
Anne is not big.
Unknown
inv-rconc
[@1: Anne is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Anne" "is" "big" "-")
Dave is green.
Unknown
rconc
[@1: Dave is green.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "green" "+")
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is round.
Unknown
rconc
[@2: Dave is round.[CWA. Example of deepest failure = (rule3 <- rule1 <- FAIL)]]
("Dave" "is" "round" "+")
Bob is not quiet.
Unknown
inv-random
[@0: Bob is quiet.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "quiet" "-")
Bob is red.
Unknown
random
[@0: Bob is red.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "red" "+")
Anne is not red.
Unknown
inv-random
[@0: Anne is red.[CWA. Example of deepest failure = (FAIL)]]
("Anne" "is" "red" "-")
Dave is rough.
Unknown
random
[@0: Dave is rough.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "rough" "+")
@0: Anne is nice.[(triple1)] Bob is rough.[(triple2)] Dave is nice.[(triple3)] @1: Bob is green.[(((triple2) -> rule1))] @2: Bob is not big.[(((triple2 ((triple2) -> rule1)) -> rule2))] Bob is round.[(((((triple2) -> rule1)) -> rule3))] @3: Bob is nice.[(((((((triple2) -> rule1)) -> rule3)) -> rule8))]
Anne is nice.
("Anne" "is" "nice" "+")
triple1
Bob is rough.
("Bob" "is" "rough" "+")
triple2
Dave is nice.
("Dave" "is" "nice" "+")
triple3
Bob is green.
("Bob" "is" "green" "+")
((triple2) -> (rule1 % int1))
Bob is green.
("Bob" "is" "green" "+")
int1
Bob is not big.
("Bob" "is" "big" "-")
((triple2 ((triple2) -> (rule1 % int2))) -> (rule2 % int1))
Bob is not big.
("Bob" "is" "big" "-")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is round.
("Bob" "is" "round" "+")
((((triple2) -> (rule1 % int2))) -> (rule3 % int1))
Bob is round.
("Bob" "is" "round" "+")
int1
Bob is green.
("Bob" "is" "green" "+")
int2
Bob is nice.
("Bob" "is" "nice" "+")
((((((triple2) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Bob is nice.
("Bob" "is" "nice" "+")
int1
Bob is round.
("Bob" "is" "round" "+")
int2
Bob is green.
("Bob" "is" "green" "+")
int3