Automated deduction by theory resolution
Journal of Automated Reasoning
Automatic Theorem Proving with Built-in Theories Including Equality, Partial Ordering, and Sets
Journal of the ACM (JACM)
Space/time trade-offs in hash coding with allowable errors
Communications of the ACM
Extended static checking for Java
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Warren's Abstract Machine: A Tutorial Reconstruction
Warren's Abstract Machine: A Tutorial Reconstruction
Using Decision Procedures to Accelerate Domain-Specific Deductive Synthesis Systems
LOPSTR '98 Proceedings of the 8th International Workshop on Logic Programming Synthesis and Transformation
Advanced Indexing Operations on Substitution Trees
CADE-13 Proceedings of the 13th International Conference on Automated Deduction: Automated Deduction
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Vampire 1.1 (System Description)
IJCAR '01 Proceedings of the First International Joint Conference on Automated Reasoning
Complexity of finitely presented algebras
STOC '77 Proceedings of the ninth annual ACM symposium on Theory of computing
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Zap: automated theorem proving for software analysis
LPAR'05 Proceedings of the 12th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
The spec# programming system: an overview
CASSIS'04 Proceedings of the 2004 international conference on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices
A fast linear-arithmetic solver for DPLL(T)
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
A two-tier technique for supporting quantifiers in a lazily proof-explicating theorem prover
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
FroCoS'05 Proceedings of the 5th international conference on Frontiers of Combining Systems
Back to the future: revisiting precise program verification using SMT solvers
Proceedings of the 35th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Electronic Notes in Theoretical Computer Science (ENTCS)
Program analysis as constraint solving
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Full functional verification of linked data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
An SMT Approach to Bounded Reachability Analysis of Model Programs
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
Protocol Modeling with Model Program Composition
FORTE '08 Proceedings of the 28th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
An Algebraic Approach for Proving Data Correctness in Arithmetic Data Paths
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
Using Dynamic Symbolic Execution to Improve Deductive Verification
SPIN '08 Proceedings of the 15th international workshop on Model Checking Software
Boogie Meets Regions: A Verification Experience Report
VSTTE '08 Proceedings of the 2nd international conference on Verified Software: Theories, Tools, Experiments
Constraint-Based Invariant Inference over Predicate Abstraction
VMCAI '09 Proceedings of the 10th International Conference on Verification, Model Checking, and Abstract Interpretation
Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
VS3: SMT Solvers for Program Verification
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
A Concurrent Portfolio Approach to SMT Solving
CAV '09 Proceedings of the 21st International Conference on Computer Aided Verification
Light-Weight SMT-based Model Checking
Electronic Notes in Theoretical Computer Science (ENTCS)
Tapas: Theory Combinations and Practical Applications
FORMATS '09 Proceedings of the 7th International Conference on Formal Modeling and Analysis of Timed Systems
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
On theorem proving for program checking: historical perspective and recent developments
Proceedings of the 12th international ACM SIGPLAN symposium on Principles and practice of declarative programming
Towards scalable modular checking of user-defined properties
VSTTE'10 Proceedings of the Third international conference on Verified software: theories, tools, experiments
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Satisfiability solving and model generation for quantified first-order logic formulas
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
DKAL and Z3: a logic embedding experiment
Fields of logic and computation
Verification of semantic commutativity conditions and inverse operations on linked data structures
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Efficiently solving quantified bit-vector formulas
Proceedings of the 2010 Conference on Formal Methods in Computer-Aided Design
TABLEAUX'11 Proceedings of the 20th international conference on Automated reasoning with analytic tableaux and related methods
On Deciding Satisfiability by Theorem Proving with Speculative Inferences
Journal of Automated Reasoning
VMCAI'10 Proceedings of the 11th international conference on Verification, Model Checking, and Abstract Interpretation
An Instantiation Scheme for Satisfiability Modulo Theories
Journal of Automated Reasoning
Science of Computer Programming
E-Matching with free variables
LPAR'12 Proceedings of the 18th international conference on Logic for Programming, Artificial Intelligence, and Reasoning
Unbounded data model verification using SMT solvers
Proceedings of the 27th IEEE/ACM International Conference on Automated Software Engineering
Accurate invariant checking for programs manipulating lists and arrays with infinite data
ATVA'12 Proceedings of the 10th international conference on Automated Technology for Verification and Analysis
Efficiently solving quantified bit-vector formulas
Formal Methods in System Design
Instantiation Schemes for Nested Theories
ACM Transactions on Computational Logic (TOCL)
Barrier invariants: a shared state abstraction for the analysis of data-dependent GPU kernels
Proceedings of the 2013 ACM SIGPLAN international conference on Object oriented programming systems languages & applications
Quantifier instantiation techniques for finite model finding in SMT
CADE'13 Proceedings of the 24th international conference on Automated Deduction
Proof logging for computer algebra based SMT solving
Proceedings of the International Conference on Computer-Aided Design
Array Theory of Bounded Elements and its Applications
Journal of Automated Reasoning
Hi-index | 0.00 |
Satisfiability Modulo Theories (SMT) solvers have proven highly scalable, efficient and suitable for integrating theory reasoning. However, for numerous applications from program analysis and verification, the ground fragment is insufficient, as proof obligations often include quantifiers. A well known approach for quantifier reasoning uses a matching algorithm that works against an E-graph to instantiate quantified variables. This paper introduces algorithms that identify matches on E-graphs incrementally and efficiently. In particular, we introduce an index that works on E-graphs, called E-matching code treesthat combine features of substitution and code trees, used in saturation based theorem provers. E-matching code trees allow performing matching against several patterns simultaneously. The code trees are combined with an additional index, called the inverted path index, which filters E-graph terms that may potentially match patterns when the E-graph is updated. Experimental results show substantial performance improvements over existing state-of-the-art SMT solvers.