The Monniaux Problem in abstract interpretation asks, roughly speaking, whether the following question is decidable: given a program P , a safety (e.g., non-reachability) specification ϕ, and an abstract domain of invariants D, does there exist an inductive invariant I in D guaranteeing that program P meets its specification ϕ. The Monniaux Problem is of course parameterised by the classes of programs and invariant domains that one considers. In this paper, we show that the Monniaux Problem is undecidable for unguarded affine programs and semilinear invariants (unions of polyhedra). Moreover, we show that decidability is recovered in the important special case of simple linear loops. Nathanaël Fijalkow, Pierre Ohlmann, and Amaury Pouly were supported by the Agence Nationale de la Recherche through the project Codys (ANR-18-CE40-0007). Joël Ouaknine was supported by ERC grant AVS-ISS (648701) and by DFG grant 389792660 as part of TRR 248 (see https://perspicuous-computing.science). James Worrell was supported by EPSRC Fellowship EP/N008197/1.
arXiv:1907.08257v1 [cs.LO] 18 Jul 20191. x ∈ I; 2. AI ⊆ I; and 3. y / ∈ I.Remark 4. The proof shows that, in fixed dimension d, the decision procedure runs in polynomial time. It is worth noting that one also has decidability if A, x, and y are taken to have real-algebraic (rather than rational) entries.Let us conclude this section by briefly commenting on the important issue of convexity. At its inception, abstract interpretation had a marked preference for domains of convex invariants, of which the interval domain, the octagon domain, and of course the domain of convex polyhedra are prime examples. Convexity confers several distinct advantages, including simplicity of representation, algorithmic tractability and scalability, ease of implementation, and better termination heuristics (such as the use of widening). The central drawback of ∈ I 0 since I is an invariant for . Finally, I is stable for A since A k x ∈ I 0 , AI k = I k +1 if k < n − 1 and AI n−1 = A n I 0 ⊆ I 0 since λ n = 1 and A n J c I ⊆ I . Conversely, let I be an invariant for . We let I be the projection on J c of A k I ∩ {z | z J = λ k x J }, and claim it is an invariant for . Indeed, quite clearly A k J c x J c ∈ I and I is stable for A n J c . Now, if y J c ∈ I then it must be that y ∈ I, a contradiction.-Let J be a Jordan block of A with eigenvalue λ < 1 and such that y J = 0.If there are infinitely many integers n such that A n J c x J c = y J c , then y ∈ {A n x, n ∈ N}, so there exists no closed invariant for . Otherwise, we let n 0 ∈ N be such that y J c / ∈ {A n J c x J c , n ≥ n 0 }, and claim that is equivalent to. Let I be a semilinear invariant for . Then I = {x, Ax, . . . , A n0−1 x} ∪ {z | z J c ∈ I } is an invariant for . Conversely, let I be an invariant for . Let δ = 1 2 d(y, I) > 0, where the distance is defined according to the infinity norm on C d . Using Lemma 22 from section D, we construct a semilinear P ⊆ C J which is stable for A J , contains (A n x) J for some n, and is included in ...