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