<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Satis ability Modulo Free Data Structures Combined with Bridging Functions</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Raphael Berthon</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christophe Ringeissen</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ENS Rennes</institution>
          ,
          <country country="FR">France</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Inria Nancy - Grand Est and LORIA</institution>
          ,
          <country country="FR">France</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Free Data Structures are nite semantic trees modulo equational axioms that are useful to represent classical data structures such as lists, multisets and sets. We study the satis ability problem when free data structures are combined with bridging functions. We discuss the possibility to get a combination method a la Nelson-Oppen for these particular non-disjoint unions of theories. In order to handle satis ability problems with disequalities, we investigate a form of su cient surjectivity for the bridging functions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The theory of Absolutely Free Data Structures (AFDS) corresponds to the theory of nite
syntactic trees axiomatized by Injectivity, Acyclicity, and Disjoint Constructors. The
combination with a bridging function can be handled using a locality approach [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] based on the some
nite instantiations of the axioms. More recently, a Nelson-Oppen combination method has
been proposed for this particular non-disjoint union of theories [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>
        Following the work on AFDS [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], a challenging problem is to consider semantic trees instead
of syntactic ones. The use of semantic trees is clearly of practical interest, since it allows
us to represent more data structures such as multisets or sets. Some contributions in that
direction are already reported in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Moreover, combination methods are already known for
some individual data structures connected to the integers via a bridging function such as the
cardinality for multisets [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and sets [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. More generally, we are interested in lifting the
combination method given in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to handle semantic trees in a uniform way.
      </p>
      <p>
        Our approach is based on the reduction of the satis ability in combined theories to the
satis ability in individual theories. Our procedure extends the one used for AFDS [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. We study
Free Data Structures (FDS), de ned as trees modulo a set of equational axioms, connected by
a bridging function. Our method can only be used for some speci c formulas, whose equalities
are solved. Given the possibility of having a measure function (notion de ned later) to order the
(semantic) trees, we will separate our variables in two. The lesser ones for our order will have
their value guessed. For the other variables, the speci c chosen solved forms and the measure
function will ensure the existence of a combined model.
      </p>
      <p>
        The di culty of the approach is related to the surjectivity of the bridging function. A form
of su cient surjectivity [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] is needed to get a completeness result in presence of disequalities.
We investigate how the surjectivity assumption used for AFDS also applies to FDS. In [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the
focus was on the combination where the source is (the standard interpretation of) AFDS and
the target is the theory of integers. In this paper, the aim is to go beyond bridging functions
targeting the integers, by considering free data structures as source and target. For instance,
the presented approach enables us to consider a bridging function computing the set of elements
in a multiset.
      </p>
      <p>
        This work is the opportunity to reuse the constraint solving techniques known for tree
algebras, e.g., uni cation and matching procedures to solve equalities. In our approach,
disunication would be needed [
        <xref ref-type="bibr" rid="ref10 ref15 ref4">4, 10, 15</xref>
        ]. The presence of disequalities is really challenging. Indeed,
disuni cation in initial tree algebras can be undecidable whilst a uni cation algorithm is known,
e.g., for the Associativity-Commutativity [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Even if it is impossible to get a general solution,
we believe it is interesting to identify decidable classes of equational formulas. In this work,
we discuss how to handle some particular disequalities in the case of su cient surjectivity and
when assuming a solver to compute solved forms for the equalities.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>
        We assume the reader has some basic familiarities with equational theories and equational
uni cation [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Given a rst-order signature and a (countable) set of variables V , the set of
-terms over variables V is denoted by T ( ; V ). The set of variables in a term t is denoted by
V ar(t). A term t is ground if V ar(t) = ;. A substitution is an endomorphism of T ( ; V ), with
only nitely many variables not mapped to themselves. A substitution is denoted by = fx1 7!
t1; : : : ; xn 7! tmg, its domain is Dom( ) = fx1; : : : ; xng and its range is Ran( ) = ft1; : : : ; tng.
      </p>
      <p>Given a set E of -axioms (i.e., pairs of -terms, denoted by l = r), the equational theory =E
is the congruence closure of E under the law of substitutivity. By a slight abuse of terminology,
E will be often called an equational theory. An axiom l = r is regular if V ar(l) = V ar(r).</p>
      <p>A -equality is a pair of -terms denoted by s = t. An E-uni cation problem is a set of
-equations, = fs1 = t1; : : : ; sm = tmg. The set of variables of is denoted by V ar( ).
When t1; : : : ; tm are ground, is called a matching problem. A solution to an E-uni cation
problem , called an E-uni er , is a substitution such that si =E ti for all 1 i m.
A decision procedure for E-uni cation is a decision procedure returning true if and only if the
input E-uni cation problem admits an E-uni er. E-uni cation is said to be nitary if any
E-uni cation problem admits a (computable) nite complete set of E-uni ers.</p>
      <p>A at equality is either of the form t0 = t1 or t0 = f (t1; : : : ; tn) where each term t0; : : : ; tn
is a variable or a constant. A disequality t0 6= t1 is at when each term t0; t1 is a variable or
a constant. A at literal is either a at equality or a at disequality. For n distinct variables
x1; : : : ; xn, the set of literals fxi 6= xj j i 6= j; i; j = 1; : : : ; ng is denoted by fx1 6= 6= xng.</p>
      <p>A set of equalities = fxk = tkgk2K is a solved form if xk is a variable occurring only
once in for each k 2 K. Note that a solved form corresponds to a most general E-uni er: it
is not necessarily at, but using attening, we can obtain an equivalent at dag solved form.
For instance, the attening of fv = c(u(e); y)g is the dag solved form fv = c(x; y); x = u(e)g.
Roughly speaking, a dag solved form is a set of (acyclic) solved equalities leading to a solved
form by variable replacement.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Free Data Structures</title>
      <p>In this paper, we focus on data structure theories constructed from three operators:
A binary operator c, which is not necessarily absolutely free: it may satisfy some equational
properties;
A unary operator u to construct a singleton structure;</p>
      <p>A constant nil to denote the empty structure.</p>
      <p>De nition 1. A binary constructor-based signature is of the form
fc : struct</p>
      <p>struct ! struct; nil : struct; u : elem ! structg</p>
      <p>To simplify the notation, we often write c(e; x) instead of c(u(e); x), by assuming that
e; e1; : : : ; en denote only elem-sorted variables. We may use an in x notation to write e [ x
instead of [(e; x).</p>
      <p>De nition 2. Let be a binary constructor-based signature. Given an equational -theory
E, F DSE denotes the class of -structures A such that structA = T ( [ elemA)= =E .
De nition 3 (Standard term). Let be a binary constructor-based signature. A
structsorted -term is said to be standard if it contains no struct-sorted variables.</p>
      <p>In this paper, we focus on regular theories whose axioms do not involve the unary operator u.
We are interested in the following regular axioms: Associativity (A) (X [ Y ) [ Z = X [ (Y [ Z),
Commutativity (C) X [ Y = Y [ X, Right Unit (RU ) X [ ; = X, Left Unit (LU ) ; [ X = X,
and Idempotency (I) X [ X = X. But the Nilpotency (N ) X X = 0 is not regular and will
not be considered. In the following, we consider any combination of the above regular axioms,
such as</p>
      <p>AU = A [ LU [ RU; AC = A [ C; ACU = AC [ LU; ACU I = ACU [ I
Besides these regular theories, we also consider two special non-regular ones involving the unary
operator u, related to positive integers and booleans.</p>
      <p>Given a binary constructor-based signature = fc : struct struct ! struct; nil :
struct; u : elem ! structg, a -structure A is a standard (positive integer) N-interpretation if
structA = N, c is interpreted in A as the addition, A[nil] = 0 and for any a 2 elemA, A[u](a) =
1. Analogously, a -structure A is a standard (boolean) B-interpretation if structA = B, c is
interpreted in A as the disjunction, A[nil] = ? and for any a 2 elemA, A[u](a) = &gt;. Standard
N-interpretations and standard B-interpretations can be viewed as models of respectively two
free data structures:</p>
      <p>EN = AC(+) [ f8X: X + 0 = Xg [ f8V; W: 1(V ) = 1(W )g</p>
      <p>EB = AC(_) [ f8X: X _ ? = X; X _ X = Xg [ f8V; W: &gt;(V ) = &gt;(W )g
Proposition 1. Any model of F DSEN (resp., F DSEB ) is isomorphic to a standard
N-interpretation (resp., B-interpretation).</p>
      <p>Obviously, F DSEN -satis ability and F DSEB -satis ability are decidable.</p>
      <p>For an arbitrary equational theory E, F DSE -satis ability and E-uni cation can be related
as follows:
Proposition 2. A set of equalities is satis able in F DSE if and only if it is E-uni able.</p>
      <p>Moreover, an E-uni cation algorithm computing most general E-uni ers is su cient to
check E-equality and so to check the satis ability of disequalities, since an in nite interpretation
domain for the elem sort can be chosen.</p>
      <p>Proposition 3. F DSE -satis ability is decidable if a nitary E-uni cation algorithm is known.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Combination of Free Data Structures</title>
      <p>
        In a way similar to [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], we consider two theories connected via a bridging theory de ning a
function f by structural induction over the constructors. In the context of this paper, the two
theories are free data structures sharing only the elem sort.
      </p>
      <p>
        De nition 4. ( [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]) Let be a binary constructor-based signature, t a signature such that
and t do not share function symbols. Let f be a new function symbol f with arity struct ! t,
where t is a sort in t. Given the signature f = [ t [ ff : struct ! tg, a bridging f
theory Tf associated to f has the form:
      </p>
      <p>Tf =
8 f (c(X; Y ))
&lt; f (u(V ))
: f (nil)
=
=
=
fc(f (X); f (Y ))
fu(V )
fnil
where fc; ; fu; fnil are t-terms of respective arities 2; 1; 0.</p>
      <p>The term rewrite system F of a bridging theory Tf is F = ff (l) ! r j f (l) = r 2 Tf g.</p>
      <p>The term rewrite system (for short, TRS) of a bridging theory Tf is convergent. Let 1 and
2 be two binary constructor-based signatures sharing only the elem sort. The non-shared sort
in i is denoted by structi for i = 1; 2. Let Tf be a bridging f -theory between signatures
= 1 and t = 2, where struct = struct1 and t = struct2. Assume an equational
i-theory Ei for i = 1; 2. The bridging theory Tf is said to be E1-compatible in E2 if, for any
l = r 2 E1 we have f (l) #F =E2 f (r) #F .</p>
      <p>Example 1. Consider E1 = f(X [ Y ) [ Z = X [ (Y [ Z); X [ Y = Y [ X; X [ ; = Xg
and E2 = EN. The theory E1 corresponds to multisets of elements and the bridging function
computing the number of elements in a multiset is given by the bridging theory</p>
      <p>Tf = ff (X [ Y ) = f (X) + f (Y ); f (feg) = 1; f (;) = 0g:</p>
      <sec id="sec-4-1">
        <title>Tf is E1-compatible in E2 since</title>
        <p>(f (X) + f (Y )) + f (Z) =E2 f (X) + (f (Y ) + f (Z))
f (X) + f (Y ) =E2 f (Y ) + f (X)
f (X) + 0 =E2 f (X)</p>
        <p>Let E10 = E1 [ fX [ X = Xg. We remark that Tf is not E10-compatible in E2. However,
given E20 = EB, the bridging theory</p>
        <p>Tg = fg(X [ Y ) = g(X) _ g(Y ); g(feg) = &gt;; g(;) = ?g
is E10-compatible in E20. Indeed, E10 allows us to represent sets of elements. The bridging
function g returns &gt; if the input set is non-empty, and ? otherwise.</p>
        <p>The notion of compatibility is required to get a consistent combined theory:
De nition 5. Assume Tf is E1-compatible in E2. Tf [E1; E2] denotes the class of f -structures
A such that A 1 2 F DSE1 , A 2 2 F DSE2 , and A j= Tf .</p>
        <p>From now on, we assume that T = Tf [E1; E2], and Ti = F DSEi for i = 1; 2. By this
de nition, we have T = T1 [ Tf [ T2.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Combination Procedure</title>
      <p>The decision procedure works as a classical Nelson-Oppen combination procedure. As usual,
the input set of literals is rst puri ed to get a separate form, by introducing fresh variables.
Then, we may need to perform some guessing over the fresh variables in order to guarantee
the existence of a combined model. In the classical Nelson-Oppen combination procedure, the
guessing phase only enumerates the arrangements over the shared variables. In our context,
we may need an additional guessing to explore possible values taken by the bridging function.
We want to focus on cases where only nitely many guesses are su cient to get a complete
procedure.</p>
      <p>De nition 6. A set of literals ' is in separate form if ' = '1 [ 'elem [ '2 [ 'f where:
'1 contains only at struct1-sorted literals
'elem contains only elem-sorted literals
'2 contains only struct2-sorted literals
'f contains only at equalities of the form fx = f (x), where fx denotes a variable
associated to f (x), such that fx and f (x) occur once in 'f and each variable of sort struct1 in
'1 occurs in 'f .</p>
      <p>The sets of literals '1 [ 'elem and '2 [ 'elem are called respectively the 1-component and the
2-component of '.</p>
      <p>It is easy to convert any set of literals into an equisatis able separate form ' by introducing
fresh variables to denote impure terms. In order to take into account the axioms of Tf , we need
additional 2-equalities obtained by encoding the at equalities in '1.</p>
      <p>De nition 7. Given a bridging theory Tf , the target encoding of a set of at struct1-sorted
equalities ' is the set of struct2-sorted equalities</p>
      <p>CP'
=</p>
      <p>ffv = fc(fx; fy) j v = c(x; y) 2 'g
[ ffv = fu(e) j v = u(e) 2 'g
[ ffv = fnil j v = nil 2 'g
[ ffv = fx j v = x 2 'g</p>
      <p>When a separate form ' contains only at struct1-equalities corresponding to a dag solved
form, the target encoding of this dag solved form is su cient to reduce T -satis ability into
T2-satis ability:
Proposition 4. Let ' = '1 [ 'elem [ '2 [ 'f be a set of literals in separate form such that
'1 is a dag solved form. The formula ' is T -satis able if and only if 'elem [ '2 [ CP'1 is
T2-satis able.</p>
      <p>The problem of considering struct1-literals including both equalities and disequalities is
much more complicated. We have investigated several possible scenarios.
5.1</p>
      <p>
        Theory of Integers as Target
In a rst case, we can assume that the target is the theory of integers, and that the source
admits a uni cation algorithm to solve the equalities. Consider f de nes the size of a data
structure. We introduce a guessing of nitely many range constraints [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] to check the possible
values of f (x) for any x occurring in the problem:
either f (x) = 0, and this implies x = nil;
or f (x) &gt; 0, and there will be enough distinct struct1-entities to satisfy the
struct1disequalities, by considering that each x is built only with its own distinct element ex: this
is possible since the elem-sort can be interpreted by an in nite domain.
      </p>
      <p>This guessing phase leads to a T -equivalent disjunction of separate forms, each of them being
T -satis able if and only if its 1-component and its 2-component are respectively T1-satis able
and T2-satis able.</p>
      <p>Proposition 5. Consider E1 is included in AC(c) [ fc(X; nil) = X; c(nil; X) = Xg, E2 = EN
and Tf = ff (c(X; Y )) = f (X) + f (Y ); f (u(e)) = 1; f (nil) = 0g. For any separate form
' = '1 [ 'elem [ '2 [ 'f such that '1 is a dag solved form together with at disequalities,
there exists a computable T -equivalent disjunction of separate forms Wk2K 'k such that ' is T
satis able if and only if there exists some k 2 K such that the i-component of 'k is Ti-satis able
for each i 2 f1; 2g.</p>
      <p>Example 2. Assume E1 = AC(]) [ LU (;). Consider the separate form
' =
8&lt; z = x ] y; x = e ] v; y = e ] w; x 6= y =9</p>
      <p>
        fz = 2; fz = fx + fy; fx = 1 + fv; fy = 1 + fw
: fx = f (x); fy = f (y); fz = f (z); fv = f (v); fw = f (w) ;
We can check that ' is T -unsatis able by considering the following cases: (1) fv &gt; 0; fw &gt; 0,
(2) fv = 0; fw &gt; 0, (3) fv &gt; 0; fw = 0, (4) fv = 0; fw = 0. For the cases (1), (2) and (3), we
get the unsatis ability in T2. The case (4) fv = 0; fw = 0 is T2-satis able. Adding v = ; and
w = ; to '1 leads to x = feg and y = feg, which contradicts x 6= y.
In the general case, we need a form of su cient/in nite surjectivity in order to satisfy problems
of the form x1 6= 6= xn; f (x1) = = f (xn). We have studied in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] the particular case
where the source theory is AFDS and the target is the theory of integers. In this paper, we
investigate a generalization for the case where the source and the target are both free data
structures. To this aim, we introduce a notion of measure to order the standard terms of a free
data structure.
      </p>
      <p>De nition 8 (Measure). Let be a binary constructor-based signature and E an equational
-theory. A measure for E is a mapping from standard -terms to N such that
for any standard</p>
      <p>-terms s and t, s =E t implies (s) = (t);
for any standard</p>
      <p>-term s and any substitution , (s ) = (s);
for any k 2 N and for ./ in f=; g, the constraint (x) ./ k can be equivalently expressed
as a constraint in F DSE of the form (9v : x = t ^ '), where v = V ar(t), x 2= v, ' is a
conjunction of disequalities between elem-variables in v, and t is standard if ./ is =.
Example 3. There exists a very natural measure for the following equational theories:
If E = A( ) [ fX nil = X; nil X = Xg, then can be chosen as the number of
elemoccurrences of a list. The constraints (x) = k and (x) k can be respectively encoded
into
9e1; : : : ; ek : x = u(e1)
u(ek) and
9y; e1; : : : ; ek : x = u(e1)
u(ek) y
If E = AC(]) [ fX ] ; = Xg, then can be chosen as the number of elem-occurrences of
a multiset. The constraints (x) = k and (x) k can be respectively encoded into
9e1; : : : ; ek : x = u(e1) ]
] u(ek) and
9y; e1; : : : ; ek : x = u(e1) ]
] u(ek) ] y
If E = AC([) [ fX [ X = X; X [ ; = Xg, then can be chosen as the cardinality of a
set. The constraints (x) = k and (x) k can be respectively encoded into
9e1; : : : ; ek : x = u(e1) [
[ u(ek) ^ e1 6=
6= ek
and
9y; e1; : : : ; ek : x = u(e1) [
[ u(ek) [ y ^
e1 6=
6= ek
If E = EN, then can be chosen as the identity on N. The constraints (x) = k and
(x) k can be respectively encoded into x = k and 9y : x = k + y.</p>
      <p>
        The de nition of gently growing is introduced in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] as a way to express a form of su cient
surjectivity. We adapt it to integrate the measure concept de ned above. This allows us to
consider a target theory which is not necessarily the theory of integers.
      </p>
      <p>De nition 9. Let T be a theory de ned as a class of structures in Tf [E1; E2] and a measure
for E2. For any A 2 T and any standard 2-term s, FA 1(s) = ft j A[f ](t) = A[s]g. The
bridging function f is gently growing in T w.r.t if
1. for any A 2 T and any standard
2. for any A 2 T and any standard
2-term s, FA 1(s) 6= ;;
2-terms s and t, (s) &lt; (t) implies jFA 1(s)j &lt; jFA 1(t)j;
3. for any natural n &gt; 1 there exists a computable k such that, for any standard
if (s) k, then for any A 2 T , jFA 1(s)j n;
if (s) &lt; k, then one can compute a nite non-empty set F 1(s) of standard
such that</p>
      <sec id="sec-5-1">
        <title>2-term s,</title>
      </sec>
      <sec id="sec-5-2">
        <title>1-terms</title>
        <p>_
t2F 1(s)
T j= f (x) = s () (9v :
x = t)
where v = Var (F 1(s))</p>
        <p>We now introduce a class of satis ability problems including at struct1-sorted disequalities
together with particular dag solved forms.</p>
        <p>De nition 10 (Isolated variable, standard variable). Let ' be a dag solved form and let be
the substitution corresponding to the solved form obtained by variable replacement. A variable
x is isolated in ' if x is a variable. A variable x is standard in ' if x is a standard term.</p>
        <p>We consider dag solved forms extended with disequalities x 6= y such that x; y are both
standard or both isolated.</p>
        <p>Proposition 6. Consider a theory T = Tf [E1; E2] such that f is gently growing in T with
respect to a measure for E2. Let ' be any separate form</p>
        <p>' = '1 [ 'elem [ '2 [ 'f
such that '1 is a dag solved form together with at disequalities x 6= y where x; y are both
standard or both isolated. There exists a computable T -equivalent disjunction of separate forms
Wk2K 'k such that ' is T -satis able if and only if there exists some k 2 K such that the
i-component of 'k is Ti-satis able for each i 2 f1; 2g.</p>
        <p>Example 4. Consider the bridging function f computing the set of elements in a multiset.
Consider the separate form
' = 8&lt; vfx==xf]y;yf;vx =6=fyx [ fy; fv = feg 9=</p>
        <p>: fx = f (x); fy = f (y); fv = f (v) ;
Using the formula ' ^ (fx = ; _ fx = e0 [ v0), we get the T -satis ability of ' thanks to the
branching fx = e0 [ v0. Indeed, ' is T -satis able by considering for instance x = e ] e and
y = e ] e ] e.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper, we have studied the problem of combining satis ability procedures for the union
T of two free data structure theories T1 and T2 connected by a bridging theory Tf . We have
identi ed some basic propositions to solve the T -satis ability problem in a modular way when
the source component of the input is already in solved form. As a pre-processing step, applying
a uni cation algorithm is a natural way to compute the expected solved forms. In the case
of Proposition 6, the considered solved forms can be obtained, for instance, by applying a
matching algorithm on particular equations with one standard (ground) side.</p>
      <p>
        The (combined) data structure theory T involves a free sort elem. The next step is to
consider the combinability of T with an elem-sorted theory Telem. In the easy case, T and
Telem are stably in nite, and we can rely on the classical Nelson-Oppen combination method.
Actually, all the theories T1, T2 and T = T1 [ Tf [ T2 studied in this paper are stably in nite.
In the general case, a politeness property [
        <xref ref-type="bibr" rid="ref13 ref18">13, 18</xref>
        ] for T would be welcome to a get a modular
T [ Telem-satis ability procedure when Telem is arbitrary (non-necessarily stably in nite). To
establish the politeness of a class of T -satis ability problems, we have to show:
( nite witnessability) if a formula in the class is T -satis able, then it must be satis able
in a small (computable) model;
(smoothness) if a formula in the class is satis able in a model of T , then it is satis able
in model of T of any larger cardinality.
      </p>
      <p>The technical propositions stated in this paper will allow us to show the politeness of some
particular T -satis ability problems. Hence, this will be a way to identify signi cant cases for
which a combination method a la Nelson-Oppen will compute the right answer when it returns
satis able.</p>
      <p>
        Acknowledgements. We are very grateful to Paula Chocron and Pascal Fontaine for their
collaboration on the design of new combination methods for SMT solving [7{9]. This work on
FDS has been made possible thanks to the joint study of the AFDS case [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Armando</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. P.</given-names>
            <surname>Bonacina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ranise</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Schulz</surname>
          </string-name>
          .
          <article-title>New results on rewrite-based satis ability procedures</article-title>
          .
          <source>ACM Trans. Comput. Log.</source>
          ,
          <volume>10</volume>
          (
          <issue>1</issue>
          ),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Armando</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Ranise</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Rusinowitch</surname>
          </string-name>
          .
          <article-title>A rewriting approach to satis ability procedures</article-title>
          .
          <source>Inf. Comput.</source>
          ,
          <volume>183</volume>
          (
          <issue>2</issue>
          ):
          <volume>140</volume>
          {
          <fpage>164</fpage>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghilardi</surname>
          </string-name>
          .
          <article-title>Connecting many-sorted theories</article-title>
          .
          <source>J. Symb. Log.</source>
          ,
          <volume>72</volume>
          (
          <issue>2</issue>
          ):
          <volume>535</volume>
          {
          <fpage>583</fpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          and
          <string-name>
            <given-names>K. U.</given-names>
            <surname>Schulz</surname>
          </string-name>
          .
          <article-title>Combination techniques and decision problems for disuni cation</article-title>
          .
          <source>Theor. Comput. Sci.</source>
          ,
          <volume>142</volume>
          (
          <issue>2</issue>
          ):
          <volume>229</volume>
          {
          <fpage>255</fpage>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>F.</given-names>
            <surname>Baader</surname>
          </string-name>
          and
          <string-name>
            <given-names>W.</given-names>
            <surname>Snyder</surname>
          </string-name>
          .
          <article-title>Uni cation theory</article-title>
          .
          <source>In J. A. Robinson and A</source>
          . Voronkov, editors,
          <source>Handbook of Automated Reasoning</source>
          , pages
          <volume>445</volume>
          {
          <fpage>532</fpage>
          . Elsevier and MIT Press,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>T.</given-names>
            <surname>Bouton</surname>
          </string-name>
          ,
          <string-name>
            <surname>D. C. B. De Oliveira</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Deharbe</surname>
            , and
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Fontaine</surname>
          </string-name>
          .
          <article-title>veriT: an open, trustable and e cient SMT-solver</article-title>
          .
          <source>In Automated Deduction{CADE-22</source>
          , pages
          <fpage>151</fpage>
          {
          <fpage>156</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chocron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Ringeissen</surname>
          </string-name>
          .
          <article-title>A Gentle Non-Disjoint Combination of Satis ability Procedures</article-title>
          . In S. Demri,
          <string-name>
            <given-names>D.</given-names>
            <surname>Kapur</surname>
          </string-name>
          , and C. Weidenbach, editors,
          <source>Proc. of the 7th International Joint Conference on Automated Reasoning, IJCAR</source>
          , volume
          <volume>8562</volume>
          <source>of LNCS</source>
          , pages
          <volume>122</volume>
          {
          <fpage>136</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chocron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Ringeissen</surname>
          </string-name>
          .
          <string-name>
            <given-names>A Polite</given-names>
            <surname>Non-Disjoint Combination</surname>
          </string-name>
          Method:
          <article-title>Theories with Bridging Functions Revisited</article-title>
          . In
          <string-name>
            <given-names>A. P.</given-names>
            <surname>Felty</surname>
          </string-name>
          and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Middeldorp, editors,
          <source>Proc. Conference on Automated Deduction (CADE)</source>
          , volume
          <volume>9195</volume>
          <source>of LNCS</source>
          , pages
          <volume>419</volume>
          {
          <fpage>433</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
            <surname>Chocron</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C.</given-names>
            <surname>Ringeissen</surname>
          </string-name>
          .
          <article-title>A rewriting approach to the combination of data structures with bridging theories</article-title>
          . In C. Lutz and S. Ranise, editors,
          <source>Frontiers of Combining Systems (FroCoS)</source>
          , volume
          <volume>9322</volume>
          <source>of LNCS</source>
          , pages
          <volume>275</volume>
          {
          <fpage>290</fpage>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>H.</given-names>
            <surname>Comon</surname>
          </string-name>
          .
          <article-title>Disuni cation: A survey</article-title>
          .
          <source>In Computational Logic - Essays in Honor of Alan Robinson</source>
          , pages
          <volume>322</volume>
          {
          <fpage>359</fpage>
          ,
          <year>1991</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>P.</given-names>
            <surname>Fontaine</surname>
          </string-name>
          .
          <article-title>Combinations of theories for decidable fragments of rst-order logic</article-title>
          . In S. Ghilardi and R. Sebastiani, editors,
          <source>Frontiers of Combining Systems (FroCoS)</source>
          , volume
          <volume>5749</volume>
          <source>of LNCS</source>
          , pages
          <volume>263</volume>
          {
          <fpage>278</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ghilardi</surname>
          </string-name>
          .
          <article-title>Model-theoretic methods in combined constraint satis ability</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>33</volume>
          (
          <issue>3-4</issue>
          ):
          <volume>221</volume>
          {
          <fpage>249</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jovanovic</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Barrett</surname>
          </string-name>
          .
          <article-title>Polite theories revisited</article-title>
          . In C.
          <article-title>Fermueller and A</article-title>
          . Voronkov, editors,
          <source>Logic for Programming</source>
          ,
          <source>Arti cial Intelligence, and Reasoning (LPAR'10)</source>
          , volume
          <volume>6397</volume>
          <source>of LNCS</source>
          , pages
          <volume>402</volume>
          {
          <fpage>416</fpage>
          . Springer,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>V.</given-names>
            <surname>Kuncak</surname>
          </string-name>
          .
          <article-title>Verifying and synthesizing software with recursive functions - (invited contribution)</article-title>
          .
          <source>In ICALP</source>
          , volume
          <volume>8572</volume>
          of Lecture Notes in Computer Science, pages
          <volume>11</volume>
          {
          <fpage>25</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>J.</given-names>
            <surname>Meseguer</surname>
          </string-name>
          .
          <article-title>Variant-based satis ability in initial algebras</article-title>
          . In C. Artho and P. C. Olveczky, editors,
          <source>Formal Techniques for Safety-Critical Systems - Fourth International Workshop</source>
          , FTSCS 2015, Paris, France, November 6-
          <issue>7</issue>
          ,
          <year>2015</year>
          .
          <source>Revised Selected Papers</source>
          , volume
          <volume>596</volume>
          of Communications in Computer and Information Science, pages
          <fpage>3</fpage>
          <lpage>{</lpage>
          34. Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>G.</given-names>
            <surname>Nelson</surname>
          </string-name>
          and
          <string-name>
            <given-names>D. C.</given-names>
            <surname>Oppen</surname>
          </string-name>
          .
          <article-title>Simpli cation by cooperating decision procedures</article-title>
          .
          <source>ACM Trans. on Programming Languages and Systems</source>
          ,
          <volume>1</volume>
          (
          <issue>2</issue>
          ):
          <volume>245</volume>
          {
          <fpage>257</fpage>
          ,
          <string-name>
            <surname>Oct</surname>
          </string-name>
          .
          <year>1979</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <surname>T.-H. Pham</surname>
            and
            <given-names>M. W.</given-names>
          </string-name>
          <string-name>
            <surname>Whalen</surname>
          </string-name>
          .
          <article-title>An improved unrolling-based decision procedure for algebraic data types</article-title>
          . In E. Cohen and
          <string-name>
            <surname>A</surname>
          </string-name>
          . Rybalchenko, editors,
          <source>Veri ed Software: Theories</source>
          , Tools, Experiments - 5th
          <source>International Conference, VSTTE</source>
          <year>2013</year>
          , Menlo Park, CA, USA,
          <source>Revised Selected Papers</source>
          , volume
          <volume>8164</volume>
          <source>of LNCS</source>
          , pages
          <volume>129</volume>
          {
          <fpage>148</fpage>
          . Springer,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>S.</given-names>
            <surname>Ranise</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Ringeissen</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Zarba.</surname>
          </string-name>
          <article-title>Combining data structures with nonstably in nite theories using many-sorted logic</article-title>
          . In B. Gramlich, editor,
          <source>Frontiers of Combining Systems (FroCoS)</source>
          , volume
          <volume>3717</volume>
          <source>of LNCS</source>
          , pages
          <volume>48</volume>
          {
          <fpage>64</fpage>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>V.</given-names>
            <surname>Sofronie-Stokkermans</surname>
          </string-name>
          .
          <article-title>Locality results for certain extensions of theories with bridging functions</article-title>
          . In R. A. Schmidt, editor,
          <source>Proc. Conference on Automated Deduction (CADE)</source>
          , volume
          <volume>5663</volume>
          <source>of LNCS</source>
          , pages
          <volume>67</volume>
          {
          <fpage>83</fpage>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>P.</given-names>
            <surname>Suter</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dotta</surname>
          </string-name>
          , and
          <string-name>
            <given-names>V.</given-names>
            <surname>Kuncak</surname>
          </string-name>
          .
          <article-title>Decision procedures for algebraic data types with abstractions</article-title>
          . In M. V.
          <article-title>Hermenegildo and</article-title>
          J. Palsberg, editors,
          <source>Principles of Programming Languages (POPL)</source>
          , pages
          <fpage>199</fpage>
          {
          <fpage>210</fpage>
          . ACM,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>C.</given-names>
            <surname>Tinelli</surname>
          </string-name>
          and
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Zarba.</surname>
          </string-name>
          <article-title>Combining non-stably in nite theories</article-title>
          .
          <source>Journal of Automated Reasoning</source>
          ,
          <volume>34</volume>
          (
          <issue>3</issue>
          ):
          <volume>209</volume>
          {
          <fpage>238</fpage>
          ,
          <string-name>
            <surname>Apr</surname>
          </string-name>
          .
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>R.</given-names>
            <surname>Treinen</surname>
          </string-name>
          .
          <article-title>A new method for undecidablity proofs of rst order theories</article-title>
          .
          <source>J. Symb. Comput.</source>
          ,
          <volume>14</volume>
          (
          <issue>5</issue>
          ):
          <volume>437</volume>
          {
          <fpage>458</fpage>
          ,
          <year>1992</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Zarba.</surname>
          </string-name>
          <article-title>Combining multisets with integers</article-title>
          . In A. Voronkov, editor,
          <source>Automated Deduction - CADE-18, 18th International Conference on Automated Deduction</source>
          , Copenhagen, Denmark, volume
          <volume>2392</volume>
          <source>of LNCS</source>
          , pages
          <volume>363</volume>
          {
          <fpage>376</fpage>
          . Springer,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C. G.</given-names>
            <surname>Zarba.</surname>
          </string-name>
          <article-title>Combining sets with cardinals</article-title>
          .
          <source>J. Autom. Reasoning</source>
          ,
          <volume>34</volume>
          (
          <issue>1</issue>
          ):1{
          <fpage>29</fpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>