Abstract
This article fully describes an abstract domain, dedicated to the generation of accurate numerical invariants and based on zonotopes parameterized by vectors of affine forms. We introduce the abstract transfer functions, prove their correctness and demonstrate their efficiency. One strength of the domain is its simple abstraction of non-linear operations. These affine vectors also abstract input/output relations, which allows in particular modular analysis, proofs of user-defined complex invariants and test case generation. Finally, the affine vectors like parametrization is flexible enough to allow variations that yield different interesting abstractions, such as inner-approximations or abstraction of probabilistic information.
Similar content being viewed by others
References
Adjé A, Bouissou O, Goubault-Larrecq J, Goubault E, Putot S (2014) Static analysis of programs with imprecise probabilistic inputs. In: Verified software: theories, tools, experiments—5th international conference, VSTTE 2013, Lecture notes in computer science, vol 8164. Springer, pp 22–47
Adje A, Gaubert S, Goubault E (2010) Coupling policy iteration with semi-definite relaxation to compute accurate numerical invariants in static analysis. In: Proceedings of the European symposium on programming. Springer
Alamo T, Bravo J, Camacho E (2005) Guaranteed state estimation by zonotopes. Automatica 41(6):1035–1043. doi:10.1016/j.automatica.2004.12.008
Althoff M, Krogh BH (2011) Zonotope bundles for the efficient computation of reachable sets. Proc CDC 2011:6814–6821
Althoff M, Krogh BH (2014) Reachability analysis of nonlinear differential-algebraic systems. IEEE Trans Autom Control 59(2):371–383
Bagnara R, Ricci E, Zaffanella E, Hill PM (2002) Possibly not closed convex polyhedra and the parma polyhedra library. In: SAS ’02: proceedings of the 9th international symposium on static analysis, Springer, London, pp 213–229. http://www.cs.unipr.it/ppl/
Bertsekas DP, Nedic A, Ozdaglar AE (2003) Convex analysis and optimization. Athena Scientific, Belmont
Bouissou O, Goubault E, Goubault-Larrecq J, Putot S (2012) A generalization of p-boxes to affine arithmetic. Computing 94:1–13
Chatterjee R, Ryder BG, Landi WA (1999) Relevant context inference. In: POPL ’99: proceedings of the 26th ACM SIGPLAN-SIGACT symposium on principles of programming languages, ACM, New York, pp 133–146. http://doi.acm.org/10.1145/292540.292554
Comba JLD, Stolfi J (1993) Affine arithmetic and its applications to computer graphics. In: VI Simpósio Brasileiro de Computação Gráfica e Processamento de Imagens (SIBGRAPI’93), pp 9–18
Combastel C (2003) A state bounding observer based on zonotopes. In: Proceedings of european control conference. Cambridge
Combastel C (2005) A state bounding observer for uncertain non-linear continuous-time systems based on zonotopes. In: Proceedings of 44th IEEE conference on decision and control
Costan A, Gaubert S, Goubault E, Martel M, Putot S (2005) A policy iteration algorithm for computing fixed points in static analysis of programs. In: CAV, pp 462–475
Cousot P, Cousot R (1977) Abstract interpretation: a unified lattice model for static analysis of programs by construction of approximations of fixed points. Princ Prog Lang 4:238–252
Cousot P, Cousot R (1992) Abstract interpretation frameworks. J Logic Comput 2(4):511–547
Cousot P, Cousot R (1993) Galois connection based abstract interpretations for strictness analysis, invited paper. In: Bjørner D, Broy M, Pottosin I (eds) Proceedings of the international conference on formal methods in programming and their applications, Academgorodok. Lecture notes in computer science vol 735. Springer, Berlin, pp 98–127. doi:10.1007/BFb0039703
Cousot P, Cousot R (2001) Compositional separate modular static analysis of programs by abstract interpretation. In: Proceedings of the Second international conference on advances in infrastructure for e-business, e-science and e-education on the internet, SSGRR 2001. Scuola Superiore G. Reiss Romoli, Compact disk, L’Aquila
Cousot P, Halbwachs N (1978) Automatic discovery of linear restraints among variables of a program. In: POPL, pp 84–96
Delmas D, Goubault E, Putot S, Souyris J, Tekkal K, Védrine F (2009) Towards an industrial use of fluctuat on safety-critical avionics software. In: Proceedings of FMICS, LNCS, vol. 5825
Feret J (2004) Static analysis of digital filters. In: Proceedings of ESOP, LNCS, vol. 2986. Springer
de Figueiredo LH, Stolfi J (2004) Affine arithmetic: concepts and applications. Numer Algorithms 37(1–4):147–158
Gaubert S, Goubault E, Taly A, Zennou S (2007) Static analysis by policy iteration on relational domains. In: Proceedings of the Sixteenth european symposium of programming (ESOP’07), LNCS, vol. 4421, Springer, pp 237–252
Ghorbal K, Goubault E, Putot S (2009) The zonotope abstract domain taylor1+. In: CAV ’09: proceedings of the 21st international conference on computer aided verification, Springer, Berlin/Heidelberg, pp 627–633. doi:10.1007/978-3-642-02658-4_47
Ghorbal K, Goubault E, Putot S (2010) A logical product approach to zonotope intersection. In: CAV’10: Proceedings of the 22nd international conference on computer aided verification, LNCS, vol. 6174. Springer, Berlin/Heidelberg
Girard A (2005) Reachability of uncertain linear systems using zonotopes. In: Proceeedings of HSCC 2005, LNCS, vol 3414, pp 291–305
Girard A, Le Guernic C (2008) Zonotope/hyperplane intersection for hybrid systems reachability analysis. In: HSCC ’08: proceedings of the 11th international workshop on hybrid systems, Springer, Berlin, Heidelberg, pp 215–228. doi:10.1007/978-3-540-78929-1_16
Goubault E, Gall TL, Putot S (2012) An accurate join for zonotopes, preserving affine input/output relations. In: Proceedings of NSAD’12, ENTCS, vol 287, pp 65–76
Goubault E, Mullier O, Putot S, Kieffer M (2014) Inner approximated reachability analysis. In: HSCC’14, ACM, pp 163–172
Goubault E, Putot S (2006) Static analysis of numerical algorithms. In: Yi K (ed) SAS, Lecture notes in computer science, vol 4134, Springer, pp 18–34
Goubault E, Putot S (2007) Under-approximations of computations in real numbers based on generalized affine arithmetic. In: Nielson HR, Filé G (eds) SAS, Lecture notes in computer science, vol 4634, Springer, pp 137–152
Goubault E, Putot S (2008) Perturbed affine arithmetic for invariant computation in numerical program analysis. CoRR abs/0807.2961
Goubault E, Putot S (2009) A zonotopic framework for functional abstractions. CoRR abs/0910.1763
Goubault E, Putot S (2011) Static analysis of finite precision computations. In: Proceedings of verification, model checking, and abstract interpretation—12th international conference, VMCAI 2011, LNCS, vol 6538, Austin, pp 232–247
Goubault E, Putot S (2013) Robustness analysis of finite precision implementations. In: Proceedings of APLAS, Lecture notes in computer science, vol 8301, Springer, pp 50–57
Goubault E, Putot S, Baufreton P, Gassino J (2007) Static analysis of the accuracy in control systems: principles and experiments. In: Leue S, Merino P (eds) FMICS, Lecture notes in computer science, vol 4916, Springer, pp 3–20
Goubault E, Putot S, Védrine F (2012) Modular static analysis with zonotopes. In: Proceedings on static analysis—19th international symposium, SAS 2012, Deauville, 11–13 September 2012. pp 24–40
Guernic CL, Girard A (2009) Reachability analysis of hybrid systems using support functions. In: CAV, pp 540–554
Guibas LJ, Nguyen A, Zhang L (2003) Zonotopes as bounding volumes. In: SODA, pp 803–812
Jeannet B, al. Newpolka library. http://www.inrialpes.fr/pop-art/people/bjeannet/newpolka
Jeannet B, Gopan D, Reps T (2005) A relational abstraction for functions. In: International workshop on numerical and symbolic abstract domains
Jeannet B, Miné A (2009) Apron: A library of numerical abstract domains for static analysis. In: CAV, pp 661–667
Kühn W (1998) Zonotope dynamics in numerical quality control. In: Hege HC, Polthier K (eds) Visualization and mathematics. Springer, Heidelberg, pp 125–134
Kurzhanski AB, Varaiya P (2000) Ellipsoidal techniques for reachability analysis. In: HSCC ’00: proceedings of the third international workshop on hybrid systems: Computation and Control, Springer, pp 202–214
Kurzhanskii AB, Vlyi I (1997) Ellipsoidal calculus for estimation and control. Laxenburg, Austria : IIASA; Boston : Birkhuser Boston
Le VTH, Stoica C, Alamo T, Camacho E, Dumur D (2013) Zonotopes: from guaranteed state estimation to control. Wiley-ISTE, Hoboken
Miné A (2001) A new numerical abstract domain based on difference-bound matrices. In: PADO ’01: proceedings of the second symposium on programs as data objects, Springer, London, pp 155–172
Miné A (2006) Symbolic methods to enhance the precision of numerical abstract domains. In: VMCAI’06, pp 348–363
Monniaux D (2005) Compositional analysis of floating-point linear numerical filters. In: CAV, pp 199–212
Rump S, Kashiwagi M (2014) Implementation and improvements of affine arithmetic. Nonlinear Theory Appl 2:1101–1119
Ziegler GM (2007) Lectures on polytopes (updated seventh printing). No. 152 in graduate texts in mathematics. Springer, New York
Acknowledgments
This work was partially funded by Commissariat à l’Energie Atomique (CEA), the French national research agency (ANR) projects ASOPT (Analyse Statique et OPTimisation) and Eva-Flo (Evaluation et Validation Automatique pour le Calcul Flottant), and by the DIGITEO project PASO, with the support of the Ile-de-France region.
Author information
Authors and Affiliations
Corresponding author
Appendix
Appendix
1.1 Proof of Lemma 2
Proof
First of all, \(\gamma _{lin}(A)\) is the image of the unit disc for the \(\ell _{\infty }\) norm by \({A}^{T}\) as we noted in Definition 1. Therefore,
We now have
If \(\Vert A u \Vert _1 = 0\), then Lemma 2 is obviously true.
Else this bound is reached for \(e_i=sign\left( \sum \limits _{j=1}^p a_{i,j} u_j\right) \), which is such that \(\Vert e \Vert _\infty =1\). \(\square \)
1.2 Proof of Lemma 3
Proof
Suppose first that \(\Vert X u \Vert _1 \le \Vert Y u \Vert _1\) for all \(u \in {{\mathbb {R}}}^p\). By first part of Lemma 1,
with \(\sup _{y \in \gamma _{lin}(X)} p_u(y) = -\inf _{y \in \gamma _{lin}(X)} p_u(y)= \Vert X u \Vert _1\) by Lemma 2. Thus
Conversely, suppose \(\gamma _{lin}(X)\subseteq \gamma _{lin}(Y)\). Then
\(\square \)
1.3 Proof of Lemma 4
Proof
Zonotope \(\gamma (X)\) (resp. \(\gamma (Y)\)) is the Minkowski sum of its center of coordinates given by \(x_0\) (resp. \(y_0\)), and of a zonotope symmetric with respect to the origin \(\gamma _{lin}(X_+)\) (resp. \(\gamma _{lin}(Y_+)\)). Hence, using Lemma 2, we have for any \(u \in {{\mathbb {R}}}^p\):
By convexity of zonotopes, we know that \(\gamma (X) \subseteq \gamma (Y)\) is equivalent to, for all \(u \in {{\mathbb {R}}}^p\), \(\sup _{x \in \gamma (X)} \langle u,x \rangle \le \sup _{y \in \gamma (Y)} \langle u,y \rangle \). Hence, this is equivalent to, for all \(u \in {{\mathbb {R}}}^p\):
Changing now u to \(-u\):
which allows us to conclude. \(\square \)
1.4 Proof of Lemma 8
Proof
Let X and Y be two perturbed affine vectorssuch that \(X \le Y\), and let \(Z=[ \! [x_{p+1}= x_i \times x_j] \! ]X\) and \(T=[ \! [x_{p+1}= x_i \times x_j ] \! ]Y\).
By definition of the multiplication of affine forms (Definition 8), we have, for all \(t \in {{\mathbb {R}}}^{p+1}\):
We notice that:
and
Therefore we have, reorganizing terms a bit:
We then use the triangular inequality, separating terms \({(1^{\prime })}+{(2^{\prime })}+{(3^{\prime })}\) from (4) and regrouping (1) \(+\) (2) \(+\) (3) with their prime counterparts, we find
We slighly reorganize the double summation in the first term:
We recognize (5) as being \(\Vert (C^Y-C^X)u(t) \Vert _1\) where
Now, because \(X \le Y\), we have \(\Vert (C^Y-C^X)u(t) \Vert _1\le \Vert P^Y u(t) \Vert _1-\Vert P^X u(t) \Vert _1\) so replacing (5) by \(\Vert P^Y u(t) \Vert _1-\Vert P^X u(t) \Vert _1\) in (H1) leads to:
hence using the triangular identity on the last term we get:
Before resolving inequality (23), we look at its right-hand side. We have:
Now, we write (7) as:
and using the triangular inequality, we get:
We are doing a similar calculation for \(\Vert P^X u(t) \Vert _1\):
hence, using the same argument as for inequality (24):
Now, because \(X \le Y\), we know that
where \(e_j\) (resp. \(e_i\)) are the vectors \((0,\ldots ,0,1,0,\ldots ,0)\) with a unique 1 in position j (resp. in position i). This translates into:
where \(\pi _j(P^Y)\) (similarly for \(\pi _j(P^X)\), \(\pi _i(P^Y)\) and \(\pi _i(P^X)\)) stands for the vector in \({{\mathbb {R}}}^m\): \((p^Y_{1,j},\ldots ,p^Y_{m,j})\). So, considering again inequality (23) we try to bound \(\Vert P^Y u \Vert _1 + \sum _{k=1}^{n} \mid c^Y_{k,i}(c_{0,j}^Y-c_{0,j}^X)t_{p+1} \mid \) first, as follows, replacing (8) by its bound given by inequality (26):
We see that \(\sum _{k=1}^m \left| p^Y_{k,i}\right| \) is \(\Vert \pi _i(P^Y) \Vert _1\) therefore, regrouping the last two terms above and using inequality (26):
We do the same calculation with \(-\Vert P^X u \Vert _1+\sum \limits _{k=1}^{n} \mid c_{k,j}^X(c_{0,i}^Y - c_{0,i}^X)t_{p+1} \mid \) and find:
Therefore, summing these two last inequalities we find, using inequality (23):
Now we replace the value of \(P^T\) (resp. \(P^Z\)) by its definition, given by the product of affine sets, see Definition 8. Hence,
and the similarly for \(\Vert P^Z t \Vert _1\). We can now bound \(\Vert (C^T-C^Z)t \Vert _1 - \Vert P^T t \Vert _1 + \Vert P^Z t \Vert _1\):
Regrouping the different terms: (9), \({(9^{\prime })}\), and \({(9^{\prime \prime })}\) as a factor of \(\Vert \pi _i(P^Y) \Vert _1\) (resp. (10), \({(10^{\prime })}\), and \({(10^{\prime \prime })}\) as a factor of \(\Vert \pi _j(P^X) \Vert _1\)), and factorizing the remaining terms, we get:
We now end up by examining each of the terms in the right-hand side of inequality (H2). We note that we have the following triangular inequalities:
So the sum of the first two terms in the right-hand side of (H2) is:
which is negative.
Now for the last two terms in the right-hand side of (H2), we note that we can use the same triangular inequalities, which imply:
We now conclude:
which means that \(Z\le T\) indeed.
Finally, we prove that \(\{ z \in {{\mathbb {R}}}^{p+1} \mid \exists (x_1,\ldots ,x_i,\ldots ,x_j,\ldots ,x_p) \in {{\mathbb {R}}}^p, z= [ \! [x_{p+1}:=x_i x_j ] \! ]_c (x_1,\ldots ,x_i,\ldots ,x_j,\ldots ,x_p) \} \subseteq \gamma ([ \! [x_{p+1}:=x_i x_j ] \! ]X)\). We compute, for all \(\epsilon _1,\ldots ,\epsilon _n \in [-1,1]^n\) and for all \(\eta _1,\ldots ,\eta _{m+1} \in [-1,1]^{m+1}\), and writing \(Y=[ \! [x_{p+1}:=x_i \times x_j] \! ]X\) :
Now, since
we conclude that for all \(\epsilon _1,\ldots ,\epsilon _n\) and \(\eta _1,\ldots ,\eta _m\), \({(\pi _1(Y),\ldots ,\pi _p(Y),\pi _i(Y) \pi _j(Y))}^{T}\) is in \(\gamma ([ \! [x_{p+1}:=x_i \times x_j ] \! ]Y)\). \(\square \)
1.5 Proof of Lemma 1
Proof
First, we note that if \(\hat{x}\) and \(\hat{y}\) are in generic positions, the formula given for \(\hat{z}\) in Theorem 2 is the same as the one we are giving in this Lemma. The only thing to check is that we can define \(p^z_{m+1}\) as
We know from Theorem 2 that the concretisation of z as defined in Theorem 2 is \(\gamma (\hat{x})\cup \gamma (\hat{y})\) so
Therefore, there is a unique positive value for \(p^z_{m+1}\) given by
which is then necessary equal to the (positive) value defined in Theorem 2 for \(p^z_{m+1}\).
Now, we prove that when \(\hat{x}\) and \(\hat{y}\) are not in generic positions, it is still an upper bound of \(\hat{x}\) and \(\hat{y}\) (which is not a minimal upper bound as defined in e.g. Theorem 3). Being non generic means that either \(\gamma (\hat{x}) \subseteq \gamma (\hat{y})\) or \(\gamma (\hat{y}) \subseteq \gamma (\hat{x})\) with \(\inf \gamma (\hat{x}) \ne \inf \gamma (\hat{y})\) and \(\sup \gamma (\hat{x}) \ne \sup \gamma (\hat{y})\) in both cases. Let us suppose in the sequel that \(\gamma (\hat{x}) \subseteq \gamma (\hat{y})\) with \(\inf \gamma (\hat{x}) \ne \inf \gamma (\hat{y})\) and \(\sup \gamma (\hat{x}) \ne \sup \gamma (\hat{y})\), the other case being symmetric. Therefore \(c^z_0=mid(\gamma (\hat{x})\cup \gamma (\hat{y}))=c^y_0\) and \(\sup \gamma (\hat{x}) \cup \gamma (\hat{y})=\sup \gamma (\hat{y})=c^y_0+\sum \limits _{i=1}^n |c^y_i|\).
We now compute:
where \(J_1=\{i \ge 1 \ | \ 0 < c^y_i < c^x_i \text{ or } c^x_i < c^y_i < 0\}\) (hence \(c^z_i=c^y_i\) for \(i\in J_1\), by definition of the argmin operator), \(J_2=\{i \ge 1 \ | \ 0 < c^x_i < c^y_i \text{ or } c^y_i < c^x_i < 0\}\) (hence \(c^z_i=c^x_i\) for \(i\in J_2\)), and \(J_3=\{i \ge 1 \ | \ c^y_i \le 0 \le c^x_i \text{ or } c^x_i \le 0 \le c^y_i\}\) (hence \(c^z_i=0\) for \(i\in J_3\)).
Note that for \(i\in J_1\), \(|c^y_i-c^x_i|\) is equal to \(|c^x_i|-|c^y_i|\) since for \(i\in J_1\) \(|c^y_i| < |c^x_i|\) and \(c^y_i\) and \(c^x_i\) have the sign. Therefore:
Suppose first that \(p^y_i=0\) and \(p^x_i=0\) for all \(i=1,\ldots ,m\), then:
by definition. But we already remarked that in our case, \(\sup \gamma (\hat{x})\cup \gamma (\hat{y})=c^y_0+\sum \limits _{i=1}^n |c^y_i|\) and \(c^z_0=c^y_0\), hence, decomposing the sum of all \(|c^y_i|\) on the partition \(\{J_1,J_2,J_3\}\) of \(\{1,\ldots ,n\}\) we get:
by definition of \(J_1\), \(J_2\) and \(J_3\). Finally, this writes as:
and gathering this with the computation we made before of \(\Vert c^z-c^x \Vert _1\) we get:
But as \(\gamma (\hat{x}) \subseteq \gamma (\hat{y})\) we have:
therefore \(| c^y_0-c^x_0 | + \sum \nolimits _{i=1}^n|c^x_i|-\sum \nolimits _{i=1}^n|c^y_i|\le 0\) hence \(\Vert c^z-c^x \Vert _1 -\Vert p^z \Vert _1+\Vert p^x \Vert _1 \le 0\). Now we end the proof with the same argument as at the end of the proof of Theorem 3, for the general case when \(p^y_i\) and \(p^x_i\) are not all zero. Finally, we also prove in a similar manner that \(\Vert c^z-c^y \Vert _1 -\Vert p^z \Vert _1+\Vert p^y \Vert _1 \le 0\), meaning that z is an upper bound of both \(\hat{x}\) and \(\hat{y}\). \(\square \)
1.6 Proof of Lemma 11
Proof
Let X, Y and Z as in the hypotheses above and \(\pi _k(X)\) (resp. \(\pi _k(Y)\), \(\pi _k(Z)\)) the affine form \({\mathbf {c}}^X_{0,k}+\sum \limits _{i=1}^n c^X_{i,k}\varepsilon _i +\sum \limits _{j=1}^m p^X_{j,k}\varepsilon _j \eta _j\) (resp. \({\mathbf {c}}^Y_{0,k}+\sum \limits _{i=1}^n c^Y_{i,k}\varepsilon _i +\sum \limits _{j=1}^m p^Y_{j,k}\varepsilon _j \eta _j\) and \({\mathbf {c}}^Z_{0,k}+\sum \limits _{i=1}^n c^Z_{i,k}\varepsilon _i +\sum \limits _{j=1}^m p^Z_{j,k}\varepsilon _j \eta _j\)). For x an affine form \({\mathbf {c}}^x_{0,k}+\sum \limits _{i=1}^n c^x_{i,k}\varepsilon _i +\sum \limits _{j=1}^m p^x_{j,k}\varepsilon _j \eta _j\), we write c(x) for the affine form \({\mathbf {c}}^x_{0,k}+\sum \limits _{i=1}^n c^x_{i,k}\varepsilon _i\), and p(x) for the affine form \(\sum \limits _{j=1}^m p^x_{j,k}\varepsilon _j \eta _j\). We compute, for all \(t \in {{\mathbb {R}}}^p\):
since all \(c^Z_{i,j}\) are equal to \(c^X_{i,j}\) except for \(j=k\).
Now, as \(\pi _k(Z)\) is defined by the same formula as in Lemma 10, we know this is a minimal upper bound for \(\pi _k(X)\) and \(\pi _k(Y)\) when they are in generic positions, and just an upper bound of \(\pi _k(X)\) and \(\pi _k(Y)\) when they are not, with concretisation, the union of the two concretisations. Therefore \(\Vert c(\pi _k(Z))-c(\pi _k(X)) \Vert _1 \le \Vert p(\pi _k(Z)) \Vert _1-\Vert p(\pi _k(X)) \Vert _1\), and
Note now that
because \(p_{i,j}^Z=p^X_{i,j}\) for all \(j=1,\ldots ,p\) except for \(j=k\). By the triangular inequality on the last term in the right-hand side of the equality, we then get:
by the triangular inequality. The last term is equal to
which, by inequality (29), is greater than \(\Vert (C^Z-C^X)t \Vert _1\). So \(Z\ge X\), and similarly, \(Z\ge Y\), hence Z is an upper bound of both X and Y.
Finally the concretisation of \(\pi _k(Z)=Z_k\) is, by Lemma 10, the join of the concretisation of \(\pi _k(X)=X_k\) with the concretisation of \(\pi _k(Y)=Y_k\). \(\square \)
1.7 Proof of Lemma 12
Proof
We construct the following two sequences of affine vectors:
Indeed, we could use notation \(\sqcup \) when joining \(X_i\) with \(Y_i\) since \(X_i\) and \(Y_i\) only differ by one component. Lemma 11 implies then that
By induction, this shows that \(X_p \ge X_{p-1}, \ X_{p-2} \ \ldots \ X_0\), hence \(X_p \ge X_0\). Consider now the similar sequence, where the roles of X and Y are interchanged:
Note that as \(\sqcup \) on affine forms is commutative, \(Y'_p=X_p\). Because of the inequalities above, we see that, by induction, \(Y'_p\ge Y'_{p-1},Y'_{p-2},\ldots ,Y'_0\), hence \(Y'_p\ge Y'_0\).
Overall, we have proved that \(X_p=Y'_p \ge X_0, Y'_0\) but \(X_p=Y'_p\) is the affine vector Z defined in the lemma, and \(X_0=X\), \(Y'_0=Y\), so Z is indeed and upper bound of X and Y. \(\square \)
1.8 Proof of Lemma 13
Proof
As with Lemmas 11 and 12, it is enough to prove that this is the case already in dimension one, i.e. for \(p=1\): the W operator is indeed computed independently on each component, since components share no common new symbol \(p_{m+j}\), \(j\ge 1\).
Consider the three affine forms:
with \(\hat{z}\) computed as in the Lemma, that is:
-
\(c^z_{0}=mid\left( \gamma (\hat{x})\cup \gamma (\hat{y})\right) \) for all \(k=1,\ldots ,p\),
-
\(c^z_{i}=c^x_{i}=c^y_{i}\) for all \(i=1,\ldots ,n\) such that \(c^x_{i}=c^y_{i}\),
-
\(c^z_{i}=0\) for all \(i=1,\ldots ,n\) such that \(c^x_{i} \ne c^y_{i}\),
-
\(p^z_{j}=p^x_{j}=p^y_{j}\) for all \(j=1,\ldots ,m\) such that \(p^x_{j}=p^y_{j}\),
-
\(p^z_{j}=0\) for all \(j=1,\ldots ,m\) such that \(p^x_{j} \ne p^y_{j}\),
-
\(p^z_{m+1}= \sup \gamma (\hat{x})\cup \gamma (\hat{y}) - c^z_{0} - \sum \limits _{i=1}^n |c^z_{i}| - \sum \limits _{i=1}^m |p^z_{i}| \) for all \(j=1,\ldots ,p\)
We compute
Therefore the difference \(u=\Vert c^z-c^x \Vert _1 - \Vert p^z \Vert _1+\Vert p^x \Vert _1\) between the two is, noticing that \(\sum \limits _{i=1}^n|c^z_i|=\sum \limits _{i=1,c^y_i=c^x_i}^n|c^x_i|\) and \(\sum \limits _{j=1}^m |p^z_j| = \sum \limits _{j=1,p^y_j=p^x_j}^m |p^x_j|\):
But \(\gamma (x)=\left[ c^x_0-\sum \limits _{i=1}^n | c^x_i|-\sum \limits _{j=1}^m | p^x_j|, c^x_0-\sum \limits _{i=1}^n | c^x_i|-\sum \limits _{j=1}^m | p^x_j|\right] \) therefore
Hence
Now we write \(\gamma (\hat{x})=[a,b]\), \(\gamma (\hat{y})=[c,d]\), then:
Therefore, we have two cases:
-
Either \(min(a,c)+max(b,d)\ge a+b\) and then
$$\begin{aligned} u= & {} \frac{1}{2}\left( min(a,c)+max(b,d)-a-b+min(a,c)-max(b,d)+b-a\right) \\= & {} min(a,c)-a \\\le & {} 0 \end{aligned}$$ -
Or \(min(a,c)+max(b,d)\le a+b\) and then
$$\begin{aligned} u= & {} \frac{1}{2}\left( -min(a,c)-max(b,d)+a+b+min(a,c)-max(b,d)+b-a\right) \\= & {} b-max(b,d) \\\le & {} 0 \end{aligned}$$
This shows that \(\Vert c^z-c^x \Vert _1\le \Vert p^z \Vert _1-\Vert p^x \Vert _1\) hence \(x \le z\) ; and similarly for proving \(y \le z\). \(\square \)
1.9 Proof of Lemma 18
Proof
Using the join operator defined in Lemma 13, and an iteration scheme where at each iteration, the current iterate is joined with the initial value \(X_0\), and thus all perturbation noise symbols are lost at each iterate. In this case, we can decide the convergence of the iteration on the affine vectors from the convergence of each affine form, as stated in Lemma 19, which concludes the proof. \(\square \)
Lemma 19
Let \((t_k)_{k=1,\ldots ,p}\) be an orthonormal (in the sense of the standard scalar product in \({{\mathbb {R}}}^p\)) basis of \({{\mathbb {R}}}^p\). Let now \(X=(C^X,P^X)\) and \(Y=(C^Y,P^Y)\) be two perturbed zonotopes, such that \(P^X\) and \(P^Y\) are Minkowski sums of segments \(\lambda ^X_k t_k\) and \(\lambda ^Y_k t_k\) respectively, where \(\lambda ^X_k\) and \(\lambda ^Y_k\) are any real numbers. Then \(X \le Y\) if and only if for all \(k=1,\ldots ,p\),
A particular case is given by \(t_1=(1,0,\ldots ,0)\), \(\ldots \), \(t_k=(0,\ldots , 1, \ldots ,0)\), \(\ldots \), \(t_p=(0,\ldots ,0,1)\), the canonical basis of \({{\mathbb {R}}}^p\): when \(P^X\) and \(P^Y\) are boxes, \(X \le Y\) is equivalent to the fact that all components of X and Y are less or equal, using the one-dimensional order, i.e. \(\pi _k(X) \le \pi _k(Y)\) for all \(k=1,\ldots , p\).
Proof
We can write \(P^Y={\left( \lambda ^Y_1 {t_1}^{T}, \ldots , \lambda ^Y_p {t_p}^{T} \right) }^{T}\) and \(P^X={\left( \lambda ^X_1 {t_1}^{T}, \ldots , \lambda ^X_p {t_p}^{T} \right) }^{T}\). We know that the \((t_k)_{k=1,\ldots ,p}\) span \({{\mathbb {R}}}^p\), so for all t, there exists \((\mu _k)_{k=1,\ldots ,p}\) such that \(t=\sum \nolimits _{k=1}^p \mu _k t_k\).
We can write \(C^Y-C^X={\left( {r_1}^{T}, \ldots , {r_n}^{T} \right) }^{T}\), where the \(r_i\) are vectors in \({{\mathbb {R}}}^p\). Then,
Suppose that, for all \(k=1,\ldots ,p\):
This means that
So, for all \(t \in {{\mathbb {R}}}^p,\)
The other implication is immediate. \(\square \)
1.10 Proof of Theorem 4
Proof
The abstract functional that interprets the kth iterate of the body of the loop at point [2] is:
We now write the Kleene iteration for the previous functionals, giving iterate \(X^{k+1}\) in terms of iterate \(X_k\). It is obtained by collecting the values of each variables \(x_{1},\ldots ,x_{n+1}\) at iterate k, applying the abstract functional for the body of the loop, at iterate k, \(F_k\), and joining it with the initial value (i.e. at iterate 0) of these variables, i.e. \(x^0_{1},\ldots ,x^0_{n+1}\):
That is, applying the upper bound operator independently on each variables:
Let us concentrate on the second equation, the other can be treated similarly. Note that, as \(e_{u}\) is encoded using a noise symbol, distinct for distinct indexes u, which does not appear in terms \(\sum \nolimits ^{n}_{i=1} a_i x^k_i\) nor \(x^0_{n+1}\), then these iterates, if they converge, will converge to a solution to the fixed point equation:
where \(e_j\) are \(n+1\) distinct, independent inputs within m and M and
This is a direct consequence of the continuity of \(F_k\) and of the fact that \(\nabla \) forgets all dependencies to new symbols.
Suppose first that \(\sum \nolimits _{i=1}^{n} | a_i | < 1\). Consider now the interval fixed point equation resulting from (30). As \(\gamma \) commutes with \(\nabla \), by definition, and because the interval concretisation of a sum of affine forms is trivially included in the sum of their interval concretisations, it transforms into
This equation shows that \(\gamma (z)\) is a pre-fixed point of the interval abstraction of our semantic function. It is well known that in the case \(\sum \nolimits _{i=1}^{n} | a_i | < 1\), this interval abstraction admits a bounded least fixed point \(z^I\). As a matter of fact, in this case, the interval abstraction of the semantic functional gives k-Lipschitz functions on their bounds, with \(k < 1\), hence admits finite fixed points.
Hence, z in this case is bounded by \(z^I\) (for order \(\le \), when \(z^I\) is written as \(mid(z^I)+dev(z^I) \varepsilon _U\), with \(dev([a,b])=\frac{b-a}{2}\)), hence has finite concretisation. In fact, not only z but all the ascending sequence of the \((0,1,\nabla )\)-iteration scheme from \(\bot \) is bounded by \(z^I\). Note that any ascending sequence for any \((p,q,\nabla )\)-iteration scheme is also ascending for the partial order defined on perturbed affine vectors. We can apply Proposition 16, since Eq. (30) does not produce new noise symbols, hence we are considering perturbed affine vectors in fixed dimension. So this ascending sequence has a minimal upper bound, which is a fixed point of Eq. (30), because of the continuity (in the \(\ell _1\) sense) of F. Hence again, this fixed point is bounded by \(z^I\) so has finite concretisation.
Secondly, if the roots of \(x^n-\sum \limits _{i=0}^{n-1} a_{i+1} x^i\) have modulus strictly less than 1, then there exists q such that \(F^q\) is a filter of order nq in the inputs e, and n in the outputs with coefficients \(c_j\), \(j=1,\ldots ,n\) such that \(\sum \limits _{i=1}^{n} |c_j|\) is strictly less than 1. the semantics on affine forms is exact on affine computations, so we are back to the former case by considering \(F^q\) and a \((0,q,\nabla )\)-iteration scheme. We can then apply the result above to reach the conclusion. \(\square \)
Rights and permissions
About this article
Cite this article
Goubault, E., Putot, S. A zonotopic framework for functional abstractions. Form Methods Syst Des 47, 302–360 (2015). https://doi.org/10.1007/s10703-015-0238-z
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-015-0238-z