Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for Strings and Rationals to the Princess backend #391

Open
wants to merge 112 commits into
base: master
Choose a base branch
from

Commits on Dec 6, 2021

  1. Configuration menu
    Copy the full SHA
    ccc281a View commit details
    Browse the repository at this point in the history
  2. Rationals in Princess

    serras committed Dec 6, 2021
    Configuration menu
    Copy the full SHA
    1f7be15 View commit details
    Browse the repository at this point in the history

Commits on Dec 15, 2021

  1. formatting code.

    Please apply 'ant format-diff' before commiting,
    or the extended version 'ant format-source'.
    kfriedberger committed Dec 15, 2021
    Configuration menu
    Copy the full SHA
    99337b7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    625a0b6 View commit details
    Browse the repository at this point in the history
  3. Princess: revert from Scala 2.13 to Scala 2.12.

    Scala is not upwards and not downwards compatible.
    The upcoming Ostrich library is only available for Scala 2.12,
    so we downgrade Scala for Princess.
    kfriedberger committed Dec 15, 2021
    Configuration menu
    Copy the full SHA
    b7bbc3c View commit details
    Browse the repository at this point in the history

Commits on Dec 16, 2021

  1. adding dependency for Ostrich into JavaSMT.

    This is an initial step and the usage is still unclear. This is not tested.
    kfriedberger committed Dec 16, 2021
    Configuration menu
    Copy the full SHA
    53a1885 View commit details
    Browse the repository at this point in the history
  2. Use Ostrich for strings

    serras committed Dec 16, 2021
    Configuration menu
    Copy the full SHA
    6f62e05 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    d59e56c View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2022

  1. Configuration menu
    Copy the full SHA
    adaa89c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    27faaa7 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    f8b0c3d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    5df33fe View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    9a7e920 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    451b0f3 View commit details
    Browse the repository at this point in the history

Commits on Jan 16, 2022

  1. Configuration menu
    Copy the full SHA
    3aaf54b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    34b71ed View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0ad41d3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e9707d1 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f7f9da5 View commit details
    Browse the repository at this point in the history

Commits on Nov 12, 2023

  1. Configuration menu
    Copy the full SHA
    53c0b4b View commit details
    Browse the repository at this point in the history

Commits on Nov 18, 2023

  1. Configuration menu
    Copy the full SHA
    ebe926f View commit details
    Browse the repository at this point in the history

Commits on Nov 19, 2023

  1. Configuration menu
    Copy the full SHA
    8b906ec View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    1936c40 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    dac5ac4 View commit details
    Browse the repository at this point in the history
  4. Princess: disable some tests for formula structure with rational/real…

    … theory and arrays.
    
    Princess intenally converts all real-arrays to int-arrays
    and thus there is some casting and quantification in SMT.
    kfriedberger committed Nov 19, 2023
    Configuration menu
    Copy the full SHA
    2df018b View commit details
    Browse the repository at this point in the history
  5. Princess: fix UF application on non-rational arguments like integers.

    Princess needs non-rational UF arguments to be explicitly casted to rational.
    kfriedberger committed Nov 19, 2023
    Configuration menu
    Copy the full SHA
    449a87c View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    2eb9dbf View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    4871bdc View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    4652de9 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    2dde64b View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    8c9f2b8 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d680735 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    a40f42a View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    13c01a6 View commit details
    Browse the repository at this point in the history

Commits on Sep 6, 2024

  1. Merge branch 'master' into 257-more-theories-for-princess

    # Conflicts:
    #	.idea/JavaSMT.iml
    #	.idea/copyright/JavaSMT.xml
    #	lib/ivy.xml
    #	src/org/sosy_lab/java_smt/solvers/princess/PrincessEnvironment.java
    daniel-raffler committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    ec6ebaf View commit details
    Browse the repository at this point in the history
  2. Princess: Fetch Ostrich 1.3.5 from Maven. This is a temporary fix tha…

    …t should be removed once Ostrich has been updated in our own repository. The new version is needed as it fixes a bug (uuverifiers/princess#9) that affected two of our tests in StringFormulaManagerTest
    daniel-raffler committed Sep 6, 2024
    Configuration menu
    Copy the full SHA
    262bb96 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b503024 View commit details
    Browse the repository at this point in the history

Commits on Sep 7, 2024

  1. Configuration menu
    Copy the full SHA
    3175cf1 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0210289 View commit details
    Browse the repository at this point in the history
  3. Princess: Disable String test that use (escaped) Unicode literals. Pr…

    …incess does seem to support unicode characters as part of its Strings and we may just want to remove the escape sequence
    daniel-raffler committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    29d25c3 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    85ebb3d View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    f99740d View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    8eee565 View commit details
    Browse the repository at this point in the history
  7. Princess: Replace "a str.<= b" with "a str.< b | a == b" to work arou…

    …nd an issue in Princess/Ostrich
    daniel-raffler committed Sep 7, 2024
    Configuration menu
    Copy the full SHA
    abc11e5 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1610229 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    076d626 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    5df2ce6 View commit details
    Browse the repository at this point in the history

Commits on Sep 8, 2024

  1. Configuration menu
    Copy the full SHA
    9c6ca0e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    c546357 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    7767d2a View commit details
    Browse the repository at this point in the history

Commits on Sep 10, 2024

  1. Configuration menu
    Copy the full SHA
    51bec64 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fd9ae85 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    0ea532a View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    9f4d16c View commit details
    Browse the repository at this point in the history
  5. Princess: Disable a test in ArrayFormulaManagerTest for Princess. The…

    … test uses rational numbers as indices/elements for an array, which is not supported by Princess.
    daniel-raffler committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    c89c6ac View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    a65769c View commit details
    Browse the repository at this point in the history
  7. Princess: Removed default arguments for OFlags in PrincessNativeAPITe…

    …st. These were added by accident: Ostrich 1.3.5 only requires 13 arguments, while the new version 1.4-pre requires 15
    daniel-raffler committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    47def53 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    96c4d61 View commit details
    Browse the repository at this point in the history
  9. Princess: Renamed list of (non-boolean) variables in PrincessAbstract…

    …Prover from intSymbols` to `theorySymbols` as it may not only contain integer variables.
    daniel-raffler committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    296d8e4 View commit details
    Browse the repository at this point in the history
  10. Princess: Add a workaround to evaluate rational formulas with Princes…

    …s. Extending the partial model does not seem to work in this case, so we need to (temporarily) add the formula to the assertion stack and then re-run the sat-check to get the value. This should work around the issues in uuverifiers/princess#7 and uuverifiers/princess#8
    daniel-raffler committed Sep 10, 2024
    Configuration menu
    Copy the full SHA
    5b77984 View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2024

  1. Configuration menu
    Copy the full SHA
    da11b8f View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0ea2941 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    6eb0f67 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    f5dffee View commit details
    Browse the repository at this point in the history
  5. Princess: Fix format

    daniel-raffler committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    30c1fe7 View commit details
    Browse the repository at this point in the history
  6. Princess: Disable all tests that require use operations with only non…

    …-singleton strings as their arguments. Ostrich does not support such operations yet, although the feature will likely be added later. See uuverifiers/ostrich#88 for some details.
    daniel-raffler committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    9569292 View commit details
    Browse the repository at this point in the history
  7. Princess: Re-enable testStringPrefixSuffix from StringFormulaManagerT…

    …est. This one was disabled by accident in the last commit.
    daniel-raffler committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    f843131 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    76efd95 View commit details
    Browse the repository at this point in the history
  9. Configuration menu
    Copy the full SHA
    f661c10 View commit details
    Browse the repository at this point in the history
  10. Princess: Removed Rational.int and Rational.frac from the list of…

    … constant symbols. Princess will generate terms like (Rat_int(-1 * Rat_frac(0, 10)) that would have to be rewritten first before they can be evaluated to a rational number.
    daniel-raffler committed Sep 11, 2024
    Configuration menu
    Copy the full SHA
    2e570a2 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    d761b17 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    2d7df5f View commit details
    Browse the repository at this point in the history

Commits on Sep 12, 2024

  1. Princess: Disable term abbreviations as they seem to cause Princess t…

    …o crash when non-linear terms are used
    daniel-raffler committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    3bc04a8 View commit details
    Browse the repository at this point in the history
  2. Princess: Remove parameters 14 and 15 for the OFlags constructor. Tho…

    …se are only needed for Ostrich 1.4 and later.
    daniel-raffler committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    2c06c70 View commit details
    Browse the repository at this point in the history
  3. Princess: Remove workaround for a bug in Ostrich. The str.<= operatio…

    …n was not reflexive and returned `false` if both arguments are the same. This has reported in uuverifiers/ostrich#89 and is now fixed
    daniel-raffler committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    c83063e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    a1764de View commit details
    Browse the repository at this point in the history
  5. Princess: Fix evalImpl() for formulas that are equations over rationa…

    …ls (f.ex "1/3 <= y"). This extends the workaround we already use for terms to equations as Princess seems to have a bug when it comes to evaluating rational terms
    daniel-raffler committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    3b7229a View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    4c78733 View commit details
    Browse the repository at this point in the history
  7. Princess: Added a todo

    daniel-raffler committed Sep 12, 2024
    Configuration menu
    Copy the full SHA
    2636f5e View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    1e8176f View commit details
    Browse the repository at this point in the history

Commits on Sep 13, 2024

  1. Configuration menu
    Copy the full SHA
    3e1dad8 View commit details
    Browse the repository at this point in the history
  2. Princess: Added a todo

    daniel-raffler committed Sep 13, 2024
    Configuration menu
    Copy the full SHA
    bbf9b9c View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    e950269 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    872944f View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2024

  1. Configuration menu
    Copy the full SHA
    c161f00 View commit details
    Browse the repository at this point in the history
  2. Revert "Princess: Fix evalImpl() for formulas that are equations over…

    … rationals (f.ex "1/3 <= y"). This extends the workaround we already use for terms to equations as Princess seems to have a bug when it comes to evaluating rational terms"
    
    This reverts commit 3b7229a
    daniel-raffler committed Sep 15, 2024
    Configuration menu
    Copy the full SHA
    f3a277e View commit details
    Browse the repository at this point in the history

Commits on Sep 16, 2024

  1. Configuration menu
    Copy the full SHA
    c2b685b View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    6beb6f5 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9e1d69d View commit details
    Browse the repository at this point in the history
  4. Princess: Work around a bug in princess where multiplying a rational …

    …variable by zero returns an integer term
    daniel-raffler committed Sep 16, 2024
    Configuration menu
    Copy the full SHA
    ea21421 View commit details
    Browse the repository at this point in the history

Commits on Sep 18, 2024

  1. Princess: Enabled tests for arrays with rational indices/elements. Th…

    …ese were temporarily disabled due to a bug that has now been fixed. See uuverifiers/princess#11
    daniel-raffler committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    6351613 View commit details
    Browse the repository at this point in the history
  2. Princess: Add two comments about failed tests in FomulaClassifierTest…

    …. The problem here is that Princess introduces quantifiers when rationals are used, not that arrays can't be combined with rational numbers.
    daniel-raffler committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    6fc4b9a View commit details
    Browse the repository at this point in the history
  3. Princess: Added a comment to testDivisionByZero test. Princess does s…

    …upport division by zero, but it currently seems to be broken for rationals (at least with the way we're using them)
    daniel-raffler committed Sep 18, 2024
    Configuration menu
    Copy the full SHA
    43c2c83 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    3b6102d View commit details
    Browse the repository at this point in the history

Commits on Sep 21, 2024

  1. Revert "Princess: Disable term abbreviations as they seem to cause Pr…

    …incess to crash when non-linear terms are used"
    
    This reverts commit 3bc04a8.
    daniel-raffler committed Sep 21, 2024
    Configuration menu
    Copy the full SHA
    fa38940 View commit details
    Browse the repository at this point in the history

Commits on Oct 16, 2024

  1. Princess: Clean up dependencies and prepare for upgrading Princess/Os…

    …trich to the latest release
    daniel-raffler committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    e075090 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ce2e7f9 View commit details
    Browse the repository at this point in the history
  3. Princess: Throw and UnsupportedOperationExcpetion in PrincessRational…

    …FormulaManager, rather than an AssertionError
    daniel-raffler committed Oct 16, 2024
    Configuration menu
    Copy the full SHA
    52fd628 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    98e49f7 View commit details
    Browse the repository at this point in the history

Commits on Oct 19, 2024

  1. Configuration menu
    Copy the full SHA
    bcb696d View commit details
    Browse the repository at this point in the history
  2. Princess: Fix handling of broken Unicode sequences "\\u{" with no clo…

    …sing bracket in PrincessStringFormulaManager
    daniel-raffler committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    9320257 View commit details
    Browse the repository at this point in the history
  3. Princess: Throw an exception in PrincessStringFormulaManager.unescape…

    …String when trying to parse a \u{...} character with 5 digits. Such escape sequences are valid in SMTLIB, but can't be supported by us for Princess as we are restricted to the BMP in UTF16. We also added a test for this special case.
    daniel-raffler committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    3648bf0 View commit details
    Browse the repository at this point in the history
  4. Princess: Fix spelling

    daniel-raffler committed Oct 19, 2024
    Configuration menu
    Copy the full SHA
    441e947 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0e949d7 View commit details
    Browse the repository at this point in the history

Commits on Oct 20, 2024

  1. Configuration menu
    Copy the full SHA
    ba486a5 View commit details
    Browse the repository at this point in the history
  2. Princess: Stopped using the partial model for Model.evaluate()

    We're now evaluating formulas directly on the stack as there are several issues in Princess that block us from using the partial model with rational numbers. Once those issues have been resolved we can revert this change and move back to using the partial model.
    daniel-raffler committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    21abead View commit details
    Browse the repository at this point in the history
  3. Solved a concurrent modification issues in AbstractProver when models…

    … would unregister themselves from the prover while being closed by it.
    daniel-raffler committed Oct 20, 2024
    Configuration menu
    Copy the full SHA
    5cfbef7 View commit details
    Browse the repository at this point in the history

Commits on Nov 13, 2024

  1. Configuration menu
    Copy the full SHA
    7ea3b68 View commit details
    Browse the repository at this point in the history

Commits on Nov 16, 2024

  1. remove transitive dependency from Ostrich to JavaCup.

    This fixes a compilation error when ant tries to find JavaCup 11a. We already provide JavaCup 11b explicitly.
    kfriedberger committed Nov 16, 2024
    Configuration menu
    Copy the full SHA
    a2d2497 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    922dd53 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    fd8e810 View commit details
    Browse the repository at this point in the history
  4. Princess: Restore ivysettings.xml to its original version

    This will revert the changes made in 262bb96 to simplify development.
    daniel-raffler committed Nov 16, 2024
    Configuration menu
    Copy the full SHA
    ae05a8b View commit details
    Browse the repository at this point in the history