<!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>Algebraic Polynomial-based Synthesis for Abstract Boolean Network Analysis</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Peter Backeman</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sara-Jane Dunn</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Boyan Yordanov</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christoph M. Wintersteiger</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Microsoft Research</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Uppsala University</institution>
          ,
          <addr-line>Uppsala</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Function synthesis is the problem of automatically constructing functions that ful l a given speci cation. Using templates to limit the form of those functions is a popular way of reducing the search-space while still allowing interesting functions to be found. We present an investigation of restrictions to templates over Boolean functions of polynomial shape, based on their algebraic normal form. These polynomials are then lazily created in such a way that completeness of the search is still guaranteed, while performance is improved. This method is then implemented using an SMT-solver (Z3) and illustrated on a biological problem, the goal of which is to synthesise (Boolean) gene regulatory networks that capture speci cations derived from experimental measurements.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        Synthesis techniques aim towards the automated construction of correct-by-design systems from
speci cations of desired behaviour, often expressed as temporal logic speci cations [14]. These
techniques have been successfully applied in a number of elds, including software [
        <xref ref-type="bibr" rid="ref9">9, 18</xref>
        ] and
hardware synthesis [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], but also in biology (e.g., [
        <xref ref-type="bibr" rid="ref12 ref13 ref7">13, 7, 12</xref>
        ]). For biological applications, and
more broadly in the eld of computational science, the construction of computational models
that reproduce known or observed behaviour of a natural system is a major challenge. However,
this can be framed as a synthesis problem in which the speci cation is the
experimentallyobserved behaviour (as observed in a `wet-lab' setting), together with known or assumed
constraints, and the goal is the construction of a model that is consistent with these observations
and assumptions.
      </p>
      <p>
        Abstraction techniques are often applied as part of computational modelling, both to
describe the system at a su cient level of detail, and to increase the runtime performance of
synthesis algorithms. For example, the genetic regulation that arises via complex biochemical
processes, which governs many cellular processes can be represented by Gene Regulatory
Networks (GRNs). Further, these networks can be modelled as Boolean networks (BNs), under the
assumption that each involved gene can be abstracted into active or inactive states [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
Considering such a model as a transition system, a Boolean function de nes the next state of each
component in terms of the states of its regulators (activators and repressors). The resulting
models capture an abstract, qualitative representation of the detailed biochemical mechanisms
involved, and have proven useful for studying di erent types of cellular behaviour, such as cell
di erentiation.
      </p>
      <p>
        The challenge of constructing a BN for a given biological system lies in identifying the
network topology, i.e. the interactions between components which comprise a model that
reproduces all observed behaviour. To address this challenge, Dunn et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] propose Abstract
Boolean Networks (ABNs), which allow the construction of models where only some
interactions are known, and putative ones are included only as optional interactions. An ABN thus
describes a set of unique, concrete topologies, in which the optional interactions are instantiated
as present or absent.
      </p>
      <p>
        An SMT-based synthesis approach, implemented as part of the RE:IN tool [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ], is used to
enumerate individual, concrete BNs from the ABN, and to study the constrained interaction
network, for example by identifying required interactions, which appear in every concrete model
that satis es the speci cation. While the RE:IN approach reveals important properties, the
enumeration of all valid models from the ABN is infeasible due to the usually large number of
concrete solutions capable of reproducing the observed behaviour. A naive follow-up approach
lies in the enumeration of this large set of solutions and then to search for patterns in the results.
Finally, RE:IN does not provide a concise representation of the ABN constrained against the
experimental observations, which can be queried e ciently or analysed further, e.g., to develop
new biological experiments for validation of the model.
      </p>
      <p>An alternative strategy to the iterative enumeration of concrete BNs from a constrained
ABN is to synthesise a template function, parametrised by unknown, optional interactions,
that describes all concrete models consistent with the observations. Such a representation of all
consistent models is easily interrogated to reveal dependencies between interactions and expose
all di erent mechanisms capable of producing the observed behaviour. If su ciently concise, this
representation also serves as a valuable tool for understanding system properties and guiding
further biological studies. For the speci c application to ABNs, function synthesis focuses
on restricted sets of Boolean functions, through the instantiation of parametrised function
templates. However, the problem of choosing appropriate templates is non-trivial. Here, we
focus on this problem and propose a lazy algorithm that combines templates in a sound and
complete manner.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Pnueli and Rosner were among the rst to suggest a theoretical framework for program
synthesis and accompanying algorithms, based on automata theory and temporal logic [14]. Since
then, this and similar techniques have been used in many applications, with varying degrees of
success. Examples include software synthesis, such as the recent work by Gulwani et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and
Solar-Lezama [18], who both employ di erent algorithms and abstraction techniques based on
template instantiation to reduce the vast space of functions that would otherwise have to be
investigated. It is interesting to note that in recent years, there has also been an increased interest
in software synthesis from natural language speci cations, such as by Gvero and Kuncak [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
and Raza et al. [15].
      </p>
      <p>
        Hardware synthesis has been a subject of research for many years. Given that some systems
are required to be nite-state, or have a very limited number of inputs and output, the resulting
synthesis problems are of moderate degree and often practically feasible. To this end, various
modelling, veri cation, and synthesis techniques are applied, many of them based on
automatatheoretic principles like the various classes of automata used in synthesis of temporal logic
speci cations; recent examples include distributed synthesis algorithms by Chatterjee et al. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]
and robust system synthesis by Bloem et al. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Other formal bases are of course considered as
well, e.g., Asarin et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] abstract the systems to be synthesised by a nite collection of linear
systems. In computational biology there are a number of di erent approaches to synthesis
problems for various speci cation logics. For instance, Kugler et al. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] consider the synthesis
of Live Sequence Charts. As mentioned, Dunn et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] consider the synthesis of BNs to model
gene regulatory networks, and others like Fisher et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] consider techniques tailored toward the
e cient reconstruction of BNs from large collections of single-cell experimental data. Koksal et
al. [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] propose a modelling and speci cation language, as well as an embedding thereof into
Scala, and they describe an e cient synthesiser able to nd a BN for cell fate determination of
C. elegans, based on wet-lab mutation experiments.
      </p>
      <p>
        The synthesis algorithm that we propose in Sec. 4.2 is strongly inspired by more general
quanti er instantiation techniques in the wider area of automated theorem proving. Our
algorithm can be seen as an instance of Model-Based Quanti er Instantiation [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] with automated
(and complete) function template re nement [19]. However, we implicitly exploit other
heuristic techniques, such as E-matching [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], and their implementation in the Z3 SMT solver [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
Recently approaches have emerged to support synthesis algorithms that are integrated directly
into a theorem prover or SMT solver, e.g., by Reynolds et al. [17, 16].
3
      </p>
    </sec>
    <sec id="sec-3">
      <title>Background</title>
      <p>
        Originally introduced by Kau man [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], Boolean networks (BNs) represent one particular class
of gene regulatory network models, where every gene is represented by a Boolean variable
indicating a gene's state as enabled or disabled.
      </p>
      <p>
        For many (if not most) interactions between genes, it is not known whether they are indeed
present in a particular system and if so whether they are positive or negative, and it is very much
on the agenda of computational biology to discover and establish the type of these interactions.
For our models to encompass such partial knowledge, we add to each interaction a label that is
either optional or de nite. Where the presence of an optional interaction is unknown, a de nite
is assumed to be present. We thus de ne abstract Boolean networks over a set G := fg1; : : : ; gng
(in accordance with the semantics attached to them by Dunnet al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]), as an extension of
nondeterministic nite state machines:
De nition 1 (Abstract Boolean Network). An Abstract Boolean Network (ABN) is a
nondeterministic nite-state machine with
      </p>
      <p>nite state-space Q = Bn = hg1; : : : ; gni</p>
      <p>ABN models allow us to incorporate uncertainty about the precise topology of a BN. Some
of the many concrete BNs (CBNs) captured by an ABN may produce behaviour that is
consistent with experimental observations of the biological system, while others might not. Therefore
a set of experimentally-derived constraints is imposed over the behaviour of ABNs to exclude
networks that are inconsistent with observations. We then say that an ABN satis es an
observation i there exists at least one concrete BN that satis es all such constraints.</p>
      <p>Experimental observations are represented as reachability predicates over the states of some
or all components at di erent time steps during the execution of the system. Every concrete
execution of an ABN is a sequence of states q0; :::; qk. An observation is a set of concrete traces,
which may be speci ed by a predicate that restricts the set of all traces, e.g., all traces starting
in a particular starting state q0 and that reach a nal state qf .</p>
      <p>De nition 2 (Observation satisfaction). An ABN satis es an observation i there exists at
least one concrete BN, for which there exists at least one trace that satis es all conditions on
initial, nal, and other states.</p>
      <p>empty input alphabet,
set of initial states Qi
set of nal states F</p>
      <p>Q,</p>
      <p>Q, and
transition relation : Q
ri for each gene gi.</p>
      <p>Q = (q; hr1(q); : : : ; rn(q)i); for all q 2 Q with an update function
Example 1. Consider the network in Fig. 1(a). This depicts a small ABN where each circle
represents a gene, each solid edge represents a de nite interaction, and each dashed edge
represents an optional interaction (the bidirectional edge between Klf4 and Essrb represents two
optional interactions). Fig. 1(b) shows all unique instantiations of optional interactions
forming a CBN consistent with some set of observations (not shown here). Each column represents
one CBN, where a green square indicates that the corresponding interaction was included, and
a black square indicates that it was not. Fig. 1(c) shows the CBN corresponding to column 1 of
Fig. 1(b) where only the rst interaction is instantiated.</p>
      <p>
        In previous work, Dunn et al. [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] aimed at enumerating and analysing a set of CBNs (as well
as nding a minimal CBN) consistent with all experimental observations. They enumerated
all possible network topologies, then formulated a query that posits that a network satis es
the observational constraints, and dispatched each of those queries to an SMT solver (Z3 [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]).
The set of solutions obtained using this approach describes a set of CBNs consistent with all
observations.
4
      </p>
    </sec>
    <sec id="sec-4">
      <title>Polynomial-based Synthesis</title>
      <p>We start by de ning parametrised templates that enable us to transform the problem of
synthesising ( nding) a function into an equivalent problem of nding parameters or coe cient
values. Note that our goal is not to synthesise or nd update functions ri of ABNs. Instead,
the goal is to synthesise a concise description of the topology and the properties of ABNs (e.g.,
observational constraints), also encoded in Boolean functions. Such a template can be used to
construct SMT queries to nd the coe cients required to model certain properties of a system.</p>
      <p>To this end, we observe that all Boolean functions have an Algebraic Normal Form (ANF)
polynomial, which provides a canonical representation of functions of n inputs in terms of 2n
coe cients (in the worst case). Further, this representation also allows us to order Boolean
functions in a manner that enables us to de ne a class of abstract function re nement
procedures. We begin by stating the basic completeness property of ANF.</p>
      <p>Theorem 1 (Folklore). Every Boolean formula f over variables fx1; : : : ; xng has an equivalent
and unique Algebraic Normal Form (ANF) taking the form of
f (x1; : : : ; xn)
=
a0
(a1 ^ x1)
(a1;2 ^ x1 ^ x2)
a1;:::;n ^ x1 ^
^ xn
(an ^ xn)
(an 1;n ^ xn 1 ^ xn)
for some a1; : : : ; a1;:::;n 2 f0; 1g where</p>
      <p>is the exclusive-or operator.</p>
      <p>We chose this representation of Boolean functions, because it allows us to easily identify
and to specify some simple sub-classes of functions; for instance, constants are indeed just a
single constant term, linear functions contain only monomials, etc. Mathematically, any other
representation of Boolean functions may be equivalent, but we suspect that presenting functions
in ANF may help computational biologists to interpret our results. To make this more explicit,
we de ne algebraic polynomials as a symbolic representation of Boolean functions:
De nition 3. Let X = fx1; : : : ; xng be a set of Boolean variables. A Boolean formula p over
X, i.e., p(x1; : : : ; xn), is an algebraic normal form polynomial (or simply algebraic polynomial)
if it is of the form
p(x1; : : : ; xn) = c0
t1
tk
where k &lt; 2n, each ti is distinct from all others, and of the form ci ^ VjlX=0jj xl, where Xj is the
j-th subset of 2X and xl is the l-th item in Xj , and fci j 0 i &lt; 2ng is a set of distinct Boolean
constants which we call the `coe cients'.</p>
      <p>An algebraic polynomial is conveniently described as a subset of the ANF monomials in its
representation, and it represents a set of Boolean functions (those representable by concrete
choices of values for the coe cients ci). This de nition also allows us to order functions based
on the lexicographical ordering of the coe cients. The maximal polynomial is the one equivalent
to the (2n 1)-monomial ANF (with all coe cients ci = 1).</p>
      <p>Lemma 1. For every non-maximal algebraic polynomial p, there is a polynomial p0
every monomial in p is included in p0.
p s.t.
4.1</p>
      <sec id="sec-4-1">
        <title>Searching for Boolean Functions</title>
        <p>Given that we have established an ordering of ANF polynomials, we are now able to de ne
directed search strategies that are designed to exhaust a particular class of functions. The search
for a particular function representable within an algebraic polynomial is ultimately performed
by checking a propositional formula for satis ability (in practice by an SMT solver), such that
a satisfying assignment to all ci identi es a speci c function.</p>
        <p>Example 2. The algebraic polynomial c (c1 ^ x1 ^ x2) corresponds to the Boolean functions
ff (x1; x2) = 0; f (x1; x2) = 1; f (x1; x2) = x1 ^ x2; f (x1; x2) = 1 (x1 ^ x2)g.</p>
        <p>Looking at Ex. 2, a query could be posted to a SMT solver that checks whether any of
the functions corresponding to the given ANF is equivalent to a sought after Boolean function
( (x)). Such a query could be on the following form:
' = 9c; c1:8x: (x) , c
(c1 ^ x1 ^ x2)</p>
        <p>This query will only consider two of the arguments in x, this might of course not be enough,
in which case a larger ANF must be tried. The key to e ciency lies in knowing which monomials
to include in the ANF to make it feasible to nd suitable coe cients quickly.</p>
        <p>The universal quanti er is necessary to ensure the ANF instantiated with coe cients behaves
likes the given function. It could be eliminated by using enumeration of the whole domain (or
partially, using some kind of bounded model checking), this has not been further developed at
this point. However, this does not ensure a quanti er-free formula, since (x) might contain
quanti ers (which is the case in many applications, including ABN synthesis).</p>
        <p>Lem. 1 tells us that every Boolean function represented by p has an equivalent representation
in some p0 p. If p is maximal, then all Boolean functions are included. We may therefore
traverse any set of algebraic polynomials to search for a particular function, f , that has a
representation in p, yet we are still able to guarantee to nd any Boolean function if we include
(at least) the maximal polynomial. In practice, this is of course (too) expensive. Often, a much
smaller set of functions, or a set of smaller functions, is su cient.</p>
        <p>This leads us to a simple, sound, and complete search procedure: start with any algebraic
polynomial p and see if it can represent f . If it cannot, then pick the next polynomial p0 p
according to the ordering and retry. This is repeated until a suitable polynomial has been
found. The process is guaranteed to terminate since there is only a nite number of algebraic
polynomials over a xed set of variables, and the maximal algebraic polynomial is guaranteed
to be able to represent f .
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>FIND and FIX</title>
        <p>Let '(x) be a Boolean function and suppose that the problem is to synthesise another function
f'(x) = '(x), i.e., for each assignment to x 2 X, we want f'(x) to compute the same result
as '(x), but preferably in a smaller or more `general' representation. The idea is to slice the
domain of assignments into subsets that are easily solvable, have small representations, and
ultimately yield a description of f' that pairs predicates (functions that map inputs to 1 or
0), identifying parts of functions, with (function)-terms that e ciently describe the desired
functional relationships between variables in '. Formally, we are looking for a model, that is a
formula equivalent to '(x) but in a di erent form or representation.</p>
        <p>We propose an iterative procedure: we begin by stating the formula to be modelled, f',
and we construct an initial arbitrary model function m = 0, for f'(x). We then search for
a counter-example, c, to the current model, m, i.e. an assignment to the variables x such
that m(x) 6= '(x). Then a predicate find and a function fix is constructed s.t. find(c) =
1 ^ 8x : find(x) ) m(x) 6= '(x) and 8x : find(x) ) (fix(x) = '(x)). A new, improved
model is then easily constructed from those parts: m0'(x) = IT E(find(x); fix(x); m(x)), where
IT E is the if-then-else operator. The algorithm is summarised in Alg. 1.</p>
        <p>This procedure can be relaxed in two ways while still maintaining completeness,
approximating either the find or the fix predicate. This means that in each iteration a counter-example
c is generated, w.r.t. the current model m. The task is then to \patch" the current model s.t.
m(c) now computes the correct value. We synthesise find and fix, where find must identify
at least one counter-example c, but is allowed to be imprecise elsewhere. The new model will
be correct for c (per construction) and for no other function points will it be incorrect where
it previously was correct (fix being exact). Therefore, the number of inputs for which the new
model is correct, will be guaranteed to be larger than for the older model (by at least one). The
m(x) 0;
while 9x:m(x) 6= '(x) do
c x s.t. m(x) 6= '(x);
fd f d s.t. f d(c) ^ (8x:f d(x) ) m(x) 6= '(x)) ;
fx f x s.t. 8x:f d(x) ) f x(x) = '(x) ;
m(x) IT E(fd(x); fx(x); m(x));
end</p>
        <p>Algorithm 1: The find and fix loop
algorithm is described in Alg. 2. The reasoning for approximate fix is similar and summarised
by Alg. 3.</p>
        <p>m(x) 0
while 9c:m(c) 6= '(c) do
fd f d s.t. f d(c)
fx f x s.t. 8x:</p>
        <p>f d(x) ) f x(x) = '(x)
m(x)</p>
        <p>IT E(fd(x); fx(x); m(x))
end
Algorithm 2: Approximate find
m(x) 0
while 9c:m(c) 6= '(c) do
fd f d s.t. f d(c)^
8x:f d(x) ) m(x) 6= '(x)</p>
        <p>f x s.t. f x(x) = '(x)
fx
m(x)</p>
        <p>IT E(fd(x); fx(x); m(x))
end
Algorithm 3: Approximate fix
4.3</p>
      </sec>
      <sec id="sec-4-3">
        <title>Function Synthesis Reasoning</title>
        <p>Combining find and fix with algebraic polynomial function templates leads to a Boolean
function synthesis procedure, as outlined in Alg. 4. It rst looks for a counter-example ce to the
m 0 ;
while 9ce : m(ce) 6= '(ce) do
p f indRepresentingP olynomial(ce; p0) ;
while 9k : p(k) ^ ('(k) = 0) do
p nextRepresentingP olynomial(k; p) ;
m IT E(p; 1; m) ;
end
end</p>
        <p>Algorithm 4: Approx. find, Exact fix-model search for formula '
initial model m.1 ndRepresentingPolynomial(ce, p0) generates an algebraic polynomial that
contains ce (starting from an arbitrary but xed initial polynomial p0) and
nextRepresentingPolynomial(k, p) generates an algebraic polynomial greater than p that contains k.</p>
        <p>In ndRepresentingPolynomial as well as nextRepresentingPolynomial there is a lot of room
for heuristics. A simple way of nding the next representing polynomial is by considering
all possible ANFs and selecting the next one according to a lexicographical ordering (which
is easy to construct) until a suitable is found. This will often be very slow and, so better
heuristics are necessary. Our prototype implementation (FSREIN) implements a method based
1In essence, this is the query RE:IN uses to enumerate solutions.
on identifying relevant variables from unsatis able core reasoning, and only adds monomials
over those variables that appear in the core. An important insight here is that any heuristic
that always produces larger polynomials is guaranteed to be complete.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Comparison</title>
      <p>
        Using the techniques presented in Sec. 4.3 a tool was implemented, FSREIN, which is capable
of synthesizing a Boolean function describing all concrete Boolean network, for a given ABN,
that are valid with resepect to some observational constraints. We present in this section a
comparison between this and the state-of-the-art tool for ABN reasoning (RE:IN [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]). Both
tools, RE:IN and FSREIN, are sound and complete, and they will nd all valid networks given
su cient time. Both tools have exponential worst-case runtime complexity.
      </p>
      <p>Reduced Models. Consider the problem presented earlier in Fig. 1. The ABN shown in
Fig. 1(a) is a module of the more extensive gene regulatory network that governs the mouse
pluripotent embryonic stem cell (ESC) state dynamics. Experimental measurement of gene
expression under di erent inputs allows us to de ne experimental observations of the pluripotency
network, which we impose as constraints. Using RE:IN to enumerate consistent CBNs yields
the table shown in Fig. 1(b). Eight unique CBNs are consistent with the experiments. From
the table it is quite easy to see that the interaction Esrrb ! Oct4 is part of every solution, and
it is thus a required interaction. The output of FSREIN are the two find-functions
(Esrrb--&gt;Oct4) OR
((not Esrrb--&gt;Oct4) = (Esrrb--&gt;Klfnn4 and Esrrb--&gt;Oct4))
where the corresponding fix functions are both 1, from which it is trivial to see (or to deduce)
that Esrrb ! Oct4 is a required interaction.</p>
      <p>For another, larger example (16 genes, 8 optional interactions, 2 experiments) a similar result
was found. When RE:IN was executed it enumerated 96 solutions, while FSREIN produces the
following functions:</p>
      <sec id="sec-5-1">
        <title>Benchmarks. To compare more quantitatively, we</title>
        <p>crafted a set of 39 simple benchmark problems on
which to test both tools. Fig. 2 summarises the re- Figure 2: A comparison of the model
sults after running each of the tools, comparing the size produced by RE:INand FSREIN.
10 100 1k 10k 100k
RE:IN [# CBNs]
((Nanog --&gt; Sox2) AND (Klf2 --&gt; Oct4)) OR
((Sall4 --&gt; Sox2) AND (Klf2 --&gt; Oct4))</p>
      </sec>
      <sec id="sec-5-2">
        <title>The running time for the FSREIN was in this instance</title>
        <p>three orders of magnitude slower than running the
RE:IN-tool, which can of course be a major
obstruction, but there is plenty of room to greatly improve
the e ciency of the procedure. However, the major
improvement is the readability of the model. The
FSREIN model is easy to understand and clearly shows
the interactions between genes that is in a more
`natural' form for computational biologists than the list
of counter-examples obtained from RE:IN.
100k
]
s
e
ta 10k
c
i
d
re 1k
p
[#100
N
I
ER 10
S
F
1
1
size of the model expressions (the number of enumerated models for RE:IN and the number of
find and fix-pairs for FSREIN) for each tool. Observe that FSREIN never produces a model
larger than that of RE:IN, but it is interesting to see that in some cases it produces signi cantly
smaller representations.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Conclusion</title>
      <p>In this paper we present a function synthesis approach based on the find and fix-strategy,
using algebraic polynomials to describe sets of Boolean functions to be synthesised. We apply
this technique to problems that arise in computational biology; speci cally the abstract Boolean
network synthesis problem, and show that in small instances it is able to produce functions
describing the set of concrete Boolean networks that are consistent with the abstract network, and
with experimental observations obtained through wet-lab experiments. The average runtime
of our implementations is not better than the state-of-the-art, but it has the bene t of
removing the burden of having to analyse a large set of enumerated models to nd patterns within
the data. Rather, the functions describing the networks are kept in a compact and expressive
representation, which is much more amenable to scienti c testing and interpretation.
[14] Amir Pnueli and Roni Rosner. A framework for the synthesis of reactive modules. In Intl. Conf.</p>
      <p>on Concurrency (Concurrency 1988), volume 335 of LNCS. Springer, 1988.
[15] Mohammad Raza, Sumit Gulwani, and Natasa Milic-Frayling. Compositional program synthesis
from natural language and examples. In IJCAI 2015. AAAI Press, 2015.
[16] Andrew Reynolds, Morgan Deters, Viktor Kuncak, Cesare Tinelli, and Clark W. Barrett.</p>
      <p>Counterexample-guided quanti er instantiation for synthesis in SMT. In CAV 2015, volume 9207
of LNCS. Springer, 2015.
[17] Andrew Reynolds, Cesare Tinelli, Amit Goel, Sava Krstic, Morgan Deters, and Clark W. Barrett.</p>
      <p>Quanti er instantiation techniques for nite model nding in SMT. In CADE 2013, volume 7898.</p>
      <p>Springer, 2013.
[18] Armando Solar-Lezama. Program sketching. STTT, 15(5-6):475{495, 2013.
[19] Christoph M. Wintersteiger, Youssef Hamadi, and Leonardo de Moura. E ciently solving
quanti ed bit-vector formulas. FMSD, 42(1):3{23, 2013.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>Eugene</given-names>
            <surname>Asarin</surname>
          </string-name>
          , Oded Maler, and
          <string-name>
            <given-names>Amir</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>Symbolic controller synthesis for discrete and timed systems</article-title>
          .
          <source>In Hybrid Systems II</source>
          , volume
          <volume>999</volume>
          <source>of LNCS</source>
          . Springer,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>Roderick</given-names>
            <surname>Bloem</surname>
          </string-name>
          , Krishnendu Chatterjee, Karin Greimel, Thomas A.
          <string-name>
            <surname>Henzinger</surname>
          </string-name>
          , Georg Ho erek, Barbara Jobstmann,
          <article-title>Bettina Konighofer, and Robert Konighofer. Synthesizing robust systems</article-title>
          .
          <source>Acta Inf.</source>
          ,
          <volume>51</volume>
          (
          <issue>3-4</issue>
          ),
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>Krishnendu</given-names>
            <surname>Chatterjee</surname>
          </string-name>
          , Thomas A.
          <string-name>
            <surname>Henzinger</surname>
            , Jan Otop, and
            <given-names>Andreas</given-names>
          </string-name>
          <string-name>
            <surname>Pavlogiannis</surname>
          </string-name>
          .
          <article-title>Distributed synthesis for LTL fragments</article-title>
          .
          <source>In FMCAD 2013. IEEE</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4] Leonardo de Moura and
          <article-title>Nikolaj Bj rner. E cient e-matching for SMT solvers</article-title>
          .
          <source>In CADE</source>
          <year>2007</year>
          , volume
          <volume>4603</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5] Leonardo de Moura and
          <article-title>Nikolaj Bj rner. Z3: an e cient SMT solver</article-title>
          .
          <source>In TACAS</source>
          <year>2008</year>
          , volume
          <volume>4963</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.-J.</given-names>
            <surname>Dunn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Martello</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Yordanov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Emmott</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A. G.</given-names>
            <surname>Smith.</surname>
          </string-name>
          <article-title>De ning an essential transcription factor program for nave pluripotency</article-title>
          .
          <source>Science</source>
          ,
          <volume>344</volume>
          (
          <issue>6188</issue>
          ),
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <surname>Jasmin</surname>
            <given-names>Fisher</given-names>
          </string-name>
          , Ali Sinan Koksal, Nir Piterman, and
          <string-name>
            <given-names>Steven</given-names>
            <surname>Woodhouse</surname>
          </string-name>
          .
          <article-title>Synthesising executable gene regulatory networks from single-cell gene expression data</article-title>
          .
          <source>In CAV</source>
          <year>2015</year>
          , volume
          <volume>9206</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>Yeting</given-names>
            <surname>Ge</surname>
          </string-name>
          and Leonardo de Moura.
          <article-title>Complete instantiation for quanti ed formulas in satis abiliby modulo theories</article-title>
          .
          <source>In CAV</source>
          <year>2009</year>
          , volume
          <volume>5643</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Sumit</given-names>
            <surname>Gulwani</surname>
          </string-name>
          .
          <article-title>Program synthesis</article-title>
          .
          <source>In Software Systems Safety</source>
          , volume
          <volume>36</volume>
          <source>of NATO Science for Peace and Security Series</source>
          ,
          <string-name>
            <surname>D</surname>
          </string-name>
          : Information and
          <string-name>
            <given-names>Communication</given-names>
            <surname>Security</surname>
          </string-name>
          . IOS Press,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>Tihomir</given-names>
            <surname>Gvero</surname>
          </string-name>
          and
          <string-name>
            <given-names>Viktor</given-names>
            <surname>Kuncak</surname>
          </string-name>
          .
          <article-title>Interactive synthesis using free-form queries</article-title>
          .
          <source>In ICSE 2015. IEEE</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <surname>S.A.</surname>
          </string-name>
          <article-title>Kau man. Metabolic stability and epigenesis in randomly constructed genetic nets</article-title>
          .
          <source>Journal of Theoretical Biology</source>
          ,
          <volume>22</volume>
          (
          <issue>3</issue>
          ),
          <year>1969</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Ali</given-names>
            <surname>Sinan</surname>
          </string-name>
          <article-title>Koksal, Yewen Pu, Saurabh Srivastava, Rastislav Bod k</article-title>
          , Jasmin Fisher, and
          <string-name>
            <given-names>Nir</given-names>
            <surname>Piterman</surname>
          </string-name>
          .
          <article-title>Synthesis of biological models from mutation experiments</article-title>
          .
          <source>In POPL 2013. ACM</source>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <surname>Hillel</surname>
            <given-names>Kugler</given-names>
          </string-name>
          , Cory Plock, and
          <string-name>
            <given-names>Amir</given-names>
            <surname>Pnueli</surname>
          </string-name>
          .
          <article-title>Controller synthesis from LSC requirements</article-title>
          .
          <source>In FASE</source>
          <year>2009</year>
          , volume
          <volume>5503</volume>
          <source>of LNCS</source>
          . Springer,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>