Let Ctrl+D kill asonq

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Properly bound the results of 3 on 3 complement object intersection

This process tended to yield universal objects when it should not. The solution
is to transform the complement argument without removing it from the
intersection, so the final result is still an intersect and the object
parameter still bounds the output result.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Don't call ason_reduce_list_intersect in wrong case

We were calling it when only one of the two intersected values was a list. It
only operates when both are.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Make one of the value tests harder

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Reduce unions of order 3 values

This is the last corner case in reduction we were missing. With this the code,
as far as we know, reduces all conceivable ASON values.

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Remember to complement in col3_comp3_union

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Add missing complement to 0 3 union reduction

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Fix overrun in 0 3 union reduction

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
Lots more value tests

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>
One last value test

Signed-off-by: Casey Dahlin <casey.dahlin@gmail.com>