Charlie is blue. Charlie is nice. Charlie is round. Dave is kind. Dave is nice. Dave is young. Gary is blue. Gary is round. Harry is blue. Harry is quiet. Harry is smart. If something is blue then it is nice. If something is nice then it is quiet. Kind things are nice. Kind things are young. Quiet things are kind. If Dave is round then Dave is smart. All blue, young things are smart.
Charlie is blue.
("Charlie" "is" "blue" "+")
Charlie is nice.
("Charlie" "is" "nice" "+")
Charlie is round.
("Charlie" "is" "round" "+")
Dave is kind.
("Dave" "is" "kind" "+")
Dave is nice.
("Dave" "is" "nice" "+")
Dave is young.
("Dave" "is" "young" "+")
Gary is blue.
("Gary" "is" "blue" "+")
Gary is round.
("Gary" "is" "round" "+")
Harry is blue.
("Harry" "is" "blue" "+")
Harry is quiet.
("Harry" "is" "quiet" "+")
Harry is smart.
("Harry" "is" "smart" "+")
If something is blue then it is nice.
((("something" "is" "blue" "+")) -> ("something" "is" "nice" "+"))
If something is nice then it is quiet.
((("something" "is" "nice" "+")) -> ("something" "is" "quiet" "+"))
Kind things are nice.
((("something" "is" "kind" "+")) -> ("something" "is" "nice" "+"))
Kind things are young.
((("something" "is" "kind" "+")) -> ("something" "is" "young" "+"))
Quiet things are kind.
((("something" "is" "quiet" "+")) -> ("something" "is" "kind" "+"))
If Dave is round then Dave is smart.
((("Dave" "is" "round" "+")) -> ("Dave" "is" "smart" "+"))
All blue, young things are smart.
((("something" "is" "blue" "+") ("something" "is" "young" "+")) -> ("something" "is" "smart" "+"))
Dave is young.
True
1
proof
[(triple6 OR ((triple4) -> rule4) OR ((((((triple5) -> rule2)) -> rule5)) -> rule4))]
("Dave" "is" "young" "+")
triple6
((triple4) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((((triple5) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Charlie is not nice.
False
1
inv-proof
[(triple2 OR ((triple1) -> rule1))]
("Charlie" "is" "nice" "-")
triple2
((triple1) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Harry is kind.
True
2
proof
[(((triple10) -> rule5) OR ((((((triple9) -> rule1)) -> rule2)) -> rule5))]
("Harry" "is" "kind" "+")
((triple10) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is not nice.
False
2
inv-proof
[(((triple9) -> rule1) OR ((((triple10) -> rule5)) -> rule3))]
("Harry" "is" "nice" "-")
((triple9) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Gary is quiet.
True
3
proof
[(((((triple7) -> rule1)) -> rule2))]
("Gary" "is" "quiet" "+")
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Harry is not young.
False
3
inv-proof
[(((((triple10) -> rule5)) -> rule4) OR ((((((((triple9) -> rule1)) -> rule2)) -> rule5)) -> rule4))]
("Harry" "is" "young" "-")
((((triple10) -> (rule5 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Gary is kind.
True
4
proof
[(((((((triple7) -> rule1)) -> rule2)) -> rule5))]
("Gary" "is" "kind" "+")
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Gary is not kind.
False
4
inv-proof
[(((((((triple7) -> rule1)) -> rule2)) -> rule5))]
("Gary" "is" "kind" "-")
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Charlie is smart.
True
6
proof
[(((triple1 ((((((triple2) -> rule2)) -> rule5)) -> rule4)) -> rule7) OR ((triple1 ((((((((triple1) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))]
("Charlie" "is" "smart" "+")
((triple1 ((((((triple2) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((triple1 ((((((((triple1) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Charlie is not smart.
False
6
inv-proof
[(((triple1 ((((((triple2) -> rule2)) -> rule5)) -> rule4)) -> rule7) OR ((triple1 ((((((((triple1) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))]
("Charlie" "is" "smart" "-")
((triple1 ((((((triple2) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((triple1 ((((((((triple1) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Gary is smart.
True
7
proof
[(((triple7 ((((((((triple7) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))]
("Gary" "is" "smart" "+")
((triple7 ((((((((triple7) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Gary is not smart.
False
7
inv-proof
[(((triple7 ((((((((triple7) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))]
("Gary" "is" "smart" "-")
((triple7 ((((((((triple7) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5
Dave is not smart.
Unknown
inv-rconc
[@1: Dave is smart.[CWA. Example of deepest failure = (rule6 <- FAIL)]]
("Dave" "is" "smart" "-")
Dave is round.
Unknown
random
[@0: Dave is round.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "round" "+")
Dave is not blue.
Unknown
inv-random
[@0: Dave is blue.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "blue" "-")
Harry is round.
Unknown
random
[@0: Harry is round.[CWA. Example of deepest failure = (FAIL)]]
("Harry" "is" "round" "+")
@0: Charlie is blue.[(triple1)] Charlie is nice.[(triple2 OR ((triple1) -> rule1))] Charlie is round.[(triple3)] Dave is kind.[(triple4 OR ((((triple5) -> rule2)) -> rule5))] Dave is nice.[(triple5 OR ((triple4) -> rule3))] Dave is young.[(triple6 OR ((triple4) -> rule4) OR ((((((triple5) -> rule2)) -> rule5)) -> rule4))] Gary is blue.[(triple7)] Gary is round.[(triple8)] Harry is blue.[(triple9)] Harry is quiet.[(triple10 OR ((((triple9) -> rule1)) -> rule2))] Harry is smart.[(triple11 OR ((triple9 ((((triple10) -> rule5)) -> rule4)) -> rule7) OR ((triple9 ((((((((triple9) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))] @1: Charlie is quiet.[(((triple2) -> rule2) OR ((((triple1) -> rule1)) -> rule2))] Dave is quiet.[(((triple5) -> rule2) OR ((((triple4) -> rule3)) -> rule2))] Gary is nice.[(((triple7) -> rule1))] Harry is kind.[(((triple10) -> rule5) OR ((((((triple9) -> rule1)) -> rule2)) -> rule5))] Harry is nice.[(((triple9) -> rule1) OR ((((triple10) -> rule5)) -> rule3))] @2: Charlie is kind.[(((((triple2) -> rule2)) -> rule5) OR ((((((triple1) -> rule1)) -> rule2)) -> rule5))] Gary is quiet.[(((((triple7) -> rule1)) -> rule2))] Harry is young.[(((((triple10) -> rule5)) -> rule4) OR ((((((((triple9) -> rule1)) -> rule2)) -> rule5)) -> rule4))] @3: Charlie is young.[(((((((triple2) -> rule2)) -> rule5)) -> rule4) OR ((((((((triple1) -> rule1)) -> rule2)) -> rule5)) -> rule4))] Gary is kind.[(((((((triple7) -> rule1)) -> rule2)) -> rule5))] @4: Charlie is smart.[(((triple1 ((((((triple2) -> rule2)) -> rule5)) -> rule4)) -> rule7) OR ((triple1 ((((((((triple1) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))] Gary is young.[(((((((((triple7) -> rule1)) -> rule2)) -> rule5)) -> rule4))] @5: Gary is smart.[(((triple7 ((((((((triple7) -> rule1)) -> rule2)) -> rule5)) -> rule4)) -> rule7))]
Charlie is blue.
("Charlie" "is" "blue" "+")
triple1
Charlie is nice.
("Charlie" "is" "nice" "+")
triple2
((triple1) -> (rule1 % int1))
Charlie is nice.
("Charlie" "is" "nice" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
triple3
Dave is kind.
("Dave" "is" "kind" "+")
triple4
((((triple5) -> (rule2 % int2))) -> (rule5 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is quiet.
("Dave" "is" "quiet" "+")
int2
Dave is nice.
("Dave" "is" "nice" "+")
triple5
((triple4) -> (rule3 % int1))
Dave is nice.
("Dave" "is" "nice" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
triple6
((triple4) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
((((((triple5) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
int3
Gary is blue.
("Gary" "is" "blue" "+")
triple7
Gary is round.
("Gary" "is" "round" "+")
triple8
Harry is blue.
("Harry" "is" "blue" "+")
triple9
Harry is quiet.
("Harry" "is" "quiet" "+")
triple10
((((triple9) -> (rule1 % int2))) -> (rule2 % int1))
Harry is quiet.
("Harry" "is" "quiet" "+")
int1
Harry is nice.
("Harry" "is" "nice" "+")
int2
Harry is smart.
("Harry" "is" "smart" "+")
triple11
((triple9 ((((triple10) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
((triple9 ((((((((triple9) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Harry is smart.
("Harry" "is" "smart" "+")
int1
Harry is young.
("Harry" "is" "young" "+")
int2
Harry is kind.
("Harry" "is" "kind" "+")
int3
Harry is quiet.
("Harry" "is" "quiet" "+")
int4
Harry is nice.
("Harry" "is" "nice" "+")
int5
Charlie is quiet.
("Charlie" "is" "quiet" "+")
((triple2) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
((((triple1) -> (rule1 % int2))) -> (rule2 % int1))
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int1
Charlie is nice.
("Charlie" "is" "nice" "+")
int2
Dave is quiet.
("Dave" "is" "quiet" "+")
((triple5) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
((((triple4) -> (rule3 % int2))) -> (rule2 % int1))
Dave is quiet.
("Dave" "is" "quiet" "+")
int1
Dave is nice.
("Dave" "is" "nice" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
((triple7) -> (rule1 % int1))
Gary is nice.
("Gary" "is" "nice" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
((triple10) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
((((((triple9) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Harry is kind.
("Harry" "is" "kind" "+")
int1
Harry is quiet.
("Harry" "is" "quiet" "+")
int2
Harry is nice.
("Harry" "is" "nice" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
((triple9) -> (rule1 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
((((triple10) -> (rule5 % int2))) -> (rule3 % int1))
Harry is nice.
("Harry" "is" "nice" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple2) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
((((((triple1) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int2
Charlie is nice.
("Charlie" "is" "nice" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
((((triple7) -> (rule1 % int2))) -> (rule2 % int1))
Gary is quiet.
("Gary" "is" "quiet" "+")
int1
Gary is nice.
("Gary" "is" "nice" "+")
int2
Harry is young.
("Harry" "is" "young" "+")
((((triple10) -> (rule5 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
((((((((triple9) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Harry is young.
("Harry" "is" "young" "+")
int1
Harry is kind.
("Harry" "is" "kind" "+")
int2
Harry is quiet.
("Harry" "is" "quiet" "+")
int3
Harry is nice.
("Harry" "is" "nice" "+")
int4
Charlie is young.
("Charlie" "is" "young" "+")
((((((triple2) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
((((((((triple1) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int3
Charlie is nice.
("Charlie" "is" "nice" "+")
int4
Gary is kind.
("Gary" "is" "kind" "+")
((((((triple7) -> (rule1 % int3))) -> (rule2 % int2))) -> (rule5 % int1))
Gary is kind.
("Gary" "is" "kind" "+")
int1
Gary is quiet.
("Gary" "is" "quiet" "+")
int2
Gary is nice.
("Gary" "is" "nice" "+")
int3
Charlie is smart.
("Charlie" "is" "smart" "+")
((triple1 ((((((triple2) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
((triple1 ((((((((triple1) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Charlie is smart.
("Charlie" "is" "smart" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is quiet.
("Charlie" "is" "quiet" "+")
int4
Charlie is nice.
("Charlie" "is" "nice" "+")
int5
Gary is young.
("Gary" "is" "young" "+")
((((((((triple7) -> (rule1 % int4))) -> (rule2 % int3))) -> (rule5 % int2))) -> (rule4 % int1))
Gary is young.
("Gary" "is" "young" "+")
int1
Gary is kind.
("Gary" "is" "kind" "+")
int2
Gary is quiet.
("Gary" "is" "quiet" "+")
int3
Gary is nice.
("Gary" "is" "nice" "+")
int4
Gary is smart.
("Gary" "is" "smart" "+")
((triple7 ((((((((triple7) -> (rule1 % int5))) -> (rule2 % int4))) -> (rule5 % int3))) -> (rule4 % int2))) -> (rule7 % int1))
Gary is smart.
("Gary" "is" "smart" "+")
int1
Gary is young.
("Gary" "is" "young" "+")
int2
Gary is kind.
("Gary" "is" "kind" "+")
int3
Gary is quiet.
("Gary" "is" "quiet" "+")
int4
Gary is nice.
("Gary" "is" "nice" "+")
int5