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

Models, rebased #530

Merged
merged 68 commits into from
Nov 21, 2022
Merged

Models, rebased #530

merged 68 commits into from
Nov 21, 2022

Conversation

Stevendeo
Copy link
Collaborator

No description provided.

@Stevendeo Stevendeo changed the title WIP: Models rebased Models, rebased Nov 4, 2022
@Stevendeo Stevendeo requested a review from Gbury November 8, 2022 13:46
Copy link
Collaborator

@Gbury Gbury left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't reviewed the model producing mechanism in depth, but that should be okay for a first PR, we can (and should) add tests later to verify that the model output is not too broken on at least simple cases.

alt-ergo-lib.opam Outdated Show resolved Hide resolved
src/bin/common/parse_command.ml Outdated Show resolved Hide resolved
src/bin/common/parse_command.ml Outdated Show resolved Hide resolved
src/bin/common/parse_command.ml Outdated Show resolved Hide resolved
src/lib/frontend/models.mli Outdated Show resolved Hide resolved
src/lib/reasoners/fun_sat.ml Outdated Show resolved Hide resolved
src/lib/structures/expr.ml Outdated Show resolved Hide resolved
src/lib/structures/expr.mli Outdated Show resolved Hide resolved
src/lib/structures/profile.mli Outdated Show resolved Hide resolved
src/parsers/native_parser.mly Show resolved Hide resolved
@Stevendeo Stevendeo requested a review from Gbury November 15, 2022 16:43
docs/sphinx_docs/Usage/index.md Outdated Show resolved Hide resolved
src/bin/common/parse_command.ml Outdated Show resolved Hide resolved
src/lib/frontend/typechecker.ml Outdated Show resolved Hide resolved
src/lib/reasoners/shostak.ml Outdated Show resolved Hide resolved
src/lib/structures/expr.ml Outdated Show resolved Hide resolved
src/lib/structures/expr.mli Outdated Show resolved Hide resolved
src/lib/structures/profile.mli Outdated Show resolved Hide resolved
src/lib/util/version.ml Outdated Show resolved Hide resolved
@Stevendeo Stevendeo force-pushed the models branch 2 times, most recently from 2500665 to d3eff1d Compare November 17, 2022 16:25
OCamlPro-mattiasdrp and others added 22 commits November 18, 2022 09:47
author OCamlPro-mattiasdrp <mattias@ocamlpro.com> 1591793503 +0200
committer OCamlPro-mattiasdrp <mattias@ocamlpro.com> 1593523267 +0200

Rebase from next
…ds to be well understood before making it work for every case
@Gbury Gbury merged commit 5a0870f into OCamlPro:next Nov 21, 2022
@Ninjapouet Ninjapouet added this to the 2.5.0 milestone Jan 17, 2023
Halbaroth pushed a commit to Halbaroth/alt-ergo that referenced this pull request Jan 24, 2023
Add model generation to alt-ergo

* examples and initial draft report

* attempt to fix CI: Seq dep missing to compile lib_usage test file

* change version to models

* models generation: add some examples

* parent f3ad875
author OCamlPro-mattiasdrp <mattias@ocamlpro.com> 1591793503 +0200
committer OCamlPro-mattiasdrp <mattias@ocamlpro.com> 1593523267 +0200

Rebase from next

* check sat handled on the lowest possible level, need to work on unsat instead of valid as a result

* first prototype for models in Why3, lots of hard coded stuff that needs to be well understood before making it work for every case

* Change interpretation option, use mdl-formatter to compute but not print model and interpretation

* Style check

* Move the printing of counterexample from uf.ml to models.ml

* Prototype of printer for records in smt format

* Directly use rep of bool value for counterexamples

* fix destr list rev

* Clean choose_adequate_model for boolean constant

* Add `fast` option that disable greedier instantiation phase

* remove greedier and get_fast in fun_sat

* Prototype to output constraint as model if output is set to why3

* Remove `why3-counter-example` option, use `-o why3` instead

* Code cleaning and addition of functions printing with cascade of ite

* fix compatibility for ocaml version < 4.07

* Fix printing of some type in smtlib2 output format

* Add an example which test some ce

* Add support for record constuctor use in model

* Add option dummy-value for interpretation that output _ instead of dummy fresh value when no value is computed

* Fix pp_term and assert output prototype

* Add factorisation in ite when values or the same

* reeplace dummy_value with use_underscore option

* remove  fast option, use `--instantiation-heuristic=normal` instead

* Copy print expr code in models for better management of named expr

* [models] add case-split on internal bool terms

Useful when/if the SAT don't see/assign internal bool expression and/or
SAT assignement is not propagated to theories
(eg. because of CDCL(Tableaux) filtering)

* Type Expr.view should remain "private"

* fix intendation

* Expr.get_infos returns the view: to avoid uesless tuple allocation

* refactor the way model is output from fun_sat

it now goes through Theory instead of calling directly Uf

* Rename interpretation option values to None First Last and Every

* Fix interpretation_timelimit initialisation

* auto set option "fm_cross_limit = -1" (ie. infinity) if models-gen is set.

* Fix use_underscore_interpretation option

* Remove deadcode from models and mv models.ml in frontend

* Add some  documentation in options.ml for type model, instanciation_heuristic  and interpretation

* Fix no-term-like-pp option comment

* Fix model options

* remove unused models-generation code (all, complete and default models)

* remove functions related to old model

* clean unused code

* fix linter

* Fix frontend output in case of  timeout

* Clean models, remove old native output, and remove ref for records

* Move profile module from Models module to structures

* Fix printing of constraints in why3 output  when constraints are functions and not  just constants

* Fix declare-fun command in models

* Uses printer instead of format in models comments

* Better command line arguments

* Style fix

* Adding simple model option

* Rebase artifacts

* Putting model option in the right option list

* Poetry

* Fix parse command

* Poetry

* Adding a proper exception for unsupported features and removing 'at_exit' instruction

* Adding doc & some poetry

* Consistent inlining annotations

* Not updating instantiation heuristic in model option

* New name for Profile module

* Fix SMTLIB2 printer

* Poetry

* Rebase artifacts

Co-authored-by: OCamlPro-mattiasdrp <mattias@ocamlpro.com>
Co-authored-by: OriginLabs-Iguernlala <mohamed.iguernlala@origin-labs.com>
Co-authored-by: Albin Coquereau <albin.coquereau@ocamlpro.com>
Co-authored-by: Albin Coquereau <pro.acoquer@protonmail.com>
Co-authored-by: Albin Coquereau <6535385+ACoquereau@users.noreply.github.com>
@Halbaroth Halbaroth mentioned this pull request Aug 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants