Charlie is quiet. Charlie is round. Charlie is white. Charlie is young. Gary is big. Gary is nice. Gary is quiet. Gary is rough. Gary is round. Gary is white. Gary is young. Harry is big. Harry is nice. Harry is quiet. Harry is rough. Harry is white. If Harry is young and Harry is rough then Harry is big. All white, big people are nice. All big people are white. All rough, quiet people are big. If Charlie is nice and Charlie is quiet then Charlie is rough. White, young people are big.
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is white.
("Charlie" "is" "white" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is nice.
("Gary" "is" "nice" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is white.
("Gary" "is" "white" "+")
Gary is young.
("Gary" "is" "young" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is nice.
("Harry" "is" "nice" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is rough.
("Harry" "is" "rough" "+")
Harry is white.
("Harry" "is" "white" "+")
If Harry is young and Harry is rough then Harry is big.
((("Harry" "is" "young" "+") ("Harry" "is" "rough" "+")) -> ("Harry" "is" "big" "+"))
All white, big people are nice.
((("someone" "is" "white" "+") ("someone" "is" "big" "+")) -> ("someone" "is" "nice" "+"))
All big people are white.
((("someone" "is" "big" "+")) -> ("someone" "is" "white" "+"))
All rough, quiet people are big.
((("someone" "is" "rough" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "big" "+"))
If Charlie is nice and Charlie is quiet then Charlie is rough.
((("Charlie" "is" "nice" "+") ("Charlie" "is" "quiet" "+")) -> ("Charlie" "is" "rough" "+"))
White, young people are big.
((("someone" "is" "white" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
Gary is nice.
True
1
proof
[(triple6 OR ((triple10 triple5) -> rule2) OR ((triple10 ((triple10 triple11) -> rule6)) -> rule2) OR ((triple10 ((triple8 triple7) -> rule4)) -> rule2) OR ((((triple5) -> rule3) triple5) -> rule2) OR ((((triple5) -> rule3) ((triple10 triple11) -> rule6)) -> rule2) OR ((((triple5) -> rule3) ((triple8 triple7) -> rule4)) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) triple5) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) ((triple10 triple11) -> rule6)) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) ((triple8 triple7) -> rule4)) -> rule2))]
("Gary" "is" "nice" "+")
triple6
((triple10 triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple10 ((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((triple10 ((triple8 triple7) -> (rule4 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple5) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((triple5) -> (rule3 % int3)) ((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((triple5) -> (rule3 % int3)) ((triple8 triple7) -> (rule4 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) ((triple10 triple11) -> (rule6 % int3))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) ((triple8 triple7) -> (rule4 % int3))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Harry is not quiet.
False
1
inv-proof
[(triple14)]
("Harry" "is" "quiet" "-")
triple14
Harry is not round.
Unknown
inv-random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "-")
Harry is young.
Unknown
random
[@0: Harry is young.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "young" "+")
@0: Charlie is quiet.[(triple1)] Charlie is round.[(triple2)] Charlie is white.[(triple3)] Charlie is young.[(triple4)] Gary is big.[(triple5 OR ((triple10 triple11) -> rule6) OR ((triple8 triple7) -> rule4))] Gary is nice.[(triple6 OR ((triple10 triple5) -> rule2) OR ((triple10 ((triple10 triple11) -> rule6)) -> rule2) OR ((triple10 ((triple8 triple7) -> rule4)) -> rule2) OR ((((triple5) -> rule3) triple5) -> rule2) OR ((((triple5) -> rule3) ((triple10 triple11) -> rule6)) -> rule2) OR ((((triple5) -> rule3) ((triple8 triple7) -> rule4)) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) triple5) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) ((triple10 triple11) -> rule6)) -> rule2) OR ((((((triple8 triple7) -> rule4)) -> rule3) ((triple8 triple7) -> rule4)) -> rule2))] Gary is quiet.[(triple7)] Gary is rough.[(triple8)] Gary is round.[(triple9)] Gary is white.[(triple10 OR ((triple5) -> rule3) OR ((((triple8 triple7) -> rule4)) -> rule3))] Gary is young.[(triple11)] Harry is big.[(triple12 OR ((triple15 triple14) -> rule4))] Harry is nice.[(triple13 OR ((triple16 triple12) -> rule2) OR ((triple16 ((triple15 triple14) -> rule4)) -> rule2) OR ((((triple12) -> rule3) triple12) -> rule2) OR ((((triple12) -> rule3) ((triple15 triple14) -> rule4)) -> rule2) OR ((((((triple15 triple14) -> rule4)) -> rule3) triple12) -> rule2) OR ((((((triple15 triple14) -> rule4)) -> rule3) ((triple15 triple14) -> rule4)) -> rule2))] Harry is quiet.[(triple14)] Harry is rough.[(triple15)] Harry is white.[(triple16 OR ((triple12) -> rule3) OR ((((triple15 triple14) -> rule4)) -> rule3))] @1: Charlie is big.[(((triple3 triple4) -> rule6))] @2: Charlie is nice.[(((triple3 ((triple3 triple4) -> rule6)) -> rule2))] @3: Charlie is rough.[(((((triple3 ((triple3 triple4) -> rule6)) -> rule2) triple1) -> rule5))]
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple1
Charlie is round.
("Charlie" "is" "round" "+")
triple2
Charlie is white.
("Charlie" "is" "white" "+")
triple3
Charlie is young.
("Charlie" "is" "young" "+")
triple4
Gary is big.
("Gary" "is" "big" "+")
triple5
((triple10 triple11) -> (rule6 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
((triple8 triple7) -> (rule4 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
triple6
((triple10 triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
((triple10 ((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((triple10 ((triple8 triple7) -> (rule4 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
((((triple5) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
((((triple5) -> (rule3 % int3)) ((triple10 triple11) -> (rule6 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((triple5) -> (rule3 % int3)) ((triple8 triple7) -> (rule4 % int2))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is white.
("Gary" "is" "white" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) triple5) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) ((triple10 triple11) -> (rule6 % int3))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
((((((triple8 triple7) -> (rule4 % int3))) -> (rule3 % int2)) ((triple8 triple7) -> (rule4 % int3))) -> (rule2 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Gary is white.
("Gary" "is" "white" "+")
int2
Gary is big.
("Gary" "is" "big" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
triple7
Gary is rough.
("Gary" "is" "rough" "+")
triple8
Gary is round.
("Gary" "is" "round" "+")
triple9
Gary is white.
("Gary" "is" "white" "+")
triple10
((triple5) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
((((triple8 triple7) -> (rule4 % int2))) -> (rule3 % int1))
Gary is white.
("Gary" "is" "white" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is young.
("Gary" "is" "young" "+")
triple11
Harry is big.
("Harry" "is" "big" "+")
triple12
((triple15 triple14) -> (rule4 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
triple13
((triple16 triple12) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((triple16 ((triple15 triple14) -> (rule4 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple12) -> (rule3 % int2)) triple12) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
((((triple12) -> (rule3 % int3)) ((triple15 triple14) -> (rule4 % int2))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is white.
("Harry" "is" "white" "+")
int3
((((((triple15 triple14) -> (rule4 % int3))) -> (rule3 % int2)) triple12) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((((((triple15 triple14) -> (rule4 % int3))) -> (rule3 % int2)) ((triple15 triple14) -> (rule4 % int3))) -> (rule2 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is white.
("Harry" "is" "white" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple14
Harry is rough.
("Harry" "is" "rough" "+")
triple15
Harry is white.
("Harry" "is" "white" "+")
triple16
((triple12) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
((((triple15 triple14) -> (rule4 % int2))) -> (rule3 % int1))
Harry is white.
("Harry" "is" "white" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
((triple3 triple4) -> (rule6 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
((triple3 ((triple3 triple4) -> (rule6 % int2))) -> (rule2 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((triple3 ((triple3 triple4) -> (rule6 % int3))) -> (rule2 % int2)) triple1) -> (rule5 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3