Bob is kind. Bob is nice. Bob is quiet. Dave is big. Dave is green. Dave is kind. Dave is nice. Dave is quiet. Dave is white. Gary is big. Gary is green. Gary is kind. Gary is quiet. Gary is rough. Gary is white. All green things are quiet. Big, nice things are rough. White things are green. White, quiet things are kind. All big things are rough. If Gary is white and Gary is green then Gary is big.
Bob is kind.
("Bob" "is" "kind" "+")
Bob is nice.
("Bob" "is" "nice" "+")
Bob is quiet.
("Bob" "is" "quiet" "+")
Dave is big.
("Dave" "is" "big" "+")
Dave is green.
("Dave" "is" "green" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is white.
("Dave" "is" "white" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is green.
("Gary" "is" "green" "+")
Gary is kind.
("Gary" "is" "kind" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is white.
("Gary" "is" "white" "+")
All green things are quiet.
((("something" "is" "green" "+")) -> ("something" "is" "quiet" "+"))
Big, nice things are rough.
((("something" "is" "big" "+") ("something" "is" "nice" "+")) -> ("something" "is" "rough" "+"))
White things are green.
((("something" "is" "white" "+")) -> ("something" "is" "green" "+"))
White, quiet things are kind.
((("something" "is" "white" "+") ("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
All big things are rough.
((("something" "is" "big" "+")) -> ("something" "is" "rough" "+"))
If Gary is white and Gary is green then Gary is big.
((("Gary" "is" "white" "+") ("Gary" "is" "green" "+")) -> ("Gary" "is" "big" "+"))
Gary is quiet.
True
1
proof
[(triple13 OR ((triple11) -> rule1) OR ((((triple15) -> rule3)) -> rule1))]
("Gary" "is" "quiet" "+")
triple13
((triple11) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is not white.
False
1
inv-proof
[(triple15)]
("Gary" "is" "white" "-")
triple15
Dave is rough.
True
2
proof
[(((triple4) -> rule5) OR ((triple4 triple7) -> rule2))]
("Dave" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple4 triple7) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is not rough.
False
2
inv-proof
[(((triple4) -> rule5) OR ((triple4 triple7) -> rule2))]
("Dave" "is" "rough" "-")
((triple4) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple4 triple7) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Bob is not rough.
Unknown
inv-rconc
[@1: Bob is rough.[CWA. Example of deepest failure = (rule2 <- FAIL)]]
("Bob" "is" "rough" "-")
Bob is green.
Unknown
rconc
[@1: Bob is green.[CWA. Example of deepest failure = (rule3 <- FAIL)]]
("Bob" "is" "green" "+")
Bob is not big.
Unknown
inv-random
[@0: Bob is big.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "big" "-")
Bob is white.
Unknown
random
[@0: Bob is white.[CWA. Example of deepest failure = (FAIL)]]
("Bob" "is" "white" "+")
@0: Bob is kind.[(triple1)] Bob is nice.[(triple2)] Bob is quiet.[(triple3)] Dave is big.[(triple4)] Dave is green.[(triple5 OR ((triple9) -> rule3))] Dave is kind.[(triple6 OR ((triple9 triple8) -> rule4) OR ((triple9 ((triple5) -> rule1)) -> rule4) OR ((triple9 ((((triple9) -> rule3)) -> rule1)) -> rule4))] Dave is nice.[(triple7)] Dave is quiet.[(triple8 OR ((triple5) -> rule1) OR ((((triple9) -> rule3)) -> rule1))] Dave is white.[(triple9)] Gary is big.[(triple10 OR ((triple15 triple11) -> rule6) OR ((triple15 ((triple15) -> rule3)) -> rule6))] Gary is green.[(triple11 OR ((triple15) -> rule3))] Gary is kind.[(triple12 OR ((triple15 triple13) -> rule4) OR ((triple15 ((triple11) -> rule1)) -> rule4) OR ((triple15 ((((triple15) -> rule3)) -> rule1)) -> rule4))] Gary is quiet.[(triple13 OR ((triple11) -> rule1) OR ((((triple15) -> rule3)) -> rule1))] Gary is rough.[(triple14 OR ((triple10) -> rule5) OR ((((triple15 triple11) -> rule6)) -> rule5) OR ((((triple15 ((triple15) -> rule3)) -> rule6)) -> rule5))] Gary is white.[(triple15)] @1: Dave is rough.[(((triple4) -> rule5) OR ((triple4 triple7) -> rule2))]
Bob is kind.
("Bob" "is" "kind" "+")
triple1
Bob is nice.
("Bob" "is" "nice" "+")
triple2
Bob is quiet.
("Bob" "is" "quiet" "+")
triple3
Dave is big.
("Dave" "is" "big" "+")
triple4
Dave is green.
("Dave" "is" "green" "+")
triple5
((triple9) -> (rule3 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple6
((triple9 triple8) -> (rule4 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
((triple9 ((triple5) -> (rule1 % int2))) -> (rule4 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
((triple9 ((((triple9) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is nice.
("Dave" "is" "nice" "+")
triple7
Dave is quiet.
("Dave" "is" "quiet" "+")
triple8
((triple5) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple9) -> (rule3 % int2))) -> (rule1 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is white.
("Dave" "is" "white" "+")
triple9
Gary is big.
("Gary" "is" "big" "+")
triple10
((triple15 triple11) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple15 ((triple15) -> (rule3 % int2))) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
triple11
((triple15) -> (rule3 % int1))
Gary is green.
("Gary" "is" "green" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
triple12
((triple15 triple13) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
((triple15 ((triple11) -> (rule1 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
((triple15 ((((triple15) -> (rule3 % int3))) -> (rule1 % int2))) -> (rule4 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
triple13
((triple11) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple15) -> (rule3 % int2))) -> (rule1 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is green.
("Gary" "is" "green" "+")
int2
Gary is rough.
("Gary" "is" "rough" "+")
triple14
((triple10) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
((((triple15 triple11) -> (rule6 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple15 ((triple15) -> (rule3 % int3))) -> (rule6 % int2))) -> (rule5 % int1))
Gary is rough.
("Gary" "is" "rough" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is green.
("Gary" "is" "green" "+")
int3
Gary is white.
("Gary" "is" "white" "+")
triple15
Dave is rough.
("Dave" "is" "rough" "+")
((triple4) -> (rule5 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((triple4 triple7) -> (rule2 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1