Description
I just realized we have a bit of an inconsistency with how our relation and Apron stuff are split. This analysis is also applied for our OCaml-implemented relational domains, but only
ApronDomain
implements the strengthening logic.
Given everything else (working with Apron variables and expressions), it might be possible to move the strengthening implementation up a bit such that it also works for others. Not that this would make a notable practical difference though.
Originally posted by @sim642 in #1709 (comment)
This actually depends on whether the various non-Apron relational domains support heterogeneous join
or require homogeneous environments (like Apron). If they do (in some meaningful manner), then this wouldn't be necessary.
Ideally, homogeneity/heterogeneity would be reflected in the domain's signature, but currently I suspect it's not. Signatures for relational domains are kind of a mess.