Department of Computer Science, Technion, Israel and https://shaull.cswp.cs.technion.ac.il/ [email protected]://orcid.org/0000-0001-9021-1175supported by the Israel Science Foundation grant 989/22 Reichman University, Herzliya, [email protected] Reichman University, Herzliya, Israel and https://faculty.runi.ac.il/udiboker/[email protected]://orcid.org/0000-0003-4322-8892supported by the Israel Science Foundation grant 2410/22 \CopyrightShaull Almagor, Daniel Assa, and Udi Boker \ccsdesc[300]Theory of computation Formal languages and automata theory \EventEditorsPatricia Bouyer and Srikanth Srinivasan \EventNoEds2 \EventLongTitle43rd IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2023) \EventShortTitleFSTTCS 2023 \EventAcronymFSTTCS \EventYear2023 \EventDateDecember 18–20, 2023 \EventLocationIIIT Hyderabad, Telangana, India \EventLogo \SeriesVolume284 \ArticleNo15
Synchronized CTL over One-Counter Automata
Abstract
We consider the model-checking problem of Synchronized Computation-Tree Logic (CTL+Sync) over One-Counter Automata (OCAs). CTL+Sync augments CTL with temporal operators that require several paths to satisfy properties in a synchronous manner, e.g., the property “all paths should eventually see at the same time”. The model-checking problem for CTL+Sync over finite-state Kripke structures was shown to be in . OCAs are labelled transition systems equipped with a non-negative counter that can be zero-tested. Thus, they induce infinite-state systems whose computation trees are not regular. The model-checking problem for CTL over OCAs was shown to be -complete.
We show that the model-checking problem for CTL+Sync over OCAs is decidable. However, the upper bound we give is non-elementary. We therefore proceed to study the problem for a central fragment of CTL+Sync, extending CTL with operators that require all paths to satisfy properties in a synchronous manner, and show that it is in (and in particular in ), by exhibiting a certain “segmented periodicity” in the computation trees of OCAs.
keywords:
CTL, Synchronization, One Counter Automata, Model Checkingcategory:
\relatedversion1 Introduction
Branching-time model checking is a central avenue in formal verification, as it enables reasoning about multiple computations of the system with both an existential and universal quantification. As systems become richer, the classical paradigm of e.g., CTL model checking over finite-state systems becomes insufficient. To this end, researchers have proposed extensions both of the logics [2, 6, 5, 3, 4, 1] and of the systems [7, 22, 9, 13].
In the systems’ frontier, of particular interest are infinite-state models. Typically, such models can quickly lead to undecidability (e.g., two-counter machines [18]). However, some models can retain decidability while still having rich modelling power. One such model that has received a lot of attention in recent years is One Counter Automata (OCAs) [21, 15] – finite state machines equipped with a non-negative counter that can be zero-tested. Model checking CTL over OCAs was studied in [13], where it was shown to be decidable in . The main tool used there is the fact that despite the infinite configuration space, the computations of an OCA do admit some periodic behavior, which can be exploited to exhibit a small-model property for the satisfaction of Until formulas.
In the logics’ frontier, a useful extension of CTL is that of CTL with Synchronization operators (CTL+Sync), introduced in [4]. CTL+Sync extends CTL with operators that express synchronization properties of computation trees. Specifically, two new operators are introduced: Until All and Until Exists. The former, denoted by , holds in state if there is a uniform bound such that holds in all paths from after exactly steps, and holds in all paths up to step . Thus, intuitively, it requires all the computations to synchronize the satisfaction of the Until operator. The latter, somewhat less natural operator, denoted by , requires that there exists a uniform bound such that in every level of the computation tree, some path satisfies and can be continued to satisfy at level .
In comparison, the standard CTL operators and require that all paths/some path satisfy the Until formula, but there is no requirement that the bounds coincide. We illustrate the differences between the semantics in Figure 1. As discussed in [4], CTL+Sync can describe non -regular properties of trees, and hence goes beyond MSO, while retaining a decidable model-checking problem over finite Kripke structures.


The formula is satisfied in (1(a)) (along the left branch), but not in (1(b)), which only satisfies the weaker . The boxed nodes on each level show that holds along a path to at level .
In this work, we show the decidability of CTL+Sync model checking over OCAs: Given an OCA and a CTL+Sync formula , the problem of whether satisfies . We thus combine the expressiveness of CTL+Sync with the rich modeling power of OCAs.
On the technical side, the approach taken in [4] to solve model-checking of CTL+Sync over Kripke structures does not seem to be very useful in our case. The solution there is based on the observation that every two levels of the computation tree that share the same set of Kripke-states must also share the same satisfaction value to every CTL+Sync formula. Hence, in that case, the algorithm can follow the computation tree of the powerset of the given Kripke structure, and terminate when encountering a level that has the same set of states as some previous level. In contrast, for OCAs, the unbounded counter prevents the ability to consider subsets of configurations.
On the other hand, the approach taken in [13] to solve model-checking of OCAs with respect to CTL is indeed useful in our case. Specifically, the algorithm in [13] is based on an analysis of the periodic behavior of the set of counter values that satisfy a given CTL formula in a given state of the OCA. We extend this approach, taking into account the additional complexity that stems from the synchronization requirements; see Section 5.
We start with establishing the decidability of CTL+Sync model checking using Presburger Arithmetic (see Section 4). This, however, yields a procedure with non-elementary runtime.
We then proceed to our main technical contribution (Section 5), providing an algorithm for model checking the central fragment of CTL+Sync that extends CTL with the operator, which requires all paths to satisfy properties in a synchronous manner. Its running time is in (and in particular in ), and for a fixed OCA and formulas of a fixed nesting depth, it is in (and in particular in ).
Since CTL+Sync makes assertions on the behavior of different paths at the same time step (namely the same level of the computation tree), we need to reason about which configurations occur at each level of the tree. More precisely, in order to establish decidability we wish to exhibit a small-model property of the form if the computation tree from some configuration , for a state and counter value , satisfies the formula , then the computation tree from some configuration for a small satisfies as well. Unfortunately, the computation trees of an OCA from two configurations and cannot be easily obtained from one another using simple pumping arguments, due to the zero tests. This is in contrast to the case where one does not care about the length of a path, as in [13]. To overcome this, we show that computation trees of an OCA can be split into several segments, polynomially many in the size of , and that within each segment we can find a bounded prefix that is common to all trees after a certain counter threshold, and such that the remainder of the segment is periodic. Using this, we establish the small model property above. The toolbox used for proving this, apart from careful cycle analysis, includes 2TVASS – a variant of 2VASS studied in [17] that allows for one counter of the 2VASS to be zero-tested.
We believe that this structural result (Lemma 5.9) is of independent interest for reasoning about multiple traces in an OCA computation tree, when the length of paths plays a role.
2 Preliminaries
Let be the natural numbers. For a finite set we denote by the least common multiple of the elements in .
For a finite sequence and integers , such that , we write for the infix of between positions and , namely for . We also use the parentheses ‘(’ and ‘)’ for a non-inclusive range, e.g., , and abbreviate by . We denote the length of by .
One Counter Automata
A One Counter Automaton (OCA) is a triple , where is a finite set of states, is a transition relation, and , for some finite set of atomic propositions, is the state labeling.
A pair is a configuration of . We write for a transition if one of the following holds:
-
•
, with , and , or
-
•
, with , and .
We write if for some .
We require that is total, in the sense that for every configuration we have for some configuration . Note that this is a syntactic requirement — every state should have outgoing transitions on both =0 and >0. This corresponds to the standard requirement of Kripke structures that there are no deadlocks. We denote by the number of states of . Note that the description size of is therefore polynomial in .
A path of is a sequence of transitions such that there exist states where with for all . We say that is valid from starting counter (or from configuration ), if there are counters such that for all we have . We abuse notation and refer to the sequence of configurations also as a path, starting in and ending in . The length of the path is , and we define its .
We also allow infinite paths, in which case there are no end configurations and the length is . In this case we explicitly mention that the path is infinite. We say that is balanced/positive/negative if is zero/positive/negative, respectively. It is a cycle if , and it has a cycle , if is a cycle and is a contiguous infix of .
CTL+Sync
A CTL+Sync formula is given by the following syntax, where stands for an atomic proposition from a finite set of atomic propositions.
We proceed to the semantics. Consider an OCA , a configuration , and a CTL+Sync formula . Then satisfies , denoted by , as defined below.
-
Boolean Opeartors:
-
–
; • if .
-
–
if . • if and .
-
–
-
CTL temporal operators:
-
–
if for some configuration such that .
-
–
if there exists a valid path from and , such that and for every , we have .
-
–
if for every valid path from there exists , such that and for every , we have .
-
–
-
Synchronization operators:
-
–
if there exists , such that for every valid path from of length and for every we have and .
-
–
if there exists , such that for every there exists a valid path from of length such that and .
-
–
Remark 2.1 (Additional operators).
Standard additional Boolean and CTL operators, e.g., , etc. can be expressed by means of the given syntax. Similar shorthands can be defined for the synchronization operators, e.g., and , etc. We remark that one can also consider operators such as with the semantics “in the next step there exists a path satisfying ”. However, the semantics of this coincides with the CTL operator .
Presburger Arithmetic
Presburger Arithmetic (PA) [20] is the first-order theory of with addition and order. We briefly survey the results we need about PA, and refer the reader to [14] for a detailed survey.
For our purposes, a PA formula , where are free variables, is evaluated over , and defines the set . It is known that PA is decidable in 2-\NEXP [8, 11].
A linear set is a set of the form where is a finite basis and are the periods. A semilinear set is then a finite union of linear sets. A fundamental result about PA [12] is that the sets definable in PA are exactly the semilinear sets, and moreover, one can effectively obtain from a PA formula a description of the semilinear set satisfying a formula , and vice versa.
In dimension , semilinear sets are finite unions of arithmetic progressions. By taking the of the (nonzero) periods of the progressions and modifying the basis accordingly, we can assume a uniform nonzero period, and an additional finite set (corresponding to the zero period). That is, a semilinear set is for effectively computable finite sets and .
3 Periodicity and Flatness over OCAs
Recall that the configuration space of an OCA is . The underlying approach we take to solve CTL+Sync model checking is to show that satisfaction of CTL+Sync formulas over these configurations exhibits some periodicity. Moreover, the run tree of the OCA can be captured, to an extent, using a small number of cycles (a property called flatness). These properties will be relied upon in proving our main results.
3.1 Periodicity
In this subsection we formalize our notions of ultimate periodicity, show how they suffice for model-checking, and cite important results about periodicity in CTL.
Consider a CTL+Sync formula . We say that is -periodic with respect to an OCA (or just periodic, if we do not care about the constants) if for every state and counters , if then . We think of as its threshold and of as its period. We say that is totally -periodic with respect to if every subformula of (including itself) is -periodic with respect to . We usually omit , as it is clear from context.
Total-periodicity is tantamount to periodicity for each subformula, in the following sense.
Proposition 3.1.
A CTL+Sync formula is totally -periodic if and only if every subformula of is -periodic for some constants .
For a totally periodic formula, model checking over OCA can be reduced to model checking over finite Kripke structures, as follows. Intuitively, we simply “unfold” the OCA and identify states with high counter values according to their modulo of .
Proposition 3.2.
Consider an OCA and a totally -periodic CTL+Sync formula , then we can effectively construct a Kripke structure of size such that if and only if .
In [13, Theorem 1] it is proved that every CTL formula over OCA is periodic. Our goal is to give a similar result for CTL+Sync, which in particular contains CTL. In order to avoid replicating the proof in [13] for CTL, we observe that the proof therein is by structural induction over , and that moreover – the inductive assumption requires only periodicity of the subformulas of . We can thus restate [13, Theorem 1] with the explicit inductive assumption, so that we can directly plug our results about CTL+Sync into it.
Denote by the number of states of , and let .
Theorem 3.3 (Theorem 1 in [13], restated).
Consider a CTL+Sync formula whose outermost operator is a CTL operator, and whose subformulas are periodic, then is periodic, and we have the following.
-
•
If , , or for , then is -periodic.
-
•
If then and .
-
•
If then and .
-
•
If then and
-
•
If or then111Note that in [13] the case of is not stated, but rather the dual Release operator , which follows the same proof. and .
3.2 Linear Path Schemes
The runs of an OCA can take intricate shapes. Fortunately, however, we can use the results of [17] about flatness of a variant of 2-VASS with some zero tests, referred to as 2-TVASS, to obtain a simple form that characterizes reachability, namely linear path schemes.
A linear path scheme (LPS) is an expression of the form where each is a path in and each is a cycle in . The flat length of is , the size of is .
A concrete path in is -shaped if there exist such that .
Our first step is to use a result of [17] on 2-TVASS to show that paths of a fixed length in admit a short LPS. The idea is to transform the OCA to a 2-TVASS by introducing a length-counting component. That is, in every transition of as a 2-TVASS, the second component increments by 1.
Lemma 3.4.
Let and be configurations of . If there exists a path of length from to , then there is also a -shaped path of length from to , where is some linear path scheme of flat length and size .
By Lemma 3.4, we can focus our attention to -shaped paths where is “short”. Henceforth, we call a path basic if it is -shaped for some LPS as per Lemma 3.4.
Using standard acceleration techniques (see e.g., [16, 10, 17]), we also get from Lemma 3.4 that the reachability relation of an OCA (including path length) is effectively semilinear. More precisely, we have the following.
Corollary 3.5.
We can effectively compute, for every , a PA formula such that if and only if a path of length ending222It is more natural to assume and simply consider paths starting at . However, our formulation makes things easier later on. at can be continued to a path of length ending at .
4 Model Checking CTL+Sync via Presburger Arithmetic
In this section we show that model checking CTL+Sync over OCAs is decidable, by reducing it to the satisfiability problem of a PA formula.
We start with a simple observation.
Lemma 4.1.
Consider a totally -periodic CTL+Sync formula , then for every state we can compute a PA formula such if and only if .
Next, we show that from a PA formula as above we can obtain a threshold and a period.
Lemma 4.2.
Consider a CTL+Sync formula and PA formulas , for every state , such that iff . Then is -periodic for computable constants and .
Combining Theorems 3.3 and 4.1 we obtain that every CTL formula (without Sync) can be translated to PA formulas. We now turn to include the Sync operators.
Consider a CTL+Sync formula . We construct, by induction on the structure of , PA formulas , for every state , such that holds if and only if . For the Sync operators, this utilizes the PA formulas of Corollary 3.5.
-
•
If for an atomic proposition , then if is labeled with and False otherwise.
-
•
If , then .
-
•
If , then .
-
•
If , or then by the induction hypothesis, , and have corresponding PA formulas, and by Lemma 4.2 we can compute and (and similarly for and ) such that is -periodic. Then, by Theorem 3.3 we can compute such that is -periodic. Thus, we can apply Lemma 4.1 to obtain PA formulas for .
-
•
If , then
-
•
If , then
The semantics of the obtained PA formulas match the semantics of the respective Sync operators. By Lemma 4.2 we now have that for every CTL+Sync formula we can compute such that is -periodic. By Proposition 3.1 we can further assume that is totally -periodic. Finally, by Proposition 3.2 we can decide whether .
Remark 4.3 (Complexity).
Observe that the complexity of our decision procedure via PA formulas is non-elementary. Indeed, when using a CTL subformula, we translate it, using Lemma 4.1, to a PA formula that may be exponential in the size of the formula and of the OCA. Thus, we might incur an exponential blowup in every step of the recursive construction, leading to a tower of exponents.
5 Model Checking the CTL+UA Fragment
In this section we consider the fragment of CTL+Sync induced by augmenting CTL with only the Sync operator . For this fragment, we are able to obtain a much better upper bound for model checking, via careful analysis of the run tree of an OCA.
Throughout this section, we fix an OCA with states, and a CTL+UA formula . Consider a configuration of and a CTL+UA formula with being the outermost operator. The satisfaction of from is determined by the computation tree of from . Specifically, we have that if there exists some bound such that holds in all configurations of level of the computation tree, and holds in all configurations of levels for .
Therefore, in order to reason about the satisfaction of , it is enough to know which configurations appear in each level of the computation tree. This is in contrast with UE, where we would also need to consider the paths themselves. Fortunately, it means we can use the LPS of Lemma 3.4 to simplify the proofs.
Theorem 5.1.
Given an OCA with and a CTL+UA formula , we can compute a counter threshold cT and a counter period P, both single exponential in and in the nesting depth of , such that is -periodic with respect to .
Before we delve into the proof of Theorem 5.1, we show how it implies our main result.
Theorem 5.2.
The model-checking problem for CTL+UA is decidable in .
Proof 5.3.
Consider a CTL+UA formula and an OCA . By Theorem 5.1 we can compute single exponential in and , such that is -periodic. We then apply Proposition 3.2 to reduce the problem to model checking against a Kripke structure of size .
Finally, the proof of [4, Theorem 1] shows that model checking the CTL+UA fragment can be done in in the size of the Kripke structure and the formula, yielding an bound in our setting.
Remark 5.4 (Lower Bounds).
The \PSPACE-hardness of model checking CTL over OCA from [13] immediately implies \PSPACE-hardness in our setting as well. However, tightening the gap between the lower and upper bounds remains an open problem.
The remainder of the paper is devoted to proving Theorem 5.1.
Cycle Manipulation and Slope Manipulation.
A fundamental part of our proof involves delicately pumping and removing cycles to achieve specific counter values and/or lengths of paths. We do this with the following technical tools.
For a path , we define the slope of as . Recall that a basic path is of the form adhering to some LPS, where and each and is of length . We denote by the maximum flat length of any LPS for a basic path. In particular, bounds the flat length of the LPS, the size of it, and the length of any cycle or path in it.
We call a cycle basic if it is of length at most . A slope of a path is basic if it may be the slope of a basic cycle, namely if it equals , where and . We denote the basic slopes by , starting with for the smallest. For example for , the basic slopes are . Observe that for every , we have , and for every , we have and when they are both negative, also .
Proposition 5.5.
Consider a basic path and basic cycles in with effects , respectively, and lengths , respectively, such that . Then there are numbers , such that the combination of repetitions of and repetitions of yield an effect and length whose ratio is .
Proposition 5.6.
Consider a path with cycles with effects and lengths , respectively, such that , and a length that is divisible by . Then there are numbers , such that the addition or removal of repetitions of and the addition or removal of repetitions of yield a path of the same effect as and of a length shorter or longer, as desired, by (provided enough cycle repetitions exist).
In order to prove Theorem 5.1, we show that every computation tree of , starting from a big enough counter value , has a ‘segmented periodic’ structure with respect to . That is, we can divide its levels into many segments, such that only the first ) levels in each segment are in the ‘core’, while every other level is a sort-of repetition of the level , for a period . We further show that there is a similarity between the cores of computation trees starting with counter values and . We depict the segmentation in Figure 2, and formalize it as follows.
Consider a formula , where and are - and -periodic, respectively. We define several constants to use throughout the proof.
-
Constants depending only on the number of states in the OCA
-
•
: the bound on the length of a linear path scheme on .
-
•
.
-
Constants depending on and the CTL+UA formula
-
•
– the unified period of the subformulas.
-
•
– the unified counter threshold of the subformulas.
-
•
– the ‘period’ of .
-
•
– the ‘segment threshold’ of .
-
•
– the ‘counter threshold’ of .
Eventually, these periodicity constants are plugged into the inductive cases of Theorem 3.3, as shown in the proof of Theorem 5.1. Then, all the constants are single-exponential in and the nesting depth of . Notice that the following relationship holds between the constants.
Proposition 5.7.
for .
When clear from the context, we omit the parameter from .
We provide below an intuitive explanation for the choice of constants above.

Intuition for the period P.
The period has two different roles: level-periodicity within each segment of a computation tree, and counter-value periodicity between two computation trees starting with different counter values.
Level periodicity within a segment: For lengthening or shortening a basic path by P, we add and/or remove some copies of its cycles. Adding or removing copies of the same cycle guarantees that the end counter values of the original and new paths are equivalent modulo . Since the cycles in a basic path are of length in , setting P to be divisible by , allows to add or remove copies of a cycle , where is divisible by , as desired. Yet, we might need to add copies of one cycle and remove copies of another, thus, as per Proposition 5.6, we need P to be divisible by .
Counter periodicity between computation trees: We change a path that starts with a counter value to a path that starts with a counter value , or vice versa, by lengthening or shortening it by , respectively, where s is a positive basic slope. In some cases, we need to also make sure that the longer or shorter path has a drop bigger or smaller, respectively, than by exactly P.
As is bounded by , if there are at least repetitions of a cycle in whose slope is , we can just add or remove copies of , so we need P to be divisible by , for guaranteeing that the counter values at the end of the original and new paths are equivalent. Yet, in some cases we need to combine two cycles, as per Proposition 5.5. As the combination of the two cycles might be of length up to , we need P to be divisible by .
Intuition for the counter threshold cT and the segment threshold sT.
In order to apply Propositions 5.5 and 5.6, we need to have in the handled path many repetitions of two cycles of different slopes. We thus choose cT and sT to be large enough so that paths in which only one (negative) cycle slope is repeated many times must hit zero within a special region called the ‘core’ of the tree, as defined below.
The core of a computation tree.
For every counter value , the ‘core’ with respect to a fixed formula , denoted by , of a computation tree of that starts with a counter value consists of segments, with each segment corresponding to a negative basic slope and having sT consequent numbers. For every , the start of Segment depends on the initial counter value of the computation tree, it is denoted by , and it is defined as follows:
-
•
,
-
•
For , we set .
-
•
For convenience, we also define .
Then, we define .
Observe that the core of every tree is an ordered list of numbers (levels), while just the starting level of every segment depends on the initial counter value . We can thus define a bijection that maps the -th number in to the -th number in (see also Figure 2).
Recall that we define sT so that, intuitively, if a path is long enough to reach without reaching counter value , then the path must have many cycles with a slope larger than , and if the path manages to reach before (namely the end of Segment ), then it must have many cycles with a slope at least as small as . This is formalized as follows.
Lemma 5.8.
Let be a basic path, or a prefix of it, of length starting from counter value , and let .
-
1.
If and the counter values of stay above , then has a cycle with slope for that repeats at least times.
-
2.
If and the counter values of reach , then has a cycle with slope for that repeats at least times.
As a sanity check, the lemma states that if a path reaches for the first time at length , then it has many cycles with slope (enough to decrease down to before ), as well as many cycle with slope at least (enough to keep above through ). Observe also that a path cannot reach at Segment , namely before .
The segment and shift periodicity.
Consider a threshold and period . We say that counter values are -equivalent, denoted by if either and divides , or and . That is, either both are greater than , in which case they are equivalent modulo , or they are both smaller than and are equal.
The segment periodicity within a computation tree is then stated as Claim 1 in Lemma 5.9 below, while the similarity between computation trees starting from counters and as Claim 2. (By we mean that the computation tree starting with state and counter value has a path of length ending in state and counter value .)
Lemma 5.9.
Consider states and , a counter value , an arbitrary counter value , and an arbitrary path length .
-
1.
If then:
-
(a)
, and
-
(b)
,
for some counter values and , such that .
-
(a)
-
2.
If then:
-
(a)
, and
-
(b)
for some counter values and , such that .
-
(a)
Throughout the proof, we will abbreviate by . We split the proof into four parts, each devoted to one of the four stated implications. In each of them, we assume the existence of a path that witnesses the left side of the implication, say , and show that there exists a path that witnesses the right side of the implication, say , where . By Lemma 3.4, we assume that is a basic path. We present some of the cases; the remaining parts are in the appendix.
Proof of Lemma 5.9.1a
Let be a basic path of length such that via . We construct from a path for , such that . The proof is divided to two cases.
Case 1a.1: The counter values in stay above
If there is no position in with counter value , then in particular has no zero-transitions. Since , then in particular . Thus, there are at least cycle repetitions in .
If there is a non-positive cycle that is repeated at least P times, we can obtain by removing copies of , as the counter values along are at least as high as the corresponding ones in . Observe that is of length from to with . Since we have , then .
Otherwise, each non-positive cycle in is taken at most P times. Thus, the positive cycles are repeated at least times. In particular, there exists a positive cycle that repeats at least times. By removing occurrences of it, we obtain a path of length . Notice first that this path is valid. Indeed, up until the cycle is taken, the path coincides with , so the counter remains above . Since is a positive cycle, after completing its iterations, the counter value becomes at least . Then, even if all remaining transitions in the negative cycles have effect , the counter value is reduced by at most (as there are at most remaining cycles, each of effect at least , and the simple paths in can reduce by another at most). Thus, the value of the counter remains at least . Finally, let be the configuration reached at the end of , then , so .
Case 1a.2: reaches counter value .
Let be the first and ultimate positions in where the counter value is exactly . We split into three parts: (it could be that , in which case the middle part is empty). Since is of length , then at least one of the parts above is of length at least (recall ). We split according to which part that is. For simplicity, we start with the cases that or are long, and only then handle the case of a long .
-
1.
The middle part is of length at least .
As is of length at least , some cycle in it must repeat at least times.
If is balanced, we can obtain by removing of its repetitions.
If is positive, starting at position with counter value , then the counter value at position where ’s repetitions end is at least . As eventually gets down to , there must be a negative cycle that repeats at least times between position and the first position after that has the counter value . Hence, we can obtain by removing repetitions of and , as per Proposition 5.6, ensuring that the only affected values are above .
If is negative, starting at position with counter value , then . As starts with counter value , and (Proposition 5.7), there must be a positive cycle that repeats at least times between the last position with counter value and . Hence, we can obtain by removing repetitions of and , as per Proposition 5.6, ensuring that the only affected values are above .
-
2.
The last part is of length at least .
As in the previous case, a cycle must repeat in at least times. If is balanced, we can remove of its repetitions, getting the desired path .
Otherwise, it must be that stays above , and reaches a value at least . Indeed, if is positive then its repetitions end at some position with a counter value at least that high, and if it is negative it starts at some position with a counter value at least that high.
If the counter value also drops to after position , then we can remove positive and negative cycles exactly as in the previous case. Otherwise, we can just remove repetitions of , guaranteed that the counter value at the end of is above .
-
3.
Only the first part is of length at least .
If any of the other parts is long, we shorten them. Otherwise, their combined length is less than , implying that the first part is longer than .
Hence, by Lemma 5.8, there are ‘fast’ and ‘slow’ cycles and , respectively, of slopes , such that each of them repeats at least times in .
Thus, by Proposition 5.6, we can add and/or remove some repetitions of and , such that is shorten by exactly P. Yet, we should ensure that the resulting path is valid, in the sense that its corresponding first part cannot get the counter value to . We show it by cases:
-
•
If or are balanced cycles, then we can remove the balanced cycle only, without changing the remaining counter values.
-
•
If there is a positive cycle that repeats at least times, then the counter value climbs by at least from its value at position where starts and the position where its repetitions end. As the counter gets down to at the end of , and (Proposition 5.7), there must be a negative cycle that repeats at least times between position and the first position after that has the counter value . Hence, we can remove repetitions of and , as per Proposition 5.6, ensuring that the only affected values are above .
-
•
Otherwise, both and are negative, implying that we add some repetitions of and remove some repetitions of . We further split into two subcases:
-
–
If appears before then there is no problem, as the only change of values will be their increase, and all the values were nonzero to begin with (as we are before ).
-
–
If appears first, ending at some position , while starts at some later position , then a-priori it might be that repeating up to more times, as per Proposition 5.6, will take the counter value to .
However, observe that since there are at most positive cycles, and each of them can repeat at most times, the counter value at position , and along the way until position , is at least , where is the counter value at position . As repeats at least times, we have . Thus . Hence, repeating up to more times at position cannot take the counter value to , until position , as required.
-
–
-
•
Proof of Lemma 5.9.2a
The case of Segment .
For a path of length , we have in Segment that , and indeed a path from is valid from and vise versa, as they do not hit : Their maximal drop is sT, while .
We turn to the th segment, for . Consider a basic path for . Recall that . We construct from a path for , such that , along the following cases.
Case 2a.1: The counter values in stay above
As there is no position in with counter value , then in particular has no zero-transitions. We further split into two subcases:
-
1.
If does not have repetitions of a ‘relatively fast’ cycle with slope for , then the drop of , and of every prefix of it, is at most , where stands for the drop outside ‘slow’ cycles of slope for , and for the rest of the drop. We have and .
We claim that we can obtain by removing repetitions of any cycle , which repeats enough in , having that the drop of is less than .
Indeed, the maximal such drop might be the result of removing only cycles of slope , whose total effect is , having Since , we have
It is thus left to show that , which obviously holds. -
2.
Otherwise, namely when does have repetitions of a ‘relatively fast’ cycle with slope for , let be the first such cycle in . We can obtain by removing repetitions of : The counter value in , which starts with counter value , at the position after the repetitions of will be at least as high as the counter value in , which starts with counter value , after the repetitions of . Notice that the counter value cannot hit before arriving to the repetitions of by the argument of the previous subcase.
Case 2a.2: reaches counter value
Again let as in 1a.
In order to handle possible zero transitions, we shorten , such that the resulting first part of , which starts with counter value , also ends with counter value exactly . Since reaches and is shorter than , it has by Lemma 5.8.2 at least repetitions of a ‘fast’ cycle of slope . Let be the first such cycle. We split to cases.
-
1.
If or or are of length at least , we can remove repetitions of in . Note that the resulting first part of indeed ends with counter value . However, while when the resulting length of will be , as required, in the case that , we have that will be longer than . Nevertheless, in this case, as or are of length at least , we can further shorten or without changing their effect, as per Proposition 5.6, analogously to 1 or 2, respectively, in the proof of Lemma 5.9.1a.2.
-
2.
Otherwise, we are in the case that has a ‘really fast’ cycle of slope that repeats at least times, and both or are of length less than . We claim that in this case must also have repetitions of a ‘relatively slow’ cycle of slope .
Indeed, assume toward contradiction that has less than repetitions of a cycle with slope for . Then the longest such path has less than transitions of out of cycles, such transitions in cycles, and the rest of it consists of ‘fast’ cycles with slope indexed lower than .
Thus its length is at most , where is the transitions, and is the longest length to drop from counter value to with ‘fast’ cycles. Thus, .
Now, we have that the length of is at least . Thus, parts and of are of length at least .
Since , , and , we have . Therefore, at least one of and is of length at least , leading to a contradiction.
So, we are in the case that has at least repetitions of a ‘really fast’ cycle of slope as well as repetitions of a ‘relatively slow’ cycle of slope .
By analyzing the different possible orders of and , we can cut and repeat the cycles far enough from 0 so as to construct valid paths. See the Appendix for details.∎
5.1 Proof of Theorem 5.1
The proof is by induction over the structure of , where Theorem 3.3 already provides the periodicity for all CTL operators.
It remains to plug into the induction by showing (1) the -periodicity of a formula with respect to an OCA , provided that its subformulas are -periodic; and (2) by showing that the period P and threshold cT are single-exponential in and in the nesting depth of .
-
1.
We show that for every state and counters , if then . Withot loss of generality, write , for some .
• If then by the definition of the operator and the completeness of we have i) there is a level , such that for every state and counter value , if then , and ii) for every level , state and counter value , if then .
Observe first that if , then there also exists a level witnessing , such that . Indeed, we obtain , by choosing the largest level in the core of ’s segment, such that . As , it directly follows that for every level , state and counter value , if then . Now, assume toward contradiction that there is a state and a counter value , such that and . Then by (possibly several applications of) Lemma 5.9.1b, there is also a counter value , such that . As is -periodic, we have , leading to a contradiction.
Next, we claim that the level , obtained by (recall that ) applications of the shift function on , witnesses , namely that i) for every state and counter value , if then , and ii) for every level , state and counter value , if then .
Indeed, i) were it the case that then by ( applications of) Lemma 5.9.2a, there was also a counter value , such that and therefore , leading to a contradiction; and ii) were it the case that and then a) by Lemma 5.9.1a, as in the argument above, there is also a level , such that is in the core of ’s segment and where , and b) by Lemma 5.9.2a there is a level , such that where and therefore , leading to a contradiction.
-
2.
The threshold cT and period P are calculated along the induction on the structure of the formula . They start with threshold and period , and their increase in each step of the induction depends on the outermost operator.
Observe first that we can take as the worst case the same increase in every step, that of the UA case, since it guarantees the others. Namely, its required threshold, based on the threshold and period of the subformulas, is bigger than the threshold required in the other cases, and its required period is divisible by the periods required for the other cases.
Next, notice that both the threshold and period in the UA case only depend on the periods of the subformulas (i.e., not on their thresholds), so it is enough to show that the period is singly exponential in and the nesting depth of .
The period in the UA case is defined to be , where , and is the bound on the length of a linear path scheme for . By [17], is polynomial in , and as , we get that is singly exponential in .
Considering , while in general of two numbers and might be equal to their multiplication, in our case, as both and are calculated along the induction via the same scheme above, they are both an exponent of . Hence, . Thus, we get that , where is bounded by the nesting depth of . ∎
References
- [1] Shaull Almagor, Udi Boker, and Orna Kupferman. Formalizing and reasoning about quality. Journal of the ACM, 63(3):24:1–24:56, 2016.
- [2] Roland Axelsson, Matthew Hague, Stephan Kreutzer, Martin Lange, and Markus Latte. Extended computation tree logic. In Logic for Programming, Artificial Intelligence, and Reasoning: 17th International Conference, LPAR-17, Yogyakarta, Indonesia, October 10-15, 2010. Proceedings 17, pages 67–81. Springer, 2010.
- [3] Udi Boker, Krishnendu Chatterjee, Thomas A. Henzinger, and Orana Kupferman. Temporal specifications with accumulative values. ACM Trans. Comput. Log., 15(4):27:1–27:25, 2014.
- [4] Krishnendu Chatterjee and Laurent Doyen. Computation tree logic for synchronization properties. In Ioannis Chatzigiannakis, Michael Mitzenmacher, Yuval Rabani, and Davide Sangiorgi, editors, 43rd International Colloquium on Automata, Languages, and Programming, ICALP 2016, July 11-15, 2016, Rome, Italy, volume 55 of LIPIcs, pages 98:1–98:14. Schloss Dagstuhl - Leibniz-Zentrum für Informatik, 2016.
- [5] Michael R Clarkson, Bernd Finkbeiner, Masoud Koleini, Kristopher K Micinski, Markus N Rabe, and César Sánchez. Temporal logics for hyperproperties. In Principles of Security and Trust: Third International Conference, POST 2014, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2014, Grenoble, France, April 5-13, 2014, Proceedings 3, pages 265–284. Springer, 2014.
- [6] Michael R Clarkson and Fred B Schneider. Hyperproperties. Journal of Computer Security, 18(6):1157–1210, 2010.
- [7] Byron Cook, Heidy Khlaaf, and Nir Piterman. Verifying increasingly expressive temporal logics for infinite-state systems. Journal of the ACM (JACM), 64(2):1–39, 2017.
- [8] David C Cooper. Theorem proving in arithmetic without multiplication. Machine intelligence, 7(91-99):300, 1972.
- [9] Stéphane Demri, Alain Finkel, Valentin Goranko, and Govert van Drimmelen. Model-checking CTL* over flat Presburger counter systems. Journal of Applied Non-Classical Logics, 20(4):313–344, 2010.
- [10] Alain Finkel, Jérôme Leroux, and Grégoire Sutre. Reachability for two-counter machines with one test and one reset. In FSTTCS 2018-38th IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science, volume 122, pages 31–1. Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik, 2018.
- [11] Michael J Fischer and Michael O Rabin. Super-exponential complexity of Presburger arithmetic. In Quantifier Elimination and Cylindrical Algebraic Decomposition, pages 122–135. Springer, 1998.
- [12] Seymour Ginsburg and Edwin H Spanier. Bounded ALGOL-like languages. Transactions of the American Mathematical Society, 113(2):333–368, 1964.
- [13] Stefan Göller and Markus Lohrey. Branching-time model checking of one-counter processes and timed automata. SIAM J. Comput., 42(3):884–923, 2013.
- [14] Christoph Haase. A survival guide to Presburger arithmetic. ACM SIGLOG News, 5(3):67–82, 2018.
- [15] Christoph Haase, Stephan Kreutzer, Joël Ouaknine, and James Worrell. Reachability in succinct and parametric one-counter automata. In CONCUR 2009-Concurrency Theory: 20th International Conference, CONCUR 2009, Bologna, Italy, September 1-4, 2009. Proceedings 20, pages 369–383. Springer, 2009.
- [16] Jérôme Leroux and Grégoire Sutre. Flat counter automata almost everywhere! In International Symposium on Automated Technology for Verification and Analysis, pages 489–503. Springer, 2005.
- [17] Jérôme Leroux and Grégoire Sutre. Reachability in two-dimensional vector addition systems with states: One test is for free. In 31st International Conference on Concurrency Theory (CONCUR 2020). Schloss Dagstuhl-Leibniz-Zentrum für Informatik, 2020.
- [18] Marvin L. Minsky. Computation: Finite and Infinite Machines. Prentice-Hall, Englewood Cliffs, N.J., 1967.
- [19] Mohan Nair. On chebyshev-type inequalities for primes. The American Mathematical Monthly, 89(2):126–129, 1982.
- [20] Mojzesz Presburger. Über die Vollständigkeit eines gewissen Systems der Arithmetik ganzer Zahlen, in welchem die Addition als einzige Operation hervortritt. Comptes Rendus du I Congrès de Mathématiciens des Pays Slaves, pages 92–101, 1929.
- [21] Leslie G Valiant and Michael S Paterson. Deterministic one-counter automata. Journal of Computer and System Sciences, 10(3):340–350, 1975.
- [22] Igor Walukiewicz. Model checking CTL properties of pushdown systems. In International Conference on Foundations of Software Technology and Theoretical Computer Science, pages 127–138. Springer, 2000.
Appendix A Appendix – Omitted Proofs
A.1 Proofs for Sections 3 and 4
Proof A.1 (Proof of Proposition 3.1).
By definition, if is totally -periodic then so is every subformula. We show the converse.
Denote by the set of subformulas of . Assume that every is -periodic for some constants . Let and . We claim that is totally -periodic. Indeed, this follows from the simple observation that if is -periodic, then it is also -periodic for every and that is a multiple of .
Proof A.2 (Proof of Proposition 3.2).
Formally, let . We define where the transitions in are induced by the configuration reachability relation of as defined in Section 2 where we identify for with .
We claim that if and only if if and only if . Indeed, consider an infinite computation of and its corresponding computation in obtained by taking modulo as defined above, then the set of subformulas of that are satisfied in each step of and of is identical, by total -periodicity. In particular, if and only if .
Since every computation of induces a computation of (by taking modulo where relevant), and every computation of induces a computation of (by following the counter updates, relying on total -periodicity to make sure -transitions in are consistent with ones in ), the equivalence follows.
Proof A.3 (Proof of Lemma 3.4).
In [17], the authors consider a model called 2-TVASS, comprising a 2-dimensional vector addition system where the first counter can also be tested for zero. In our setting, this corresponds to an OCA equipped with an additional counter that cannot be tested for zero. A configuration of a 2-TVASS is describing the state and the values of the two counters.
We transform the OCA to a 2-TVASS by introducing a length-counting component. That is, in every transition of as a 2-TVASS, the second component increments by 1. We thus have the following: there is a path of length from to in if and only if there is a path from to in .
From [17, Corollary 16], using the fact that has only weights in , we have that if there is a path from to in , then there is also such a -shaped path where is of flat length and size , which concludes the proof.
Proof A.4 (Proof of Lemma 4.1).
Consider the set . We define
The correctness of this formula is immediate from the definition of , and . In order to compute , we need to compute . This is done using Proposition 3.2, by evaluating from every state of the Kripke structure.
Proof A.5 (Proof of Lemma 4.2).
Recall from Section 2 that the set of satisfying assignments for a PA formula in dimension 1 is effectively semilinear and can be written as for effectively computable and .
For every state , consider therefore the set corresponding to . Define and .
We claim that is -periodic. Indeed, consider such that , and let . Note that for any . Without loss of generality assume , so we can write for some .
Now, if , then for some and . Then, , and note that divides , so we have and therefore .
Conversely, if then for some and . Then, . Since , then . Thus, so . Hence, is -periodic.
Proof A.6 (Proof of Proposition 5.5).
If or , we can just have and or and , respectively.
Otherwise, we can have and . Indeed, notice that and are positive and the overall ratio of effect divided by length is:
Proof A.7 (Proof of Proposition 5.6).
We provide the proof for lengthening the path. The proof for shortening it is analogous. We split to cases.
-
1.
or : We add repetitions of or repetitions of , respectively.
-
2.
and : We add repetitions of and repetitions of .
-
3.
and : We add repetitions of and remove repetitions of .
-
4.
and : We remove repetitions of and add repetitions of .
Proof A.8 (Proof of Proposition 5.7).
When is an atomic proposition, there is no .
Consider a formula . We have and . It remains to show that for . To this end, it is proved in [19] that for all .
Then, for we have , so . We now prove by induction that for all . For we have . Assume correctness for , we prove for : We have , whereas , where the last inequality follows from the induction hypothesis.
Proof A.9 (Proof of Lemma 5.8).
For , the first claim trivially holds, as it claims for a cycle with a slope at least , which holds for any cycle, and since , it must repeat at least times. The second claim vacuously holds, as no path can reach at Segment .
Consider . We prove each of the claims separately.
We show that there are at least total cycle repetitions of the required slope, and since there are at most different cycles, one of them should repeat at least times.
-
1.
Consider a basic path of length , such that the counter values of stay above . Assume by way of contradiction that has less than cycles with for . We will show that must fall short of .
Since there are at most cycles with with , each of length at most , then the total length of spent in such cycles and in the simple paths of (of total length at most ) is . The effect accumulated by the transitions in is at most , if all the relevant transitions are .
The remaining part of the path, whose length is denoted by , is spent in cycles with for . Note that its effect is at most , and therefore its length .
Observe that any actual path that satisfies the required constraints cannot be shorter than the above theoretical path in which there are transitions of effect .
Therefore, we have .
Recall, however, that , leading to a contradiction, as , for .
-
2.
Consider a basic path of length , such that the counter values of reach . Without loss of generality, we can assume that is the first time when reaches (otherwise we will look at the prefix of that satisfies this). Assume by way of contradiction that has less than cycles with for , we show that must fall after .
Since there are at most cycles with for , each of length at most , then the total length of spent in such cycles and in the simple paths of (of total length at most ) is . The effect accumulated by the transitions in is at least , if all the relevant transitions are .
The remaining part of the path, whose length is denoted by , is spent in cycles with for . Note that its effect is at least , and therefore its length .
Observe that any actual path that satisfies the required constraints cannot be shorter than the above theoretical path in which there are transitions of effect .
Therefore, we have .
Recall, however, that , leading to a contradiction.
A.2 Remaining Cases in the Proof of Lemma 5.9
We present remaining arguments for the proof.
A.2.1 Proof of Lemma 5.9.1b
Consider a length , and let be a basic path of length such that . We construct from a path for , such that .
This part of the proof, showing that a path can be properly lengthened by P, is partially analogous to part 1a of the proof, which shows that a path can be shortened by P. We split the proof to the same cases as in part 1a, and whenever the proofs are similar enough, we refer to the corresponding case in part 1a.
Case 1b.1: The counter values in stay above
Since there is no position in with counter value , then in particular has no zero-transitions. We split to subcases.
-
•
If there is a non-negative cycle in , we can obtain by adding copies of , having that the counter values in are at least as high as the corresponding ones in . Observe that is of length from to with . Since we have , then .
-
•
If there are in two cycles of different slopes, such that each of them repeats at least times, we can use Proposition 5.5 to properly lengthen into .
-
•
Otherwise, we are in the case that only a single cycle with some negative slope s repeats at least times. Since , by Lemma 5.8.1, we have . We can thus add copies of , guaranteed that the counter values in remain above . Indeed, the maximal drop (i.e., the negation of the minimum cumulative counter effect in the path) of is , where stands for the repetitions of , and for the rest. We have (notice that s is negative) and , considering the worst case in which all transitions out of cycles, as well as in the cycles that are not are of effect . Thus, .
As , we have . Since , it follows that , thus (as both s and are negative), we have .
Recall that we aim to show that can “survive” a drop of up to P additional copies of (i.e., at most ), while keeping the counter value above . Thus, we need to show that . It is left to show that , which obviously holds, as .
Case 1b.2: reaches counter value
Let be the first and ultimate positions in where the counter value is exactly . We split into three parts: as in the analogous case in 1a.
- 1.
-
2.
Only the first part of length at least
If any of the other parts is long, we lengthen them. Otherwise, their combined length is less than , implying that the first part is longer than .
Hence, by Lemma 5.8, there are ‘fast’ and ‘slow’ cycles and , respectively, of slopes , such that each of them repeats at least times in .
Thus, by Proposition 5.6, we can add and/or remove some repetitions of and , such that is longer by exactly P. Yet, we should ensure that is valid, in the sense that its corresponding first part cannot get the counter value to . We show it by cases:
-
•
If or are balanced, we can lengthen without changing the remaining counters.
-
•
If there is a positive cycle that repeats at least times, then the counter value climbs by at least from its value at position where starts and the position where its repetitions end. As the counter gets down to at the end of , and (Proposition 5.7), there must be a negative cycle that repeats at least times between position and the first position after that has the counter value . Hence, we can add repetitions of and , as per Proposition 5.6, ensuring that the only affected values are above .
-
•
Otherwise, both and are negative, implying that we add some repetitions of and remove some repetitions of . We further split into two subcases:
-
–
If appears before then there is no problem, as the only change of values will be their increase.
-
–
If appears first, ending at some position , while starts at some position , then a-priori it might be that repeating up to more times, as per Proposition 5.6, will take the counter value to .
Yet, observe that since there are at most positive cycles, and each of them can repeat at most times, the counter value at position , and along the way until position , is at least , where is the counter value at position . As repeats at least times, we have . Thus . Hence, repeating up to more times at position cannot take the counter value to , until position , as required.
-
–
-
•
Continuation of the Proof of Lemma 5.9.2a
We detail the subcases of Case 2a.2.2 that were not detailed in the main text:
-
•
If there is such a relatively slow cycle that ends in a position before a position in which the first really fast cycle starts, then: If , we can simply remove repetitions of , getting the desired counter and lengths changes.
Otherwise, namely when , we claim that the counter value between positions and is high enough, allowing to remove some repetitions of and , as per Proposition 5.5. As might be positive, removal of its repetitions might decrease the counter; the worst case is when all its transitions are of effect , and we shorten the path the most, which is bounded by . To ensure that the counter remains above the value after the removal and until position , we thus need it to be at least at all positions until .
Indeed, the path has only cycles of slope at least until position . Therefore, its drop is at most , for the non-cyclic part, plus for the cyclic part. (Notice that is negative.) Therefore, . Taking the value of , we have . Since and , we have .
Now, as the counter starts with value , we need to show that . Indeed, . As , we have , as required.
-
•
Otherwise, namely when there is no relatively slow cycle that repeats at least times before the position in which the first really fast cycle starts:
Let be the position after , in which the path has the smallest counter value before a relatively slow cycle that repeats times.
If , we can remove some repetitions of the really fast and relatively slow cycles, as per Proposition 5.5; We only remove repetitions of the fast decreasing cycle, so as a result the counter will only grow, and if it is guaranteed to be above P when starting the path from counter value , it will not reach when starting from counter value .
Otherwise, namely when , we can remove repetitions of the really fast cycle , guaranteeing that remains above until position .
Observe, however, that the resulting path will be longer than . Nevertheless, we claim that in this case, the portion of from position until its last position with counter value can be further shorten without changing the path’s effect. Indeed, there is a cycle that repeats at least times in this part, having an absolute effect of at least , implying that this part of climbs up to a value of at least , and down again, allowing for the removal of positive and negative cycles, as per Proposition 5.6, analogously to 1 in the proof of Lemma 5.9.1a.2.
A.2.2 Proof of Lemma 5.9.2b
We remark that Segment is identical in the shortening and lengthening argument, and this is a repetition of the main text. For a path of length , we have in Segment that , and indeed a path from is valid from and vise versa, as they do not hit : Their maximal drop is sT, while .
We turn to the th segment, for . Consider a basic path for . Recall that . We construct from a path for , such that , along the following cases.
Case 2b.1: The counter values in stay above
Since there is no position in with counter value , then in particular has no zero-transitions. Since , by Lemma 5.8.1, there is a cycle in of slope , namely of slope . We can thus get the required path , by adding repetitions of . Indeed, the counter value of at the position that starts will be bigger by P than the counter value of at that position, while the counter of after the repetitions of will be at least as high as the counter value of at the corresponding position.
Case 2b.2: reaches counter value
Let be the first and ultimate positions in where the counter value is exactly . We split into three parts: (it could be that , in which case the middle part is empty).
In order to accommodate with possible zero transitions, we should lengthen , such that the resulting first part of the new path , which starts with counter value , will also end with counter value exactly . Since reaches and it is shorter than , it has by Lemma 5.8.2 at least repetitions of a ‘fast’ cycle of slope .
-
1.
If or or are of length at least , we can add repetitions of in . Note that the resulting first part of the new path indeed ends with counter value . However, while when the resulting length of will be , as required, in the case that , we have that the resulting path will be shorter than . Nevertheless, in this case, as or are of length at least , we can further lengthen or without changing their effect, as per Proposition 5.6, analogously to 1 or 2, respectively, in the proof of Lemma 5.9.1a.2.
-
2.
Otherwise, we are in the case that has a ‘really fast’ cycle of slope that repeats at least times, and both or are of length less than . We claim that in this case must also have repetitions of a ‘relatively slow’ cycle of slope . The argument for that is the same as in 2 of part 2a of the proof. As the case of is handled in the previous subcase, we may further assume that . We may thus add repetitions of and , as per Proposition 5.5, lengthening by exactly , while also ensuring that it ends with counter value exactly .