Claims
- 1. A method for deciding a formula with respect to a state comprising:
canonizing said formula to create a canonical formula; abstracting the variables in said canonical formula and said state to create an abstracted formula and an abstracted state; asserting said abstracted formula into said abstracted state to create an asserted state; and closing the asserted state.
- 2. A method as in claim 1 further comprising the step of signaling a contradiction between the formula and the state, indicating unsatisfiability of the formula.
- 3. A method as in claim 1 for deciding a formula with respect to a state wherein said method is used as a decision procedure within a Nelson-Oppen framework.
- 4. A method as in claim 1 wherein said step of abstracting the variables in said canonical formula comprises reducing an equality between terms to an equality between variables and an enhanced solution state.
- 5. A method as in claim 1 wherein said method is operable in a modular manner so as to combine solvers and canonizers into a combination decision procedure.
- 6. A method as in claim 1 wherein said formula contains uninterpreted function and predicate symbols.
- 7. A method as in claim 1 wherein said formula contains symbols from more than one interpreted theory.
- 8. A method as in claim 7 wherein the interpreted theory is selected from the group consisting of arithmetic, lists, arrays and bitvectors.
- 9. A method as in claim 1 wherein the method is operable in an online manner so as to process each formula as it is given.
- 10. A method as in claim 1 wherein the formula is a proof obligation resulting from an application selected from the group consisting of automated verification, program optimization and test case generation.
- 11. A method for closing a set of sets of formulas, such set of sets containing a variable equality state set, an uninterpreted theory state set and one or more theory state sets comprising:
merging any equalities present in the one or more theory state sets that are not present in the variable equality state set into the variable equality state set and into the uninterpreted theory state set; merging any equalities present in the variable equality state set that are not present in the one or more theory state sets into said one or more theory state sets; and normalizing the one or more theory state sets.
- 12. A method as in claim 11 wherein the step of merging any equalities present in the variable equality state set that are not present in the one or more theory state sets merges the equality after the application of a theory-specific solver.
- 13. A method for canonizing a term with respect to a theory state comprising:
canonizing all subterms of the term to create canonical subterms; interpreting said canonical subterms to create interpreted canonical subterms; creating a second term from the application of the operator of the first term to the interpreted canonical subterms; applying a theory specific canonizer to the second term to create a theory specific canonized term; determining if the theory specific canonized term is the right hand side of an equality in said theory state and if so returning the left hand side of said equality, otherwise returning the theory specific canonized term.
RELATED APPLICATIONS
[0001] This application claims priority from co-pending U.S. Provisional Application Serial No. 60/397,201 filed Jul. 19, 2002.
REFERENCE TO GOVERNMENT FUNDING
[0002] This invention was made with Government support under Contract Number CA86370-02 awarded by the National Science Foundation. The Government has certain rights in this invention.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60397201 |
Jul 2002 |
US |