Charlie is big. Charlie is quiet. Charlie is red. Charlie is rough. Charlie is round. Charlie is smart. Dave is kind. Dave is red. Dave is round. Dave is smart. Gary is big. Gary is quiet. Gary is red. Gary is rough. Gary is round. Gary is smart. All round, kind people are rough. If Dave is rough then Dave is round. All rough people are big. Rough people are red. Red, kind people are round. All rough people are smart. Red people are round. Big people are quiet.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is quiet.
("Charlie" "is" "quiet" "+")
Charlie is red.
("Charlie" "is" "red" "+")
Charlie is rough.
("Charlie" "is" "rough" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is red.
("Dave" "is" "red" "+")
Dave is round.
("Dave" "is" "round" "+")
Dave is smart.
("Dave" "is" "smart" "+")
Gary is big.
("Gary" "is" "big" "+")
Gary is quiet.
("Gary" "is" "quiet" "+")
Gary is red.
("Gary" "is" "red" "+")
Gary is rough.
("Gary" "is" "rough" "+")
Gary is round.
("Gary" "is" "round" "+")
Gary is smart.
("Gary" "is" "smart" "+")
All round, kind people are rough.
((("someone" "is" "round" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "rough" "+"))
If Dave is rough then Dave is round.
((("Dave" "is" "rough" "+")) -> ("Dave" "is" "round" "+"))
All rough people are big.
((("someone" "is" "rough" "+")) -> ("someone" "is" "big" "+"))
Rough people are red.
((("someone" "is" "rough" "+")) -> ("someone" "is" "red" "+"))
Red, kind people are round.
((("someone" "is" "red" "+") ("someone" "is" "kind" "+")) -> ("someone" "is" "round" "+"))
All rough people are smart.
((("someone" "is" "rough" "+")) -> ("someone" "is" "smart" "+"))
Red people are round.
((("someone" "is" "red" "+")) -> ("someone" "is" "round" "+"))
Big people are quiet.
((("someone" "is" "big" "+")) -> ("someone" "is" "quiet" "+"))
Charlie is big.
True
1
proof
[(triple1 OR ((triple4) -> rule3))]
("Charlie" "is" "big" "+")
triple1
((triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is not smart.
False
1
inv-proof
[(triple6 OR ((triple4) -> rule6))]
("Charlie" "is" "smart" "-")
triple6
((triple4) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is rough.
True
3
proof
[(((triple9 triple7) -> rule1) OR ((((triple8) -> rule7) triple7) -> rule1) OR ((((triple8 triple7) -> rule5) triple7) -> rule1))]
("Dave" "is" "rough" "+")
((triple9 triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple8) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple8 triple7) -> (rule5 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is not rough.
False
3
inv-proof
[(((triple9 triple7) -> rule1) OR ((((triple8) -> rule7) triple7) -> rule1) OR ((((triple8 triple7) -> rule5) triple7) -> rule1))]
("Dave" "is" "rough" "-")
((triple9 triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple8) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple8 triple7) -> (rule5 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
True
4
proof
[(((((triple9 triple7) -> rule1)) -> rule3) OR ((((((triple8) -> rule7) triple7) -> rule1)) -> rule3) OR ((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3))]
("Dave" "is" "big" "+")
((((triple9 triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple8) -> (rule7 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple8 triple7) -> (rule5 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is not big.
False
4
inv-proof
[(((((triple9 triple7) -> rule1)) -> rule3) OR ((((((triple8) -> rule7) triple7) -> rule1)) -> rule3) OR ((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3))]
("Dave" "is" "big" "-")
((((triple9 triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple8) -> (rule7 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple8 triple7) -> (rule5 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is quiet.
True
5
proof
[(((((((triple9 triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8) -> rule7) triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3)) -> rule8))]
("Dave" "is" "quiet" "+")
((((((triple9 triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple8) -> (rule7 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple8 triple7) -> (rule5 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is not quiet.
False
5
inv-proof
[(((((((triple9 triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8) -> rule7) triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3)) -> rule8))]
("Dave" "is" "quiet" "-")
((((((triple9 triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple8) -> (rule7 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple8 triple7) -> (rule5 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Charlie is not kind.
Unknown
inv-random
[@0: Charlie is kind.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "kind" "-")
Gary is kind.
Unknown
random
[@0: Gary is kind.[CWA. Example of deepest failure = (FAIL)]]
("Gary" "is" "kind" "+")
@0: Charlie is big.[(triple1 OR ((triple4) -> rule3))] Charlie is quiet.[(triple2 OR ((triple1) -> rule8) OR ((((triple4) -> rule3)) -> rule8))] Charlie is red.[(triple3 OR ((triple4) -> rule4))] Charlie is rough.[(triple4)] Charlie is round.[(triple5 OR ((triple3) -> rule7) OR ((((triple4) -> rule4)) -> rule7))] Charlie is smart.[(triple6 OR ((triple4) -> rule6))] Dave is kind.[(triple7)] Dave is red.[(triple8 OR ((((triple9 triple7) -> rule1)) -> rule4))] Dave is round.[(triple9 OR ((triple8) -> rule7) OR ((triple8 triple7) -> rule5))] Dave is smart.[(triple10 OR ((((triple9 triple7) -> rule1)) -> rule6) OR ((((((triple8) -> rule7) triple7) -> rule1)) -> rule6) OR ((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule6))] Gary is big.[(triple11 OR ((triple14) -> rule3))] Gary is quiet.[(triple12 OR ((triple11) -> rule8) OR ((((triple14) -> rule3)) -> rule8))] Gary is red.[(triple13 OR ((triple14) -> rule4))] Gary is rough.[(triple14)] Gary is round.[(triple15 OR ((triple13) -> rule7) OR ((((triple14) -> rule4)) -> rule7))] Gary is smart.[(triple16 OR ((triple14) -> rule6))] @1: Dave is rough.[(((triple9 triple7) -> rule1) OR ((((triple8) -> rule7) triple7) -> rule1) OR ((((triple8 triple7) -> rule5) triple7) -> rule1))] @2: Dave is big.[(((((triple9 triple7) -> rule1)) -> rule3) OR ((((((triple8) -> rule7) triple7) -> rule1)) -> rule3) OR ((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3))] @3: Dave is quiet.[(((((((triple9 triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8) -> rule7) triple7) -> rule1)) -> rule3)) -> rule8) OR ((((((((triple8 triple7) -> rule5) triple7) -> rule1)) -> rule3)) -> rule8))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple4) -> (rule3 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
triple2
((triple1) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule8 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is red.
("Charlie" "is" "red" "+")
triple3
((triple4) -> (rule4 % int1))
Charlie is red.
("Charlie" "is" "red" "+")
int1
Charlie is rough.
("Charlie" "is" "rough" "+")
triple4
Charlie is round.
("Charlie" "is" "round" "+")
triple5
((triple3) -> (rule7 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
((((triple4) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is red.
("Charlie" "is" "red" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple6
((triple4) -> (rule6 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
triple7
Dave is red.
("Dave" "is" "red" "+")
triple8
((((triple9 triple7) -> (rule1 % int2))) -> (rule4 % int1))
Dave is red.
("Dave" "is" "red" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
triple9
((triple8) -> (rule7 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
((triple8 triple7) -> (rule5 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is smart.
("Dave" "is" "smart" "+")
triple10
((((triple9 triple7) -> (rule1 % int2))) -> (rule6 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple8) -> (rule7 % int3)) triple7) -> (rule1 % int2))) -> (rule6 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple8 triple7) -> (rule5 % int3)) triple7) -> (rule1 % int2))) -> (rule6 % int1))
Dave is smart.
("Dave" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Gary is big.
("Gary" "is" "big" "+")
triple11
((triple14) -> (rule3 % int1))
Gary is big.
("Gary" "is" "big" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
triple12
((triple11) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
((((triple14) -> (rule3 % int2))) -> (rule8 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is big.
("Gary" "is" "big" "+")
int2
Gary is red.
("Gary" "is" "red" "+")
triple13
((triple14) -> (rule4 % int1))
Gary is red.
("Gary" "is" "red" "+")
int1
Gary is rough.
("Gary" "is" "rough" "+")
triple14
Gary is round.
("Gary" "is" "round" "+")
triple15
((triple13) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
((((triple14) -> (rule4 % int2))) -> (rule7 % int1))
Gary is round.
("Gary" "is" "round" "+")
int1
Gary is red.
("Gary" "is" "red" "+")
int2
Gary is smart.
("Gary" "is" "smart" "+")
triple16
((triple14) -> (rule6 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
((triple9 triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
((((triple8) -> (rule7 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
((((triple8 triple7) -> (rule5 % int2)) triple7) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is big.
("Dave" "is" "big" "+")
((((triple9 triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
((((((triple8) -> (rule7 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
((((((triple8 triple7) -> (rule5 % int3)) triple7) -> (rule1 % int2))) -> (rule3 % int1))
Dave is big.
("Dave" "is" "big" "+")
int1
Dave is rough.
("Dave" "is" "rough" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is quiet.
("Dave" "is" "quiet" "+")
((((((triple9 triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
((((((((triple8) -> (rule7 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
((((((((triple8 triple7) -> (rule5 % int4)) triple7) -> (rule1 % int3))) -> (rule3 % int2))) -> (rule8 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is big.
("Dave" "is" "big" "+")
int2
Dave is rough.
("Dave" "is" "rough" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4