Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Strings Theory #458
The PR is ok code-wise, modulo some quite minor comments.
What I really do not know is how standard this theory is... Do we want to commit to the CVC4 implementation? Is the Z3 one compatible?
Another more practical question is which alhpabet is used to define the strings: ASCII? UTF-8? What else?
Z3 implements a very similar subset and notation. The other PR is dedicated to Z3, but I split this into 2 parts because the integration of Z3 is taking a long time (there were bugs, and not that the bugs are fixed the nightly build does not seem to work). This branch has been here for 1.5 years and I do not think there has been any progress in formalizing this theory in SMT-LIB. Therefore, I think we should move forward with the current subset. Note that CVC4 implements other operators that we do not support (all the stuff you caught related to uint16, for example).
Regarding the alphabet: it is ASCII