-
Notifications
You must be signed in to change notification settings - Fork 33
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use `Expr.t` values instead of strings to store the value of the first-order model. Add a new function `to_term_const` in the signature of `Shostak`. Basically this function is the inverse function of `X.make` on the constant terms only. The function always returns a term `t` such that `Expr.is_const_term t` is `true`. Notice that we need this function during model generation. Indeed, even if the class of a semantic value in UF contains terms whose the `make` is constant according to `X.is_constant`, these terms aren't necessary constant according to `Expr.is_const_term`. For instance, the term `0 + 1` will become the semantic value `1` and we expect that `X.to_term_const` returns `Some 1`. Modify the definition of `Expr.is_const_term` (formerly named `const_term`). The previous definition considered that the application of constructor of an ADT to constant terms isn't a constant term. The same went for record definitions. Now, there are constant too. We have to check that this modification is correct for the Notice that we keep the old definion `const_term` in the module `Expr` but we don't expose it anymore. Indeed, this function is used to detect constants in the smart constructor of the let bindings because the definition of the depth of formulae have been tweaked to prevent regressions. Modifying this function could be dangereous.
- Loading branch information
Showing
24 changed files
with
229 additions
and
354 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.