Charlie is round. Charlie is smart. Dave is smart. If something is kind and green then it is rough. All smart things are green. All green things are round. All young things are kind. All young things are green. Round, smart things are young. All kind, smart things are green. If Dave is young then Dave is rough.
Charlie is round.
("Charlie" "is" "round" "+")
Charlie is smart.
("Charlie" "is" "smart" "+")
Dave is smart.
("Dave" "is" "smart" "+")
If something is kind and green then it is rough.
((("something" "is" "kind" "+") ("something" "is" "green" "+")) -> ("something" "is" "rough" "+"))
All smart things are green.
((("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
All green things are round.
((("something" "is" "green" "+")) -> ("something" "is" "round" "+"))
All young things are kind.
((("something" "is" "young" "+")) -> ("something" "is" "kind" "+"))
All young things are green.
((("something" "is" "young" "+")) -> ("something" "is" "green" "+"))
Round, smart things are young.
((("something" "is" "round" "+") ("something" "is" "smart" "+")) -> ("something" "is" "young" "+"))
All kind, smart things are green.
((("something" "is" "kind" "+") ("something" "is" "smart" "+")) -> ("something" "is" "green" "+"))
If Dave is young then Dave is rough.
((("Dave" "is" "young" "+")) -> ("Dave" "is" "rough" "+"))
Dave is smart.
True
1
proof
[(triple3)]
("Dave" "is" "smart" "+")
triple3
Charlie is not round.
False
1
inv-proof
[(triple1 OR ((((triple2) -> rule2)) -> rule3))]
("Charlie" "is" "round" "-")
triple1
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is young.
True
3
proof
[(((triple1 triple2) -> rule6) OR ((((((triple2) -> rule2)) -> rule3) triple2) -> rule6))]
("Charlie" "is" "young" "+")
((triple1 triple2) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Dave is not green.
False
2
inv-proof
[(((triple3) -> rule2))]
("Dave" "is" "green" "-")
((triple3) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Charlie is kind.
True
4
proof
[(((((triple1 triple2) -> rule6)) -> rule4) OR ((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4))]
("Charlie" "is" "kind" "+")
((((triple1 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((((triple2) -> (rule2 % int4))) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Dave is not round.
False
3
inv-proof
[(((((triple3) -> rule2)) -> rule3))]
("Dave" "is" "round" "-")
((((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Dave is young.
True
5
proof
[(((((((triple3) -> rule2)) -> rule3) triple3) -> rule6))]
("Dave" "is" "young" "+")
((((((triple3) -> (rule2 % int3))) -> (rule3 % int2)) triple3) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Charlie is not rough.
False
7
inv-proof
[(((((((triple1 triple2) -> rule6)) -> rule4) ((triple2) -> rule2)) -> rule1) OR ((((((triple1 triple2) -> rule6)) -> rule4) ((((triple1 triple2) -> rule6)) -> rule5)) -> rule1) OR ((((((triple1 triple2) -> rule6)) -> rule4) ((((((triple1 triple2) -> rule6)) -> rule4) triple2) -> rule7)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((triple2) -> rule2)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((((triple1 triple2) -> rule6)) -> rule5)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((((((triple1 triple2) -> rule6)) -> rule4) triple2) -> rule7)) -> rule1))]
("Charlie" "is" "rough" "-")
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((((triple1 triple2) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) triple2) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((triple2) -> (rule2 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((((triple1 triple2) -> (rule6 % int3))) -> (rule5 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((((((triple1 triple2) -> (rule6 % int3))) -> (rule4 % int2)) triple2) -> (rule7 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
Dave is not furry.
Unknown
inv-random
[@0: Dave is furry.[CWA. Example of deepest failure = (FAIL)]]
("Dave" "is" "furry" "-")
Charlie is furry.
Unknown
random
[@0: Charlie is furry.[CWA. Example of deepest failure = (FAIL)]]
("Charlie" "is" "furry" "+")
@0: Charlie is round.[(triple1 OR ((((triple2) -> rule2)) -> rule3))] Charlie is smart.[(triple2)] Dave is smart.[(triple3)] @1: Charlie is green.[(((triple2) -> rule2) OR ((((triple1 triple2) -> rule6)) -> rule5) OR ((((((triple1 triple2) -> rule6)) -> rule4) triple2) -> rule7))] Charlie is young.[(((triple1 triple2) -> rule6) OR ((((((triple2) -> rule2)) -> rule3) triple2) -> rule6))] Dave is green.[(((triple3) -> rule2))] @2: Charlie is kind.[(((((triple1 triple2) -> rule6)) -> rule4) OR ((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4))] Dave is round.[(((((triple3) -> rule2)) -> rule3))] @3: Charlie is rough.[(((((((triple1 triple2) -> rule6)) -> rule4) ((triple2) -> rule2)) -> rule1) OR ((((((triple1 triple2) -> rule6)) -> rule4) ((((triple1 triple2) -> rule6)) -> rule5)) -> rule1) OR ((((((triple1 triple2) -> rule6)) -> rule4) ((((((triple1 triple2) -> rule6)) -> rule4) triple2) -> rule7)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((triple2) -> rule2)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((((triple1 triple2) -> rule6)) -> rule5)) -> rule1) OR ((((((((((triple2) -> rule2)) -> rule3) triple2) -> rule6)) -> rule4) ((((((triple1 triple2) -> rule6)) -> rule4) triple2) -> rule7)) -> rule1))] Dave is young.[(((((((triple3) -> rule2)) -> rule3) triple3) -> rule6))] @4: Dave is kind.[(((((((((triple3) -> rule2)) -> rule3) triple3) -> rule6)) -> rule4))] Dave is rough.[(((((((((triple3) -> rule2)) -> rule3) triple3) -> rule6)) -> rule8) OR ((((((((((triple3) -> rule2)) -> rule3) triple3) -> rule6)) -> rule4) ((triple3) -> rule2)) -> rule1))]
Charlie is round.
("Charlie" "is" "round" "+")
triple1
((((triple2) -> (rule2 % int2))) -> (rule3 % int1))
Charlie is round.
("Charlie" "is" "round" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is smart.
("Charlie" "is" "smart" "+")
triple2
Dave is smart.
("Dave" "is" "smart" "+")
triple3
Charlie is green.
("Charlie" "is" "green" "+")
((triple2) -> (rule2 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
((((triple1 triple2) -> (rule6 % int2))) -> (rule5 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((triple1 triple2) -> (rule6 % int3))) -> (rule4 % int2)) triple2) -> (rule7 % int1))
Charlie is green.
("Charlie" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
((triple1 triple2) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
((((((triple2) -> (rule2 % int3))) -> (rule3 % int2)) triple2) -> (rule6 % int1))
Charlie is young.
("Charlie" "is" "young" "+")
int1
Charlie is round.
("Charlie" "is" "round" "+")
int2
Charlie is green.
("Charlie" "is" "green" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
((triple3) -> (rule2 % int1))
Dave is green.
("Dave" "is" "green" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
((((triple1 triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
((((((((triple2) -> (rule2 % int4))) -> (rule3 % int3)) triple2) -> (rule6 % int2))) -> (rule4 % int1))
Charlie is kind.
("Charlie" "is" "kind" "+")
int1
Charlie is young.
("Charlie" "is" "young" "+")
int2
Charlie is round.
("Charlie" "is" "round" "+")
int3
Charlie is green.
("Charlie" "is" "green" "+")
int4
Dave is round.
("Dave" "is" "round" "+")
((((triple3) -> (rule2 % int2))) -> (rule3 % int1))
Dave is round.
("Dave" "is" "round" "+")
int1
Dave is green.
("Dave" "is" "green" "+")
int2
Charlie is rough.
("Charlie" "is" "rough" "+")
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((triple2) -> (rule2 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((((triple1 triple2) -> (rule6 % int4))) -> (rule5 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) ((((((triple1 triple2) -> (rule6 % int4))) -> (rule4 % int3)) triple2) -> (rule7 % int2))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is green.
("Charlie" "is" "green" "+")
int2
Charlie is kind.
("Charlie" "is" "kind" "+")
int3
Charlie is young.
("Charlie" "is" "young" "+")
int4
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((triple2) -> (rule2 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((((triple1 triple2) -> (rule6 % int3))) -> (rule5 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
((((((((((triple2) -> (rule2 % int5))) -> (rule3 % int4)) triple2) -> (rule6 % int3))) -> (rule4 % int2)) ((((((triple1 triple2) -> (rule6 % int3))) -> (rule4 % int2)) triple2) -> (rule7 % int5))) -> (rule1 % int1))
Charlie is rough.
("Charlie" "is" "rough" "+")
int1
Charlie is kind.
("Charlie" "is" "kind" "+")
int2
Charlie is young.
("Charlie" "is" "young" "+")
int3
Charlie is round.
("Charlie" "is" "round" "+")
int4
Charlie is green.
("Charlie" "is" "green" "+")
int5
Dave is young.
("Dave" "is" "young" "+")
((((((triple3) -> (rule2 % int3))) -> (rule3 % int2)) triple3) -> (rule6 % int1))
Dave is young.
("Dave" "is" "young" "+")
int1
Dave is round.
("Dave" "is" "round" "+")
int2
Dave is green.
("Dave" "is" "green" "+")
int3
Dave is kind.
("Dave" "is" "kind" "+")
((((((((triple3) -> (rule2 % int4))) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule4 % int1))
Dave is kind.
("Dave" "is" "kind" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
Dave is rough.
("Dave" "is" "rough" "+")
((((((((triple3) -> (rule2 % int4))) -> (rule3 % int3)) triple3) -> (rule6 % int2))) -> (rule8 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is young.
("Dave" "is" "young" "+")
int2
Dave is round.
("Dave" "is" "round" "+")
int3
Dave is green.
("Dave" "is" "green" "+")
int4
((((((((((triple3) -> (rule2 % int5))) -> (rule3 % int4)) triple3) -> (rule6 % int3))) -> (rule4 % int2)) ((triple3) -> (rule2 % int5))) -> (rule1 % int1))
Dave is rough.
("Dave" "is" "rough" "+")
int1
Dave is kind.
("Dave" "is" "kind" "+")
int2
Dave is young.
("Dave" "is" "young" "+")
int3
Dave is round.
("Dave" "is" "round" "+")
int4
Dave is green.
("Dave" "is" "green" "+")
int5