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

Clean up OptimAE #921

Merged
merged 24 commits into from
Dec 6, 2023
Merged

Clean up OptimAE #921

merged 24 commits into from
Dec 6, 2023

Commits on Dec 5, 2023

  1. Removing the optimization support in the native language

    The current implementation of `maximize` and `minimize` isn't satisfying in
    the native language. As this feature have never been released and MERCE prefers
    using the SMT-LIB format, we remove the support of optimization in the native
    language.
    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    ea784c0 View commit details
    Browse the repository at this point in the history
  2. Clean up OptimAE

    This PR refactors the way we manage optimization constraints in
    Alt-Ergo.
    
    - Optimization constraints aren't tag on subformulas anymore. Instead
      we use the MaxSMT syntaxes.
    - We don't support optimization in Alt-Ergo native format. As this
      feature haven't been published, we don't need to deprecated it.
    - We support `maximize`, `minimize` and `get-objectives`. There is no
      support for `assert-soft`. I think it's out of the scope of this PR.
    - The SAT solver API exposes two new functions: `optimize` and
      `get_objectives` which, respectively, register objective function and
      return the current objective model.
    - The objective values are expressions.
    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    d3fdb3d View commit details
    Browse the repository at this point in the history
  3. linter

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    cf11411 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    08e413f View commit details
    Browse the repository at this point in the history
  5. change review

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    f9f8a25 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    b648a22 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    791c2f7 View commit details
    Browse the repository at this point in the history
  8. promote tests

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    97fb30e View commit details
    Browse the repository at this point in the history
  9. rebase artefact

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    a850678 View commit details
    Browse the repository at this point in the history
  10. the lazy force be with you

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    0fbc6d3 View commit details
    Browse the repository at this point in the history
  11. Get rid of 0-x

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    9737a61 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    d395e69 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    8482427 View commit details
    Browse the repository at this point in the history
  14. Optimization at toplevel only

    The optimization constraint is wrong if we use it in incremental
    mode but it's safe if we use `maximize` and `minimize` at the top level
    only.
    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    0927911 View commit details
    Browse the repository at this point in the history
  15. Remove useless test

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    7d28004 View commit details
    Browse the repository at this point in the history
  16. Poetry

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    5452cfc View commit details
    Browse the repository at this point in the history
  17. promote tests

    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    8775e68 View commit details
    Browse the repository at this point in the history
  18. Propagate value produced by middle_value

    The value produced by `middle_value` in `intervalCalculus` wasn't
    propagate to the CC(X) module in `look_for_sat`. We propagate it now.
    
    I also modify the test `arith7.optimize.smt2` as we cannot use both
    incremental mode and optimization constraints.
    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    9170dc7 View commit details
    Browse the repository at this point in the history
  19. Prevent impure terms in MaxSMT statements

    We don't support yet impure terms or formulae in `maximize` and
    `minimize` statements. Let's print a warning message and ignoring
    invalid objective functions.
    Halbaroth committed Dec 5, 2023
    Configuration menu
    Copy the full SHA
    3a81d23 View commit details
    Browse the repository at this point in the history

Commits on Dec 6, 2023

  1. Update src/bin/common/solving_loop.ml

    Co-authored-by: Basile Clément <129742207+bclement-ocp@users.noreply.github.com>
    Halbaroth and bclement-ocp authored Dec 6, 2023
    Configuration menu
    Copy the full SHA
    8c9cc36 View commit details
    Browse the repository at this point in the history
  2. Update src/lib/reasoners/intervalCalculus.ml

    Co-authored-by: Basile Clément <129742207+bclement-ocp@users.noreply.github.com>
    Halbaroth and bclement-ocp authored Dec 6, 2023
    Configuration menu
    Copy the full SHA
    eab3eb2 View commit details
    Browse the repository at this point in the history
  3. Update src/lib/reasoners/theory.ml

    Co-authored-by: Basile Clément <129742207+bclement-ocp@users.noreply.github.com>
    Halbaroth and bclement-ocp authored Dec 6, 2023
    Configuration menu
    Copy the full SHA
    568908f View commit details
    Browse the repository at this point in the history
  4. Link to the issue 993

    Halbaroth committed Dec 6, 2023
    Configuration menu
    Copy the full SHA
    a9a81dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    d1109b0 View commit details
    Browse the repository at this point in the history