Charlie is big. Charlie is cold. Charlie is round. Charlie is smart. Charlie is young. Dave is cold. Dave is quiet. Dave is round. Harry is big. Harry is cold. Harry is kind. Harry is quiet. Harry is round. Harry is smart. Harry is young. Round, young people are big. If Dave is cold and Dave is kind then Dave is smart. Smart, quiet people are kind. If someone is kind and smart then they are round. If Harry is smart then Harry is kind. All big, round people are quiet.
Charlie is big.
("Charlie" "is" "big" "+")
Charlie is cold.
("Charlie" "is" "cold" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Charlie is young.
("Charlie" "is" "young" "+")
Dave is cold.
("Dave" "is" "cold" "+")
Dave is quiet.
("Dave" "is" "quiet" "+")
Dave is round.
("Dave" "is" "round" "+")
Harry is big.
("Harry" "is" "big" "+")
Harry is cold.
("Harry" "is" "cold" "+")
Harry is kind.
("Harry" "is" "kind" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is round.
("Harry" "is" "round" "+")
Harry is smart.
("Harry" "is" "smart" "+")
Harry is young.
("Harry" "is" "young" "+")
Round, young people are big.
((("someone" "is" "round" "+") ("someone" "is" "young" "+")) -> ("someone" "is" "big" "+"))
If Dave is cold and Dave is kind then Dave is smart.
((("Dave" "is" "cold" "+") ("Dave" "is" "kind" "+")) -> ("Dave" "is" "smart" "+"))
Smart, quiet people are kind.
((("someone" "is" "smart" "+") ("someone" "is" "quiet" "+")) -> ("someone" "is" "kind" "+"))
If someone is kind and smart then they are round.
((("someone" "is" "kind" "+") ("someone" "is" "smart" "+")) -> ("someone" "is" "round" "+"))
If Harry is smart then Harry is kind.
((("Harry" "is" "smart" "+")) -> ("Harry" "is" "kind" "+"))
All big, round people are quiet.
((("someone" "is" "big" "+") ("someone" "is" "round" "+")) -> ("someone" "is" "quiet" "+"))
Dave is cold.
True
1
proof
[(triple6)]
("Dave" "is" "cold" "+")
triple6
Harry is not quiet.
False
1
inv-proof
[(triple12 OR ((triple9 triple13) -> rule6) OR ((triple9 ((triple11 triple14) -> rule4)) -> rule6) OR ((((triple13 triple15) -> rule1) triple13) -> rule6) OR ((((triple13 triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((triple9 ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) triple13) -> rule6) OR ((((triple13 triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) triple13) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6))]
("Harry" "is" "quiet" "-")
triple12
((triple9 triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple9 ((triple11 triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple13 triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple13 triple15) -> (rule1 % int3)) ((triple11 triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((triple9 ((((triple14) -> (rule5 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((((triple11 triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple13 triple15) -> (rule1 % int4)) ((((triple14) -> (rule5 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((triple11 triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((triple11 triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple11 triple14) -> (rule4 % int4)) triple15) -> (rule1 % int3)) ((((triple14) -> (rule5 % int2)) triple14) -> (rule4 % int4))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((triple11 triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Charlie is quiet.
True
3
proof
[(((triple1 triple3) -> rule6) OR ((((triple3 triple5) -> rule1) triple3) -> rule6))]
("Charlie" "is" "quiet" "+")
((triple1 triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple3 triple5) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is not quiet.
False
3
inv-proof
[(((triple1 triple3) -> rule6) OR ((((triple3 triple5) -> rule1) triple3) -> rule6))]
("Charlie" "is" "quiet" "-")
((triple1 triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple3 triple5) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
True
5
proof
[(((triple4 ((triple1 triple3) -> rule6)) -> rule3) OR ((triple4 ((((triple3 triple5) -> rule1) triple3) -> rule6)) -> rule3))]
("Charlie" "is" "kind" "+")
((triple4 ((triple1 triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((triple4 ((((triple3 triple5) -> (rule1 % int3)) triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Charlie is not kind.
False
5
inv-proof
[(((triple4 ((triple1 triple3) -> rule6)) -> rule3) OR ((triple4 ((((triple3 triple5) -> rule1) triple3) -> rule6)) -> rule3))]
("Charlie" "is" "kind" "-")
((triple4 ((triple1 triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((triple4 ((((triple3 triple5) -> (rule1 % int3)) triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3
Dave is not big.
Unknown
inv-rconc
[@1: Dave is big.[CWA. Example of deepest failure = (rule1 <- FAIL)]]
("Dave" "is" "big" "-")
Dave is kind.
Unknown
rconc
[@2: Dave is kind.[CWA. Example of deepest failure = (rule3 <- rule2 <- FAIL)]]
("Dave" "is" "kind" "+")
Dave is not smart.
Unknown
inv-rconc
[@2: Dave is smart.[CWA. Example of deepest failure = (rule2 <- rule3 <- FAIL)]]
("Dave" "is" "smart" "-")
Dave is young.
Unknown
random
[@0: Dave is young.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "young" "+")
@0: Charlie is big.[(triple1 OR ((triple3 triple5) -> rule1))] Charlie is cold.[(triple2)] Charlie is round.[(triple3)] Charlie is smart.[(triple4)] Charlie is young.[(triple5)] Dave is cold.[(triple6)] Dave is quiet.[(triple7)] Dave is round.[(triple8)] Harry is big.[(triple9 OR ((triple13 triple15) -> rule1) OR ((((triple11 triple14) -> rule4) triple15) -> rule1) OR ((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) OR ((((((triple14 triple12) -> rule3) triple14) -> rule4) triple15) -> rule1))] Harry is cold.[(triple10)] Harry is kind.[(triple11 OR ((triple14) -> rule5) OR ((triple14 triple12) -> rule3) OR ((triple14 ((triple9 triple13) -> rule6)) -> rule3) OR ((triple14 ((((triple13 triple15) -> rule1) triple13) -> rule6)) -> rule3))] Harry is quiet.[(triple12 OR ((triple9 triple13) -> rule6) OR ((triple9 ((triple11 triple14) -> rule4)) -> rule6) OR ((((triple13 triple15) -> rule1) triple13) -> rule6) OR ((((triple13 triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((triple9 ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) triple13) -> rule6) OR ((((triple13 triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((((((triple11 triple14) -> rule4) triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) triple13) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) ((triple11 triple14) -> rule4)) -> rule6) OR ((((((((triple14) -> rule5) triple14) -> rule4) triple15) -> rule1) ((((triple14) -> rule5) triple14) -> rule4)) -> rule6))] Harry is round.[(triple13 OR ((triple11 triple14) -> rule4) OR ((((triple14) -> rule5) triple14) -> rule4) OR ((((triple14 triple12) -> rule3) triple14) -> rule4))] Harry is smart.[(triple14)] Harry is young.[(triple15)] @1: Charlie is quiet.[(((triple1 triple3) -> rule6) OR ((((triple3 triple5) -> rule1) triple3) -> rule6))] @2: Charlie is kind.[(((triple4 ((triple1 triple3) -> rule6)) -> rule3) OR ((triple4 ((((triple3 triple5) -> rule1) triple3) -> rule6)) -> rule3))]
Charlie is big.
("Charlie" "is" "big" "+")
triple1
((triple3 triple5) -> (rule1 % int1))
Charlie is big.
("Charlie" "is" "big" "+")
int1
Charlie is cold.
("Charlie" "is" "cold" "+")
triple2
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Charlie is smart.
("Charlie" "is" "smart" "+")
triple4
Charlie is young.
("Charlie" "is" "young" "+")
triple5
Dave is cold.
("Dave" "is" "cold" "+")
triple6
Dave is quiet.
("Dave" "is" "quiet" "+")
triple7
Dave is round.
("Dave" "is" "round" "+")
triple8
Harry is big.
("Harry" "is" "big" "+")
triple9
((triple13 triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
((((triple11 triple14) -> (rule4 % int2)) triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((((triple14) -> (rule5 % int3)) triple14) -> (rule4 % int2)) triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((((triple14 triple12) -> (rule3 % int3)) triple14) -> (rule4 % int2)) triple15) -> (rule1 % int1))
Harry is big.
("Harry" "is" "big" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is cold.
("Harry" "is" "cold" "+")
triple10
Harry is kind.
("Harry" "is" "kind" "+")
triple11
((triple14) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple14 triple12) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((triple14 ((triple9 triple13) -> (rule6 % int2))) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
((triple14 ((((triple13 triple15) -> (rule1 % int3)) triple13) -> (rule6 % int2))) -> (rule3 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
triple12
((triple9 triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
((triple9 ((triple11 triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
((((triple13 triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
((((triple13 triple15) -> (rule1 % int3)) ((triple11 triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
((triple9 ((((triple14) -> (rule5 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((((((triple11 triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((triple13 triple15) -> (rule1 % int4)) ((((triple14) -> (rule5 % int3)) triple14) -> (rule4 % int2))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is round.
("Harry" "is" "round" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is big.
("Harry" "is" "big" "+")
int4
((((((triple11 triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((triple11 triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
((((((triple11 triple14) -> (rule4 % int4)) triple15) -> (rule1 % int3)) ((((triple14) -> (rule5 % int2)) triple14) -> (rule4 % int4))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is big.
("Harry" "is" "big" "+")
int3
Harry is round.
("Harry" "is" "round" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) triple13) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((triple11 triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
((((((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3)) triple15) -> (rule1 % int2)) ((((triple14) -> (rule5 % int4)) triple14) -> (rule4 % int3))) -> (rule6 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is big.
("Harry" "is" "big" "+")
int2
Harry is round.
("Harry" "is" "round" "+")
int3
Harry is kind.
("Harry" "is" "kind" "+")
int4
Harry is round.
("Harry" "is" "round" "+")
triple13
((triple11 triple14) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
((((triple14) -> (rule5 % int2)) triple14) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((triple14 triple12) -> (rule3 % int2)) triple14) -> (rule4 % int1))
Harry is round.
("Harry" "is" "round" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
triple14
Harry is young.
("Harry" "is" "young" "+")
triple15
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple1 triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple3 triple5) -> (rule1 % int2)) triple3) -> (rule6 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is big.
("Charlie" "is" "big" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((triple4 ((triple1 triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((triple4 ((((triple3 triple5) -> (rule1 % int3)) triple3) -> (rule6 % int2))) -> (rule3 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is big.
("Charlie" "is" "big" "+")
int3