Combined Satisfiability Modulo Parametric...
Transcript of Combined Satisfiability Modulo Parametric...
![Page 1: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/1.jpg)
Combined Satisfiability
Modulo Parametric Theories
Sava Krstic*, Amit Goel*, Jim Grundy*, and Cesare Tinelli **
*Strategic CAD Labs, Intel
**The University of Iowa
Intel’07 – p.1/39
![Page 2: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/2.jpg)
This Talk
Based on work in
S. Krstic, A. Goel, J. Grundy, and C. Tinelli.Combined Satisfiability Modulo Parametric Theories .TACAS’07, 2007.
S. Krstic and A. Goel.Architecting Solvers for SAT Modulo Theories:Nelson-Oppen with DPLL .FroCoS, 2007.
Intel’07 – p.2/39
![Page 3: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/3.jpg)
Contribution
Nelson-Oppen framework for theories in parametrically polymorphiclogics—a fresh foundation for design of SMT solvers
Highlights
Endowing SMT with a rich typed input language that can modelarbitrarily nested data structures
Completeness of a Nelson-Oppen-style combination methodproved for theories of all common datatypes
Troublesome stable infiniteness condition replaced by a naturalnotion of type parametricity
Issue of handling finite-cardinality constraints exposed ascrucial for completeness
Intel’07 – p.3/39
![Page 4: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/4.jpg)
SAT Modulo Theories (SMT)
There are decision procedures for (fragments of) logical theories ofcommon datatypes
Use them to decide validity/satisfiability of queries, quantifier-freeformulas, that involve symbols from several theories
f(x) = x ⇒ f(2x− f(x)) = x [TUF + TInt]
head(a) = f(x) + 1 . . . [TUF + TInt + TList]
The underlying logic is classical (unsorted or many-sorted)first-order logic
Intel’07 – p.4/39
![Page 5: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/5.jpg)
SMT Solvers over MultipleTheories
G. Nelson, D. C. Oppen Simplification by cooperating decisionprocedures, 1979
Input:
theories T1, . . . , Tn with disjoint signatures Σ1, . . . ,Σn
decision procedures Pi for the Ti-satisfiability of sets ofΣi-literals
Output:
a decision procedure for (T1 + · · ·+ Tn)-satisfiability of sets of(Σ1 + · · ·+ Σn)-literals.
Intel’07 – p.5/39
![Page 6: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/6.jpg)
SMT Solvers over MultipleTheories
Input:
theories T1, . . . , Tn with disjoint signatures Σ1, . . . ,Σn
decision procedures Pi for the Ti-satisfiability of sets ofΣi-literals
Output:
a decision procedure for (T1 + · · ·+ Tn)-satisfiability of sets of(Σ1 + · · ·+ Σn)-literals.
Main Idea:
1. Input S is purified into equisatisfiable S1, . . . Sn;
2. each Pi works on Si but propagates to the others any entailedequalities between shared variables.
Intel’07 – p.6/39
![Page 7: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/7.jpg)
Nelson-Oppen: Example
T1 = theory of lists T2 = linear arithmetic
Input set:
S =
8
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
:
l1 6= l2,
head(l2) ≤ x,
l = tail(l2),
l1 = x :: l,
head(l) − head(tail l1) + x ≤ head(l2)
Purified sets:
S1 =
8
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
:
l1 6= l2,
y1 = head(l2),
l = tail(l2),
l1 = x :: l,
y2 = head(l), y3 = head(tail l1)
S2 =
8
<
:
y1 ≤ x,
y2 − y3 + x ≤ y1
Intel’07 – p.7/39
![Page 8: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/8.jpg)
Nelson-Oppen: Example
S1 S2
l1 6= l2 y1 ≤ x
y1 = head(l2) y2 − y3 + x ≤ y1l = tail(l2)
l1 = x :: l
y2 = head(l)
y3 = head(tail l1)
Intel’07 – p.8/39
![Page 9: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/9.jpg)
Nelson-Oppen: Example
S1 S2
l1 6= l2 y1 ≤ x
y1 = head(l2) y2 − y3 + x ≤ y1l = tail(l2)
l1 = x :: l
y2 = head(l)
y3 = head(tail l1)
−→ y2 = y3
Intel’07 – p.8/39
![Page 10: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/10.jpg)
Nelson-Oppen: Example
S1 S2
l1 6= l2 y1 ≤ x
y1 = head(l2) y2 − y3 + x ≤ y1l = tail(l2)
l1 = x :: l
y2 = head(l)
y3 = head(tail l1)
−→ y2 = y3
x = y1 ←−
Intel’07 – p.8/39
![Page 11: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/11.jpg)
Nelson-Oppen: Example
S1 S2
l1 6= l2 y1 ≤ x
y1 = head(l2) y2 − y3 + x ≤ y1l = tail(l2)
l1 = x :: l
y2 = head(l)
y3 = head(tail l1)
−→ y2 = y3
x = y1 ←−
Unsatisfiable!
Intel’07 – p.8/39
![Page 12: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/12.jpg)
Correctness of Nelson-Oppen
The combination procedure is sound for any T1, . . . , Tn:
if it returns “Unsatisfiable”, then its input S is unsatisfiable inT1 + · · ·+ Tn
Intel’07 – p.9/39
![Page 13: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/13.jpg)
Correctness of Nelson-Oppen
The combination procedure is sound for any T1, . . . , Tn:
if it returns “Unsatisfiable”, then its input S is unsatisfiable inT1 + · · ·+ Tn
It is complete when
Intel’07 – p.9/39
![Page 14: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/14.jpg)
Correctness of Nelson-Oppen
The combination procedure is sound for any T1, . . . , Tn:
if it returns “Unsatisfiable”, then its input S is unsatisfiable inT1 + · · ·+ Tn
It is complete when
1. T1, . . . , Tn are pairwise signature-disjoint, and
Intel’07 – p.9/39
![Page 15: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/15.jpg)
Correctness of Nelson-Oppen
The combination procedure is sound for any T1, . . . , Tn:
if it returns “Unsatisfiable”, then its input S is unsatisfiable inT1 + · · ·+ Tn
It is complete when
1. T1, . . . , Tn are pairwise signature-disjoint, and
2. each Ti is stably-infinite
Intel’07 – p.9/39
![Page 16: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/16.jpg)
The Notorious StableInfiniteness Restriction
A first-order theory T is stably infinite if every T -satisfiable groundformula is satisfiable in an infinite model of T .
Intel’07 – p.10/39
![Page 17: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/17.jpg)
The Notorious StableInfiniteness Restriction
A first-order theory T is stably infinite if every T -satisfiable groundformula is satisfiable in an infinite model of T .
Helps guarantee that models of pure parts of a query ϕ can beamalgamated into a model of ϕ
Intel’07 – p.10/39
![Page 18: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/18.jpg)
The Notorious StableInfiniteness Restriction
A first-order theory T is stably infinite if every T -satisfiable groundformula is satisfiable in an infinite model of T .
Helps guarantee that models of pure parts of a query ϕ can beamalgamated into a model of ϕ
Yields completeness of N-O, butit’s not immediate to proveit’s not true in some important cases (e.g., bit vectors)
Intel’07 – p.10/39
![Page 19: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/19.jpg)
The Notorious StableInfiniteness Restriction
A first-order theory T is stably infinite if every T -satisfiable groundformula is satisfiable in an infinite model of T .
Helps guarantee that models of pure parts of a query ϕ can beamalgamated into a model of ϕ
Yields completeness of N-O, butit’s not immediate to proveit’s not true in some important cases (e.g., bit vectors)
General understanding: the condition doesn’t matter much—ifyou know what you are doing
Intel’07 – p.10/39
![Page 20: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/20.jpg)
The Notorious StableInfiniteness Restriction
A first-order theory T is stably infinite if every T -satisfiable groundformula is satisfiable in an infinite model of T .
Helps guarantee that models of pure parts of a query ϕ can beamalgamated into a model of ϕ
Yields completeness of N-O, butit’s not immediate to proveit’s not true in some important cases (e.g., bit vectors)
General understanding: the condition doesn’t matter much—ifyou know what you are doing
Lot of research shows completeness of N-O variants without it:[Tinelli-Zarba’04], [Fontaine-Gribomont’04], [Zarba’04],[Ghilardi et al.’07], [Ranise et al.’05]
Intel’07 – p.10/39
![Page 21: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/21.jpg)
Why Stable Infiniteness isNeeded
T1 = theory of “uninterpreted functions”T2 = theory of Boolean rings (not stably-infinite)
Purified Input:
S1 S2
f(x1) 6= x1 x1 = 0
f(x1) 6= x2 x2 = 1
There are no equations to propagate: the procedure returns”satisfiable”
Is that correct?
Intel’07 – p.11/39
![Page 22: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/22.jpg)
Our Main Points
In combining theories of different data types
1. a typed logic (with parametric types) is a more adequateunderlying logic than unsorted logic
2. parametricity is the key notion not stable infiniteness
Intel’07 – p.12/39
![Page 23: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/23.jpg)
Parametricity, Not StableInfiniteness: Example
ΦList =
tail l1 = tail l2
x1 = head l1
x2 = head l2
x = head(tail l1)
ΦInt =
x = x1 + z
x2 = x1 + z∆ =
x = x2
x 6= x1
Intel’07 – p.13/39
![Page 24: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/24.jpg)
Parametricity, Not StableInfiniteness: Example
ΦList =
tail l1 = tail l2
x1 = head l1
x2 = head l2
x = head(tail l1)
ΦInt =
x = x1 + z
x2 = x1 + z∆ =
x = x2
x 6= x1
x1 x2 x l1 l2
N • • [N, •] [•, •]
|=TListΦList ∪∆
x1 x2 x z
1 2 2 1
|=TIntΦInt ∪∆
Intel’07 – p.13/39
![Page 25: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/25.jpg)
Parametricity, Not StableInfiniteness: Example
ΦList =
tail l1 = tail l2
x1 = head l1
x2 = head l2
x = head(tail l1)
ΦInt =
x = x1 + z
x2 = x1 + z∆ =
x = x2
x 6= x1
x1 x2 x l1 l2
N • • [N, •] [•, •]
|=TListΦList ∪∆
x1 x2 x z
1 2 2 1
|=TIntΦInt ∪∆
TList knows nothing about Z and cannot distinguish (N, •) from any pair(m,n) of distinct integers:
Intel’07 – p.13/39
![Page 26: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/26.jpg)
Parametricity, Not StableInfiniteness: Example
ΦList =
tail l1 = tail l2
x1 = head l1
x2 = head l2
x = head(tail l1)
ΦInt =
x = x1 + z
x2 = x1 + z∆ =
x = x2
x 6= x1
x1 x2 x l1 l2
N • • [N, •] [•, •]
|=TListΦList ∪∆
x1 x2 x z
1 2 2 1
|=TIntΦInt ∪∆
TList knows nothing about Z and cannot distinguish (N, •) from any pair(m,n) of distinct integers:
x1 x2 x l1 l2
m n n [m,n] [n, n]
|= ΦList ∪∆ as well
Intel’07 – p.13/39
![Page 27: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/27.jpg)
Parametricity, Not StableInfiniteness: Example
ΦList =
tail l1 = tail l2
x1 = head l1
x2 = head l2
x = head(tail l1)
ΦInt =
x = x1 + z
x2 = x1 + z∆ =
x = x2
x 6= x1
x1 x2 x l1 l2
N • • [N, •] [•, •]
|=TListΦList ∪∆
x1 x2 x z
1 2 2 1
|=TIntΦInt ∪∆
TList knows nothing about Z and cannot distinguish (N, •) from any pair(m,n) of distinct integers:
to construct a model for ΦList ∪ ΦInt ∪∆, we can use the blueassignment to x1, x2, x
Intel’07 – p.13/39
![Page 28: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/28.jpg)
Real Issue in NO Combination
Not so much getting stable-infiniteness right, but
getting underlying logic right
Intel’07 – p.14/39
![Page 29: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/29.jpg)
Real Issue in NO Combination
Not so much getting stable-infiniteness right, but
getting underlying logic right
Our proposal
FOLP: A first order logic with parametrized type constructors andtype variables
Essentially, the applicative fragment of HOL
Intel’07 – p.14/39
![Page 30: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/30.jpg)
FOLP Syntax
Types
V , an infinite set of type variables
Ex: α, β, α1, β1, . . .
O, a set of type operators, symbols with associated arity n ≥ 0
Ex: Bool/0, Int/0, List/1, Arr/2, ⇒/2, . . .
Types(O, V ), set of types, terms over O, V
Ex: Int, List(α), List(Int), Arr(Int, List(α)), List(α)⇒ Int, . . .
Intel’07 – p.15/39
![Page 31: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/31.jpg)
FOLP Syntax
First-order Types: Types over O \ {⇒}, V
Constants: K, set of symbols each with an associated principaltype τ
Ex: ⊤Bool, ¬Bool⇒Bool, =α,α⇒Bool, +Int,Int⇒Int,cons
α,List(α)⇒List(α), readArr(α,β),α⇒β, . . .
Term Variables: Xτ , for each τ ∈ Types(O, V ), an infinite set ofsymbols annotated with τ
Ex: xα, yList(β), zα⇒α, xArr(Int,Bool), . . .
Intel’07 – p.16/39
![Page 32: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/32.jpg)
FOLP Syntax
Signatures: pairs Σ = 〈O | K〉 with
O always containing⇒ and Bool
K always containing =α,α⇒Bool, iteBool,α,α⇒α, and
the usual logical constants ¬Bool⇒Bool, ∧Bool,Bool⇒Bool, . . .
Σ-Terms of First-order Type τ : Tτ (K,X), defined as usual
Ex: xInt⇒Bool yInt, (read aArr(Int,List(β)) iInt) = xList(β),
First-order (Quantifier-free) Formulas: Terms in TBool(K,X)
Intel’07 – p.17/39
![Page 33: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/33.jpg)
FOLP Semantics
Structures of signature Σ = 〈O | K〉
Pair S of
1. an interpretation (_)S of type operators F as set operators
2. an interpretation (_)S of constants f as set-indexed families offunctions (with index determined by TypeVars(τ) where fτ )
s.t. Bool,⇒, and =, ite,∧, . . . are the interpreted in the usual way.
Intel’07 – p.18/39
![Page 34: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/34.jpg)
FOLP Semantics
Structures of signature Σ = 〈O | K〉
Pair S of
1. an interpretation (_)S of type operators F as set operators
2. an interpretation (_)S of constants f as set-indexed families offunctions (with index determined by TypeVars(τ) where fτ )
s.t. Bool,⇒, and =, ite,∧, . . . are the interpreted in the usual way.
Ex 1:Int
S equals the integersList
S maps an input set A to the set of finite lists over AArr
S maps input sets I and A to the set of arrays withindex set I and element set A
Intel’07 – p.18/39
![Page 35: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/35.jpg)
FOLP Semantics
Structures of signature Σ = 〈O | K〉
Pair S of
1. an interpretation (_)S of type operators F as set operators
2. an interpretation (_)S of constants f as set-indexed families offunctions (with index determined by TypeVars(τ) where fτ )
s.t. Bool,⇒, and =, ite,∧, . . . are the interpreted in the usual way.
Ex 2:head
S family {head [A1] | A1 is a set} (since headList(α)⇒α)
readS family {read [A1, A2] | A1, A2 are sets}
(since readArr(α1,α2),α1⇒α2)
+S singleton family (since +Int,Int⇒Int)
Intel’07 – p.18/39
![Page 36: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/36.jpg)
FOLP Semantics
For every signature Σ = 〈O | K〉, Σ-structure S, type environment ι,term environment ρ, and Σ-formula ϕ,
we can define [_]Sι,ρ (as expected) to map Σ-formulas to {true, false}
Intel’07 – p.19/39
![Page 37: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/37.jpg)
FOLP Semantics
For every signature Σ = 〈O | K〉, Σ-structure S, type environment ι,term environment ρ, and Σ-formula ϕ,
we can define [_]Sι,ρ (as expected) to map Σ-formulas to {true, false}
Satisfiability
ϕ is satisfied in S by ι and ρ, written ι, ρ |=S ϕ, if [ϕ]Sι,ρ = true
ϕ is satisfiable in S if ι, ρ |=S ϕ for some ι and ρ
Intel’07 – p.19/39
![Page 38: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/38.jpg)
FOLP Semantics
For every signature Σ = 〈O | K〉, Σ-structure S, type environment ι,term environment ρ, and Σ-formula ϕ,
we can define [_]Sι,ρ (as expected) to map Σ-formulas to {true, false}
Satisfiability
ϕ is satisfied in S by ι and ρ, written ι, ρ |=S ϕ, if [ϕ]Sι,ρ = true
ϕ is satisfiable in S if ι, ρ |=S ϕ for some ι and ρ
Cardinality Constraints
(Meta)Expressions of the form α.= n with n > 0
α.= n is satisfied in S by ι, ρ, written ι, ρ |=S α
.= n, if |ι(α)| = n
Intel’07 – p.19/39
![Page 39: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/39.jpg)
The Equality Structure
Let
KEq = =α,α⇒Bool,⊤Bool,¬Bool⇒Bool, iteBool,α,α⇒α, . . .
ΣEq = 〈Bool,⇒ | KEq〉
SEq = the unique ΣEq-structure
Intel’07 – p.20/39
![Page 40: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/40.jpg)
The Equality Structure
Let
KEq = =α,α⇒Bool,⊤Bool,¬Bool⇒Bool, iteBool,α,α⇒α, . . .
ΣEq = 〈Bool,⇒ | KEq〉
SEq = the unique ΣEq-structure
Note: SEq models
the logical constants of FOL= and
the “uninterpreted functions” data type, by means ofhigher-order term variables (xα1,...,αn⇒α)
Intel’07 – p.20/39
![Page 41: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/41.jpg)
The Equality Structure
Let
KEq = =α,α⇒Bool,⊤Bool,¬Bool⇒Bool, iteBool,α,α⇒α, . . .
ΣEq = 〈Bool,⇒ | KEq〉
SEq = the unique ΣEq-structure
Note: SEq models
the logical constants of FOL= and
the “uninterpreted functions” data type, by means ofhigher-order term variables (xα1,...,αn⇒α)
Fact: The satisfiability in SEq of first-order ΣEq-formulas is decidable(with the usual congruence closure algorithms)
Intel’07 – p.20/39
![Page 42: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/42.jpg)
Parametricity [TACAS’07]
A structure is parametric if it interpretsall its type operators, except⇒, as parametric set operators andall its constants as parametric function families
Intel’07 – p.21/39
![Page 43: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/43.jpg)
Parametricity [TACAS’07]
A structure is parametric if it interpretsall its type operators, except⇒, as parametric set operators andall its constants as parametric function families
Parametricity of type operators and constants similar (but notcomparable) to Reynold’s parametricity
Intel’07 – p.21/39
![Page 44: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/44.jpg)
Parametricity [TACAS’07]
A structure is parametric if it interpretsall its type operators, except⇒, as parametric set operators andall its constants as parametric function families
Parametricity of type operators and constants similar (but notcomparable) to Reynold’s parametricity
Natural property of data types
Intel’07 – p.21/39
![Page 45: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/45.jpg)
Parametricity [TACAS’07]
A structure is parametric if it interpretsall its type operators, except⇒, as parametric set operators andall its constants as parametric function families
Parametricity of type operators and constants similar (but notcomparable) to Reynold’s parametricity
Natural property of data types
States precisely the informal notion that
certain type operators and function symbols have auniform interpretation over the possible values of thetype variables
Intel’07 – p.21/39
![Page 46: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/46.jpg)
Parametricity [TACAS’07]
A structure is parametric if it interpretsall its type operators, except⇒, as parametric set operators andall its constants as parametric function families
Parametricity of type operators and constants similar (but notcomparable) to Reynold’s parametricity
Natural property of data types
States precisely the informal notion that
certain type operators and function symbols have auniform interpretation over the possible values of thetype variables
Plays the role of stable-infiniteness in Nelson-OppenIntel’07 – p.21/39
![Page 47: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/47.jpg)
Parametric Structures
Fact: All structures of practical interest are parametric in our sense
ΣInt = 〈Int | 0Int, 1Int,+Int2→Int,−Int2→Int,×Int2→Int,≤Int2→Bool, . . .〉
ΣArr = 〈Arr | mk_arrβ→Arr(α,β), read[Arr(α,β),α]→β,write
[Arr(α,β),α,β]→Arr(α,β)〉
ΣList = 〈List | cons[α,List(α)]→List(α), nil
List(α), headList(α)→α, tailList(α)→List(α)〉
Σ× = 〈× | 〈_,_〉[α,β]→α×β, fstα×β→α, snd
α×β→β〉
ΣBitVec32 = . . .
ΣSets = . . .
ΣMultisets = . . .
(All the above signatures implicitly include the signature ΣEq)Intel’07 – p.22/39
![Page 48: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/48.jpg)
Combining Signatures andStructures
Disjoint Signatures
Signatures that share exactly the symbols of ΣEq
Intel’07 – p.23/39
![Page 49: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/49.jpg)
Combining Signatures andStructures
Disjoint Signatures
Signatures that share exactly the symbols of ΣEq
Combination of Disjoint Signatures Σ1,Σ2
Σ1 + Σ2 = 〈O1 ∪O2 | K1 ∪K2〉 where Σi = 〈Oi | Ki〉
Intel’07 – p.23/39
![Page 50: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/50.jpg)
Combining Signatures andStructures
Disjoint Signatures
Signatures that share exactly the symbols of ΣEq
Combination of Disjoint Signatures Σ1,Σ2
Σ1 + Σ2 = 〈O1 ∪O2 | K1 ∪K2〉 where Σi = 〈Oi | Ki〉
Combination of Signature-Disjoint Structures S1,S2
(Σ1 + Σ2)-structure S1 + S2 that interprets Σi-symbols exactly like Sifor i = 1, 2.
Intel’07 – p.23/39
![Page 51: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/51.jpg)
Combining Signatures andStructures
Disjoint Signatures
Signatures that share exactly the symbols of ΣEq
Combination of Disjoint Signatures Σ1,Σ2
Σ1 + Σ2 = 〈O1 ∪O2 | K1 ∪K2〉 where Σi = 〈Oi | Ki〉
Combination of Signature-Disjoint Structures S1,S2
(Σ1 + Σ2)-structure S1 + S2 that interprets Σi-symbols exactly like Sifor i = 1, 2.
Note: Modulo isomorphism, + is an ACU operator with unit SEq
Intel’07 – p.23/39
![Page 52: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/52.jpg)
Pure and Semipure Terms
Let S1, . . . ,Sn be structures with disjoint signatures Σi = 〈Oi | Ki〉
We call a (Σ1 + · · ·+ Σn)-term
i-semipure if it has signature 〈O1 ∪ · · · ∪On | Ki〉
i-pure if it has signature 〈Oi | Ki〉
ExΣ1 = 〈Int | 0Int, 1Int,+Int,Int⇒Int,−Int⇒Int,≤Int,Int⇒Bool, . . .〉
Σ2 = 〈Arr | readArr(α,β),α⇒β,writeArr(α,β),α,β⇒Arr(α,β)〉
1-semipure: read(aArr(Int,Int), iInt), aArr(Int,β), aArr(Int,Arr(Int,Int))
1-pure: read(aArr(α,α), iα), aArr(α,β), aArr(α,Arr(β1,β2))
Intel’07 – p.24/39
![Page 53: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/53.jpg)
Pure and Semipure Terms
Let S1, . . . ,Sn be structures with disjoint signatures Σi = 〈Oi | Ki〉
We call a (Σ1 + · · ·+ Σn)-term
i-semipure if it has signature 〈O1 ∪ · · · ∪On | Ki〉
i-pure if it has signature 〈Oi | Ki〉
Fact For each i-semipure term t we can compute a most specificpure generalization tpure of t
Exϕ : read(aArr(Int,Pair(Arr(Bool,Bool))), iInt) = xPair(Arr(Bool,Bool))
ϕpure : read(aArr(α,β), iα) = xβ
Intel’07 – p.24/39
![Page 54: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/54.jpg)
Pure and Semipure Terms
Let S1, . . . ,Sn be parametric structures with disjoint signaturesΣi = 〈Oi | Ki〉
Proposition A set Φi of i-semipure formulas is(S1 + · · ·+ Sn)-satisfiable
iffΦpurei ∪ Φcard
i is Si-satisfiable
for some suitable set Φcardi of cardinality constraints computable
from Φi
ExΦi : { read(aArr(Int,Pair(Arr(Bool,Bool))), iInt) = xPair(Arr(Bool,Bool)) }
Φpurei : { read(aArr(α,β), iα) = xβ }
Φcardi : { β
.= 16 }
Intel’07 – p.25/39
![Page 55: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/55.jpg)
Why Cardinality Constraintsare Needed
Φ : {xList(α)i 6= x
List(α)j }0≤i<j≤5 ∪ {tail(tail x
List(α)i ) = nil}1≤i≤5
Φ1 : {xList(Int)i 6= x
List(Int)j }0≤i<j≤5 ∪ {tail(tail x
List(Int)i ) = nil}1≤i≤5
Φ2 : {xList(Bool)i 6= x
List(Bool)j }0≤i<j≤5 ∪ {tail(tail x
List(Bool)i ) = nil}1≤i≤5
Φ and Φ1 are (SInt + SList)-satisfiable, Φ2 is not
Intel’07 – p.26/39
![Page 56: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/56.jpg)
Why Cardinality Constraintsare Needed
Φ : {xList(α)i 6= x
List(α)j }0≤i<j≤5 ∪ {tail(tail x
List(α)i ) = nil}1≤i≤5
Φ1 : {xList(Int)i 6= x
List(Int)j }0≤i<j≤5 ∪ {tail(tail x
List(Int)i ) = nil}1≤i≤5
Φ2 : {xList(Bool)i 6= x
List(Bool)j }0≤i<j≤5 ∪ {tail(tail x
List(Bool)i ) = nil}1≤i≤5
Φ and Φ1 are (SInt + SList)-satisfiable, Φ2 is not
SList-solver can’t take Φ1 or Φ2 as input: they are not ΣList-pure
Intel’07 – p.26/39
![Page 57: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/57.jpg)
Why Cardinality Constraintsare Needed
Φ : {xList(α)i 6= x
List(α)j }0≤i<j≤5 ∪ {tail(tail x
List(α)i ) = nil}1≤i≤5
Φ1 : {xList(Int)i 6= x
List(Int)j }0≤i<j≤5 ∪ {tail(tail x
List(Int)i ) = nil}1≤i≤5
Φ2 : {xList(Bool)i 6= x
List(Bool)j }0≤i<j≤5 ∪ {tail(tail x
List(Bool)i ) = nil}1≤i≤5
Φ and Φ1 are (SInt + SList)-satisfiable, Φ2 is not
SList-solver can’t take Φ1 or Φ2 as input: they are not ΣList-pure
Instead of Φ1, it gets Φ = Φpure1 with cardinality constraint ∅
Intel’07 – p.26/39
![Page 58: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/58.jpg)
Why Cardinality Constraintsare Needed
Φ : {xList(α)i 6= x
List(α)j }0≤i<j≤5 ∪ {tail(tail x
List(α)i ) = nil}1≤i≤5
Φ1 : {xList(Int)i 6= x
List(Int)j }0≤i<j≤5 ∪ {tail(tail x
List(Int)i ) = nil}1≤i≤5
Φ2 : {xList(Bool)i 6= x
List(Bool)j }0≤i<j≤5 ∪ {tail(tail x
List(Bool)i ) = nil}1≤i≤5
Φ and Φ1 are (SInt + SList)-satisfiable, Φ2 is not
SList-solver can’t take Φ1 or Φ2 as input: they are not ΣList-pure
Instead of Φ1, it gets Φ = Φpure1 with cardinality constraint ∅
Instead of Φ2, it gets Φ = Φpure2 with the cardinality constraint
{α.= 2}
Intel’07 – p.26/39
![Page 59: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/59.jpg)
Towards Nelson-OppenCombination: Purification
We turn each query Φ into the purified form
ΦB ∪ ΦE ∪ Φ1 ∪ · · · ∪ Φn
where
ΦB is a set of propositional formulas
ΦE = {pBool ≡ xτ = yτ}pBool,xτ ,yτ with τ 6= Bool
Φi = {pBool ≡ ψ}pBool,ψ ∪ {xτ = t}xτ ,t with ψ, t non-variables,
i-semipure, and not containing logical constants
Ex: f(x) = x ∨ f(2 ∗ x− f(x)) > x becomes
ΦB = {p ∨ q} ΦE = {p ≡ y = x},
ΦEq = {y = f(x), u = f(z)} ΦInt = {q ≡ u > x z = 2 ∗ x− y, }
Intel’07 – p.27/39
![Page 60: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/60.jpg)
Towards a CombinationTheorem
Let
A be a set of propositional atoms (i.e., Bool-variables)
X a set of of variables
An assignment M of A is a consistent set of literals with atoms in A
An arrangement ∆ of X is a set of equational literals correspondingto a well-typed partition of X
Ex
Partition: {{xτ1 , yτ1 , zτ1}, {uτ2 , vτ2}, {wτ3}}∆ : {xτ1 = yτ1 , xτ1 = zτ1 , uτ2 = vτ2 , xτ1 6= uτ2 , xτ1 6= wτ3}
Intel’07 – p.28/39
![Page 61: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/61.jpg)
Main Result: A CombinationTheorem for FOLP
Let S1, . . . ,Sn be signature-disjoint, flexible structures
Intel’07 – p.29/39
![Page 62: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/62.jpg)
Main Result: A CombinationTheorem for FOLP
Let S1, . . . ,Sn be signature-disjoint, flexible structures
A queryΦ = ΦB ∪ ΦE ∪ Φ1 ∪ · · · ∪ Φn
is (S1 + · · ·+ Sn)-satisfiable iff
Intel’07 – p.29/39
![Page 63: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/63.jpg)
Main Result: A CombinationTheorem for FOLP
Let S1, . . . ,Sn be signature-disjoint, flexible structures
A queryΦ = ΦB ∪ ΦE ∪ Φ1 ∪ · · · ∪ Φn
is (S1 + · · ·+ Sn)-satisfiable iffthere is
an assignment M of the atoms in ΦB and
an arrangement ∆ of the non-Bool variables in Φ
s.t.
1. M |= ΦB
2. M,∆ |= ΦE
3. (Φi ∪M ∪∆)pure ∪ Φi
card is Si-satisfiable for all i = 1, . . . , n
Intel’07 – p.29/39
![Page 64: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/64.jpg)
Main Theoretical Requirement:Flexible Structures
A structure S is flexible if for
every query Φ,
every injective 〈ι, ρ〉 such that 〈ι, ρ〉 |=S Φ,
every α ∈ V ,
every κ > |ι(α)|
there exist injective 〈ιup(κ), ρup(κ)〉 and 〈ιdown, ρdown〉 satisfying Φ s.t.
ιup(κ)(β) = ι(β) = ιdown(β) for every β 6= α, and
1. ιup(κ)(α) has cardinality κ [up-flexibility]
2. ιdown(α) is countable [down-flexibility]
Intel’07 – p.30/39
![Page 65: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/65.jpg)
Main Theoretical Requirement:Flexible Structures
A structure S is flexible if for
every query Φ,
every injective 〈ι, ρ〉 such that 〈ι, ρ〉 |=S Φ,
every α ∈ V ,
every κ > |ι(α)|
there exist injective 〈ιup(κ), ρup(κ)〉 and 〈ιdown, ρdown〉 satisfying Φ s.t.
ιup(κ)(β) = ι(β) = ιdown(β) for every β 6= α, and
1. ιup(κ)(α) has cardinality κ [up-flexibility]
2. ιdown(α) is countable [down-flexibility]
Lemma Every parametric structure is flexible
Intel’07 – p.30/39
![Page 66: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/66.jpg)
Main ComputationalRequirement: Strong Solvers
We call a solver for S-satisfiability strong if it can process querieswith cardinality constraints.
Typical S-solvers are not strong
however, they can be effectively converted into strong solversby preprocessing each query
currently this can be done, specifically for a number ofstructures, as in [Ranise et al., FroCoS’05]
we are working on a (possibly less efficient but) genericpreprocessing mechanism
Intel’07 – p.31/39
![Page 67: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/67.jpg)
Closest Related Work [Raniseet al., FroCoS’05]
Setting (2-theory case):
Many-sorted logic (with sorts being 0-ary type operators)
Signatures share at most a set of sorts
One theory is polite over shared sorts, other theory is arbitrary
Main Result:
Theory solvers are combined, soundly and completely, with aNelson-Oppen style method that also guesses equalities over someadditional terms computed from the input query.
Intel’07 – p.32/39
![Page 68: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/68.jpg)
Comparisons with [Ranise etal., FroCoS’05]
That work vs. This work
Theory combinations via signature push-outsTheory combinations via type parameter instantiation
Politeness assumption on theoriesFlexibility assumption on structures
Politeness proven per theoryParametricity as general sufficient condition for flexibility
Idea of parametricity is implicit in politenessParametricity notion fully fleshed out
Model finiteness issues addressed directly by combinationmethodModel finiteness issues encapsulated into strong solvers
Intel’07 – p.33/39
![Page 69: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/69.jpg)
Some Future Work
Method(s) for turning solvers into strong solvers
Implementation (CVC3, DPT)
Extension to non-disjoint combination(possibly built on combination framework of [Ghilardi et al.,2007])
Intel’07 – p.34/39
![Page 70: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/70.jpg)
Thank you
Intel’07 – p.35/39
![Page 71: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/71.jpg)
Parametricity
Intel’07 – p.36/39
![Page 72: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/72.jpg)
Parametric Type Operators
Fix a signature Σ = 〈O | K〉 and a Σ-structure S
An n-ary operator F ∈ O is parametric in S if there exists a relatedn-ary operation F ♯ on binary relations
Intel’07 – p.37/39
![Page 73: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/73.jpg)
Parametric Type Operators
Fix a signature Σ = 〈O | K〉 and a Σ-structure S
An n-ary operator F ∈ O is parametric in S if there exists a relatedn-ary operation F ♯ on binary relations
that
1. preserves partial bijections
2. preserves identity relations
3. distributes over relational composition
Intel’07 – p.37/39
![Page 74: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/74.jpg)
Parametric Type Operators
Fix a signature Σ = 〈O | K〉 and a Σ-structure S
An n-ary operator F ∈ O is parametric in S if there exists a relatedn-ary operation F ♯ on binary relations
such that
for all partial bijections R1 : A1 ↔ B1, . . . , Rn : An ↔ Bn,S1 : C1 ↔ A1, . . . , Sn : Cn ↔ An,
1. F ♯(R1, . . . , Rn) is a partial bijection inFS(A1, . . . , An)↔ FS(B1, . . . , Bn)
2. F ♯(R1, . . . , Rn) ◦ F♯(S1, . . . , Sn) = F ♯(R1 ◦ S1, . . . , Rn ◦ Sn)
3. F ♯(idA1, . . . , idA1
) = idF (A1,...,An)
Intel’07 – p.37/39
![Page 75: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/75.jpg)
Parametric Type Operators:Example
Assume List ∈ O and ListS is the list operator
Define List♯ so that for all R : A↔ B
List♯(R) : List
S(A)↔ ListS(B)
(lA, lB) ∈ List♯(R) iff lA = [a1, . . . , an], lB = [b1, . . . , bn] and
(ai, bi) ∈ R for all i.
Intel’07 – p.38/39
![Page 76: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/76.jpg)
Parametric Type Operators:Example
Assume List ∈ O and ListS is the list operator
Define List♯ so that for all R : A↔ B
List♯(R) : List
S(A)↔ ListS(B)
(lA, lB) ∈ List♯(R) iff lA = [a1, . . . , an], lB = [b1, . . . , bn] and
(ai, bi) ∈ R for all i.
Then List is parametric in S:
for all composable partial bjections R and S and sets C
1. List♯(R) is a partial bijection
2. List♯(R) ◦ List
♯(S) = List♯(R ◦ S)
3. List♯(idC) = idListS(C)
Intel’07 – p.38/39
![Page 77: Combined Satisfiability Modulo Parametric Theorieshomepage.cs.uiowa.edu/~tinelli/talks/Intel-07.pdfCombined Satisfiability Modulo Parametric Theories . TACAS’07, 2007. S. Krstic](https://reader034.fdocuments.in/reader034/viewer/2022050119/5f4f74d3d5bff46483611331/html5/thumbnails/77.jpg)
Parametric Structures
Fix a signature Σ = 〈O | K〉 and a Σ-structure S
We can define a natural notion of parametricity for function symbolsas well (see [Krstic et al., TACAS’07])
The structure S is parametric if every F ∈ O \ {⇒} and every f ∈ Kare parametric
Intel’07 – p.39/39