3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-31 19:52:29 +00:00

outline finite_set theory solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-10-05 16:22:28 -07:00
parent 97c8fb15fa
commit 7356b5ff88
2 changed files with 76 additions and 20 deletions

View file

@ -6,29 +6,9 @@ Module Name:
finite_set_axioms.h
Abstract:
Axiom schemas for finite sets.
Axiom schemars for finite sets are instantiated based on the state of the
congruence closure and existing assertions in for finite sets.
This module implements axiom schemas that are invoked by saturating constraints
with respect to the semantics of set operations.
Let v1 ~ v2 mean that v1 and v2 are congruent
The set-based decision procedure relies on saturating with respect
to rules of the form:
x in v1 == v2, v1 ~ set.empty
--------------------------------
not (x in set.empty)
x in v1 == v2, v1 ~ v3, v3 == (set.union v4 v5)
-----------------------------------------------
x in v1 <=> x in v4 or x in v5
set.size : (FiniteSet S) -> Int
set.subset : (FiniteSet S) (FiniteSet S) -> Bool
--*/