We introduce the concepts of abstract states and systems, and the related notions necessary to relate them to their concrete version.
To abstract precise numeric values we use Intervals of values. Definition 25 (Intervals). I = { [m, n] | m ∈ R≥0, n ∈ R≥0∪ {∞}}.
We say that an interval is well formed if its lower bound is less or equal its upper bound; formally WellFormed([m, n])= m ≤ n.
In the following, given an interval i= (m, n) ∈ I we use Precise(i) to denote m= n.
Since intervals may contain ∞, mathematical operations may give indeter- minate forms. For this reason we extend mathematical operators+, ×, −, / in order to consider, in some cases, ∞. This avoid the need to deal with certain indeterminate forms in each definition that follows. In particular we consider :
a+ b = ∞ if a= ∞ or b = ∞ ; a+ b otherwise. a × b= ∞ if a= ∞ or b = ∞ ; a × b otherwise. a − b= ∞ if a= ∞ and b , ∞ ; −∞ if b= ∞ and a , ∞ ; a − b otherwise. a/b = ∞ if a= ∞ or b = ∞ ; a/b otherwise.
Definition 26 (Abstract Multiset). Given a finite set X, an abstract multiset is a function m◦ : X 7→ I. We denote the universe of abstract multiset by MS◦, and the universe of abstract multisets over a set X as MS◦(X).
We say that an abstract multiset is well formed if it is composed by well formed intervals. Formally WellFormed(m◦)= ∀i=1,|m◦|WellFormed(m◦[i]).
On abstract multisets MS◦an approximation order vMS◦can be defined as follows.
Definition 27 (Order on Abstract Multisets). Given abstract multisets m◦ 1, m◦2∈ MS◦(X) we say that m◦1vMS◦ m◦2iff ∀ a ∈ X : m◦1(a) v
Im ◦
2(a).
We use predicates of the form of (a ≥ xlow) ∧ (a ≤ xhigh), where a ∈ Σ indicates a species while [xlow, xhigh] ∈ I (xlow ≤ xhigh ∈ N). For the sake of simplicity we denote predicates as pairs, specifying the species and the interval of values.
Definition 28 (Predicate). A Predicate p is a pair (a, i) • a ∈ X is aspecies;
• i ∈ I is an interval of values.
We denote the universe of predicates as P and the universe of predicates over a set of species X as P(X).
To evaluate the truth of a predicate w.r.t. concrete and abstract states we use an entailment functionP: (MS ∪ MS
◦
) × P 7→ {true, f alse}. A predicate p= (a, i) is true for a state s ∈ MS, denoted as s P p, iff s(a) ∈ i.
Moreover, p= (a, i) is true for an abstract state s◦∈ MS◦, denoted as s◦ P p, iff s◦(a) v
Ii.
To abstract concrete models we use sets of predicates p ∈ Parts(P(Σ)). In the following, ∀a ∈Σ , ∀p ∈ Parts(P(Σ)), we use p(a) = { p ∈ p | p = (a, i) }, the subset of predicates regarding a.
Specifically, we consider sets of predicates which are a partition with respect to the set of speciesΣ, denoted bybP(Σ) ⊂ Parts(P(Σ)), and sets of predicates which are a partition with respect to the set of speciesΣ and the set of rules R of a model, denoted by bPR(R) ⊂ bP(Σ).
A set of predicates is a partition w.r.t. a set of speciesΣ if it partitions the domains associated to each species ofΣ.
Definition 29. A set of predicates p ∈ bP(Σ) is a partition w.r.t. Σ iff • covers all species inΣ: S(a,i)∈p{a}= Σ;
• they are a partition of the values in the domain of each species: – ∀p0= (a
1, i1), p00= (a2, i2) ∈ p : a1= a2 ⇒ i1∩ i2= ; – ∀a ∈Σ, n ∈ N : ∃p = (a, i) ∈ p s.t. n ∈ i
that is ∀a ∈Σ : SI
(a,i)∈pi= [0, ∞].
A set of predicates p is a partition w.r.t. a set of rules R overΣ if: (a) it is a partition w.r.t. Σ and (b) for all species a ∈ Σ, for all rules R = (l, k, r) ∈ R, and for all predicates p = (a, i = [xmin, xmax]) ∈ p, the number of individuals requested by the rule for the species, l(a), if is included in the interval i, it can be only its minimum, i.e. l(a) < [xmin+ 1, xmax]. Notice that this condition guarantees that a rule can be applied in any or in all of the states corresponding to a given abstract state.
Definition 30.
A set of predicates p ∈ bPR(Σ) is a partition w.r.t. R over Σ iff • is a partition w.r.t.Σ
• ∀R= (l, r, k) ∈ R , ∀p = (a, i = [xmin, xmax]) ∈ p :
l(a) < [xmin+ 1, xmax] In order to relate concrete multisets to abstract multisets we introduce abstraction and concretization of multisetsfunction, αMSand γMS, which are parametric w.r.t sets of predicates. For m ∈ MS, the abstraction function reports its best approximation w.r.t. a set of predicates p. Conversely, for m◦∈ MS◦the concretization function reports the (possibly infinite) set of multisets represented by m◦.
Definition 31 (Abstraction of Multiset w.r.t. Set of Predicates and Concretization of Abstract Multiset).
• αMS: bP(X) 7→ MS(X) 7→ MS◦(X) is defined as
• γMS(X): MS◦7→ Parts(MS(X)) is defined as γMS(m◦) : {m | ∀ a ∈ X : [m(a)]◦vIm
◦(a)} .
We introduce the abstract systems M◦.
Definition 32 (Abstract System). An abstract system M◦is a tuple(Σ, R, s 0, p): • Σ is a finite set of species names of size n;
• R = {R1, . . . , Rm}, Ri ∈ MS(Σ) × MS(Σ) × R>0, is a set of not-null 1 rewriting rules;
• s0 ∈ MS(Σ) is the starting state;
• p ∈ bPR(R) is a set of predicates which is a partition w.r.t. the set of rules R overΣ.
We denote the universe of abstract models as M◦.
Note that, using a set of predicates that is a partition w.r.t. a set of rules guarantees that all the concrete states abstracted by a an abstract multiset shares the same set of applicable rules. That is, as the following theorem states, if a rule is applicable in m ∈ γMS(m◦), then, ∀m0 ∈γMS(m◦), the rule is applicable to m0.
Lemma 5.2.1. Let M◦ = (Σ, R, s0, p) ∈ M◦. For each s ∈ MS◦(Σ) , s0, s00 ∈ γMS(αMS(p)(s)) and R= (r, l, k) ∈ R,
I sApplicable(R, s0) ⇔ I sApplicable(R, s00)
where I sApplicable(R= (l, r, k), s0) ≡ l ⊆ s0.
Proof. As I sApplicable(R, s0), ∀a ∈ Σ , l(a) ≤ s0(a). Let αMS(p)(s0) = [xmin, xmax] , reasoning for a generic a ∈ Σ, given that s0 ∈ γMS(αMS(p)(s0)), we have that xmin≥ l(a) (by Definitions 32 and 30).
On the other side we have that, as s00 ∈ γ
MS(s0◦), we have that ∀a ∈ Σ , s00(a) ≥ x
min, that is l ⊆ s00, and thus I sApplicable(R, s00). As the reasoning can be done also in the other sense, ⇔ holds.
We now introduce an order over abstract models vM◦based on an order v
bP over the associated set of predicates.
An approximation order over set of predicates is defined as follows. The > of such an order is the infinite set p• of predicates consisting of a precise interval for each possible value of each species in a system. Formally p•(Σ) = S
a∈Σ, x∈N{(a, x•)}2. Note that ∀p ∈ bP(Σ) : p•(Σ) vbP p, and that ∀s ∈ MS : γMS◦(αMS◦(p•)(s))= {s}.
Definition 33 (Order on Set of Predicates). Given sets of predicates p1, p2 ∈ bP(X) we say that p1vbPp2iff
∀ p1= (a1, i1) ∈ p1 : ∃! p2= (a2, i2) ∈ p2s.t. a1= a2∧ i1 vIi2. Definition 34 (Order on Abstract Systems). Let M◦
i = (Σi, Ri, s0,i, pi) for i ∈ {1, 2}. We say that
M◦1 vM◦ M◦
2iff(αMS(p1)(s0,1) vMSαMS(p2)(s0,2)) ∧ (p1vbPp2) . Intuitively, an abstract system M◦1is more precise than another M◦2 if: (a) M◦1 and M◦2 have the same rules over the same set of species; (b) if the best abstraction of the initial state of M◦1is finer than that of the initial state of M◦1; (c) if M◦
1has a finer set of predicates than M◦2.
To relate a concrete system to its best approximation, and vice versa, we introduce the following abstraction and concretization functions.
Definition 35 (Abstraction and Concretization Functions).
We defineα : bPR 7→ M 7→ M◦ and γ : M◦ 7→ Parts(M) such that ∀M ∈ M, ∀M◦ ∈ M◦ :
• α(p)((Σ, R, s0))= (Σ, R, s0, p); • γ(M◦= (Σ, R, s
0◦, p)) = {M | α(p)(M) vM◦ M◦}.