Robust intersample crossing of target sets with mixed‐integer linear programming

This note is concerned with the problem of crossing a target set between sample instants under the influence of bounded unknown disturbances. The proposed solution employs mixed‐integer linear programming and is less conservative compared with the standard approach of imposing pointwise‐in‐time constraints at the sample instants.


INTRODUCTION
Autonomous vehicles are often expected to go through target sets in the course of their missions. Typical examples involve the crossing of a door in a two-dimensional (2D) environment 1 and fly-over missions for drones. For this purpose, model predictive control (MPC) with mixed-integer linear programming (MILP) encoding can be used to carry out vehicle maneuvering tasks to visit polytopic target sets in finite time. 2 This approach makes use of pointwise-in-time constraints on the position of the vehicle at the sample instants. However, this may lead to infeasibility of the optimization problem when robustness to unknown disturbances is considered by a tightening constraint approach, 2 as it may be impossible to ensure that a target set will be visited. Moreover, this approach may introduce undue conservatism, imposing that the vehicle is within the target set at a sample instant when simply crossing it would be enough to cope with the objectives of the continuous-time resulting trajectory.
In the MPC-MILP literature, the converse problem of preventing intersample crossing has been addressed in the context of collision avoidance. Maia and Galvão (2009) 3 proposed additional inequalities so that consecutive positions were constrained to occupy the same half-planes regarding each polytopic obstacle, avoiding the intersample crossing. Later, Richards and Turnbull (2015) 4 improved the formulation in Maia and Galvão (2009), 3 reducing the number of additional constraints from exponential to linear in the number of sides of the obstacles. Subsequently, Afonso et al. (2016) 5 complemented the work in Richards and Turnbull (2015) 4 by employing an equivalent formulation which uses less binary variables to encode the problem, as proposed in Prodan et al. (2012). 6 In a related topic, Stoican et al. (2015) 7 proposed the so-called "shadow regions" approach to reduce the number of half-planes to be considered when multiple obstacles are present. However, the usage of the shadow regions required the solution of a more complex nonlinear optimization problem, thus the authors considered a more conservative approximation to obtain a MILP formulation. Later, Stoican et al. (2018) 8 detailed this formulation and also compared the solution of the more restrictive MILP formulation with the exact mixed-integer nonlinear program (MILNP), obtaining a much (two orders of magnitude) greater computational effort for the latter. This field of research has become known as intersample collision avoidance or "corner cutting" avoidance.
In a complementary sense, an encoding for imposing intersample crossing of a target set is proposed herein. Numerical examples are presented to highlight the advantages of the proposed method with respect to the use of pointwise-in-time constraints, in terms of feasibility and conservatism of the solution.
The remainder of this note is divided as follows: the vehicle maneuvering problem in two dimensions is stated in Section 2; constraints that ensure crossing of a segment are proposed in Section 3, then the MILP problem including them is formulated and an illustrative example is presented; the setting developed for crossing a segment is extended to cross a general convex set in Section 4, with a proposed reformulation of the MILP and again illustrative examples are presented; concluding remarks are given in Section 5. An extension to the three-dimensional case is presented in the Appendix.

Notation
• T transpose of a vector or matrix •.

|| • ||
two-norm of a column vector in R ♭ , numerically equal to

VEHICLE MANEUVERING PROBLEM
The vehicle is modeled as a particle moving in a plane with position coordinates x and y, inputs a x and a y (accelerations along each axis), and corresponding velocities v x and v y . The discrete-time model is given by the state difference equation x(k + 1) = Ax(k) + Bu(k) + w(k) and the output algebraic equation s(k) = Cx(k), with the state, control, and output vectors , and s T = [x y], respectively, and disturbances w ∈  ⊂ R 4 acting on the state, with  a (bounded) polytope. The model matrices for a sample period normalized to one are: 8 The problem of maneuvering such a vehicle from an initial state x(0) so that the output reaches a polygonal target set  while minimizing a weighted time-fuel cost function was addressed in Richards and How (2006). 2 Additional constraints are that the state and control belong to polytopic sets  and  , respectively, with 0 ∈  . In order to account for the unknown disturbances, Richards and How (2006) 2 employed the constraint-tightening approach originally proposed in Chisci et al. (2002). 9 As a consequence, the sets , , and  become time-dependent over the prediction horizon. The ensuing optimization problem to be solved at each time k can be stated as subject to Remark 1. The problem addressed in Richards and How (2006) 2 involves avoiding polygonal obstacles as well. As the inclusion of obstacles within the scheme proposed herein is straightforward and does not result in any major changes, this issue will not be considered in the present note.
In this problem, x i and u i represent predictions of the state and control i steps ahead of the current instant. It is emphasized that the state and control predictions x i and u i are also dependent on the time instant k through Equation (3a), but this is not explicitly included in the notation throughout this note for brevity.
The weight ∈ R + expresses a compromise between the time and fuel components of the cost. Richards and How (2006) 2 show how to obtain the time-variant sets  i ,  i , and  i from offline calculations and rewrite Problem 1 as a MILP problem with a fixed time horizon, which is denoted by T + 1. By applying the optimal control in a receding horizon manner, the recursive feasibility of the optimization problem and finite-time arrival at the target set are ensured. 2 In the present note, this formulation is used as the basis for the proposed intersample crossing method.

INTERSAMPLE CROSSING CONSTRAINTS
In Section 2 the problem of maneuvering a vehicle with the dynamic given by the matrices in (1) was stated as a motivation for the crossing constraints, and this dynamic will be used in the examples within the present article. However, the intersample crossing constraints formulated herein are independent of the specific values of the matrices in (1).

Definition 1.
A segment ab with extreme points a ∈ R 2 and b ∈ R 2 is the set  Remark 2. Equation (5) cannot be incorporated as a constraint in a convex programming framework because , s i , and s i + 1 are optimization variables within the trajectory planning problem. Therefore, the equality constraint in Equation (5) becomes quadratic in the decision variables, thus leading to a nonconvex problem.
In view of Remark 2, alternative constraints will be now proposed to enforce crossing without involving the product of optimization variables.
and v ⟂ a vector orthogonal to v, that is, Given a point q ∉ c l c u , define the unit vector z as and an orthogonal vector z ⟂ as If then c l c u is crossed by s i s i+1 . The symbols ⪋ and ⪌ in (10e) and (10f ) in this context mean that when (10e) imposes ≤ then (10f ) imposes ≥ and vice-versa.
Proof. The proof is given in Appendix A1.
Remark 3. Constraints (10a)-(10f) are linear in the optimization variables (the positions s i and s i + 1 ) as opposed to the direct application of Criterion 1. The trade-off to achieve these linear constraints is the choice of the point q in Proposition 1, which ultimately determines the vector z. Figure 1 illustrates that, for a particular choice of q, enforcement of constraints (10a)-(10f) ensures crossing, but also renders other candidate solutions infeasible. One possibility to circumvent this issue is to define several q j , j = 1, 2, … , N c such that the feasible region associated to each q j and v j covers different subsets of the plane. For example, the yellow and green regions in Figure 2 cover areas that are not included in the red one. Remark 4. Proposition 1 deals with a 2D case and, in particular, with a single choice of q. In principle, it would be possible to choose distinct q l and q u associated with c l and c u , respectively, resulting in distinct associated vectors z l and l z ⟂ or z u and u z ⟂ . This might be explored to give more flexibility to the regions the positions s i and s i + 1 may occupy. Proposition 1 is adapted to the more general three-dimensional (3D) scenario with each vertex c , = 1, 2, … N v , having an associated q , z and z ⟂ in Appendix B1.
Remark 5. The point q may also be chosen by solving a preliminary optimization problem so as to ensure feasibility of the crossing constraints. For this purpose, the right-hand sides of the ≥ constraints in (10a)-(10f) may be augmented with positive slacks, which are to be maximized by manipulating q. However, we remark that the ensuing optimization problem would be nonlinear.

Proposed MILP formulation with robustness
The constraints in Problem 1 impose that the position reaches a target set  N(k)+1 and binary variables can be used as prescribed in Richards and How (2006) 2 in conjunction with the big-M approach 10 to rewrite it as a MILP. In the present note the intersample crossing of the target sets defines the end of the maneuver, thus constraints (10a)-(10f) involving a binary variable and the big-M approach are imposed over consecutive positions of the agent, s i and s i + 1 , when the associated binary variable is equal to one. Binary variables and the big-M method are also employed to implement the choice between the N c possible regions in Remark 3 to cross the segment, thus covering a larger area of the plane. It is important to remark that additional binary variables are required by each region, so there is a compromise between size of the feasibility region and of the optimization problem.
In order to impose the constraints over a horizon of at most T + 1 time steps, T + 1 binary variables are necessary. The following constraints must be added to the classical maneuvering optimization Problem 1: The binary variables b target i are associated with the time instant when the crossing occurs: b target i = 1 implies that the positions s i and s i + 1 are on opposite sides of the target set; b c j is related to the active region: b c j = 1 implies that the positions s i and s i + 1 are constrained to remain within region j; b s is related to the sense in which the target is crossed, implementing the alternatives ⪋ and ⪌ in (10e) and (10f). For example, in Figure 2 the target could be crossed from left to right-as shown in the figure-or from right to left-as would be the case if the labels s i and s i + 1 were interchanged. M is a constant which is large enough to render the constraints inactive for all admissible values of s i and s i + 1 . It is interesting to remark that the number of binary variables b c j involving the choice of the active region may be reduced by using the encoding proposed in Prodan et al. (2012) 6 to implement the big-M approach. Therefore, instead of N c binary variables, only ⌈log 2 N c ⌉ would be necessary, where ⌈•⌉ yields the smallest integer Θ such that Θ ≥ ⌈•⌉. It has been proved elsewhere 11 that this procedure can be done by adding a single additional constraint.
Inequalities (11a) and (11b) impose that the position at instant i is within region j, which is composed of two constraints representing the parallel lines that define this region, that is, they are an implementation of (10a) and (10b). Similarly, (11c) and (11d) impose that the position at instant i + 1 is within the same region, implementing (10c) and (10d). The margins m i,j and m i,j are constant values subtracted from the right-hand side of the inequalities (11a) and (11b) as a means to tighten the constraints so that they are not violated for all possible disturbance values, following the approach in Richards and How (2006) 2 for robust constraint enforcement. The presence of m i+1,j and m i+1,j in (11c) and (11d) is due to the time-dependence of the margins in the constraint tightening approach, that is, the constraint tightening approach considers the accumulated effect of the disturbances at the instant of their imposition. Since (11c) and (11d) are inequalities involving the prediction s i + 1 at instant i + 1, the margins must encompass this additional sample time. These margins are calculated according to the following expressions, where w is the disturbance acting on the state: Similarly, In (12b) and (13b),Ā is the closed-loop matrix of the system,Ā = A − BK, when a linear state feedback controller with gain K is assumed, employing the closed-loop paradigm 2,9 to obtain less conservative margins. The eigenvalues of this matrix are all placed inside the unit circle by means of the choice of K (notice that this can be done because the pair (A, B) in (1) is controllable).
As for the remaining inequalities, (11e)-(11h) impose that the positions s i and s i + 1 lie on opposite sides of the segment to be crossed. They implement (10e) and (10f), with the variable b s implementing the choice of the pairs of inequality signs ⪋ and ⪌. These constraints too are tightened to ensure robustness to the disturbance with margins m i and m i . Again, m i+1 and m i+1 are considered in (11g) and (11h) to account for the fact that the prediction of s i + 1 at instant i + 1 is subject to one more element of the disturbance sequence than s i in (11e) and (11f). These margins are calculated according to the following expressions: Similarly, Finally, (11i) imposes that the crossing occurs at least once and (11j) allows only one region to be chosen. Initial state If  is symmetric about the axes, one can save the calculations of (13a)-(13b) as well as (15a)-(15b), as they yield the same results as (12a)-(12b) and (14a)-(14b), respectively, with a change in sign.

Illustrative example
A simulation is presented to illustrate the crossing of a segment. The simulation was run in closed-loop, that is, the receding horizon paradigm was employed. 12 The adopted conditions are described in Table 1, with the model matrices given in (1). A single region is used in the example, that is, N c = 1, and the point q 1 was chosen so that the vector z 1 was orthogonal to v. Moreover, the state , control  , and disturbance  sets were all assumed to be boxes, with upper and lower limits specified in Table 1. The disturbances at each sample time were samples from an uniform distribution between the w min and w max values presented in Table 1. Figure 3 depicts the positions at the sample times for 100 realizations of the disturbance sequence as black crosses. To avoid cluttering the figure, only one trajectory is depicted using black line segments. It can be seen that s 2 and s 3 satisfy constraints (10a)-(10f), thus ensuring the crossing according to Proposition 1 despite the disturbances, due to their robust implementation in (11a)-(11h). It is interesting to remark that the standard target set imposition used in the current literature displayed in (3f) cannot find a feasible solution, as the robustification process eliminates the target as long as  ≠ {0}. Considering all 100 realizations, the mean and standard deviation of the computation time (in seconds) at each time step of the trajectory were 0.034 ± 0.006 (k = 1), 0.018 ± 0.009 (k = 2), and 0.015 ± 0.006 (k = 3). The CPLEX 12.6 solver 13 and a computer with a 2.30 GHz processor were employed.
For comparison, the nonlinear crossing constraints in (5) were implemented, yielding a mixed-integer nonlinear program (MINLP). It is important to emphasize that the nature of the equality constraints (5) renders them unsuitable for application of the constraint tightening method, therefore they were not robustified. Thus, the implemented MINLP considered only the nominal case, that is,  = 0. For this case, the optimal solution used only two time steps to cross the target set and the mean and standard deviation of the computation time (in seconds) at each time step of the trajectory were 1.00 ± 0.06 (k = 1) and 0.05 ± 0.01 (k = 2), for 100 simulations. As can be seen, even with less stringent constraints the computation time of the MINLP solution was 30 times larger in the first step. The solver used for the MINLP was SCIP, 14 with the package OPTI 15 in the same computer mentioned above. Since there were no disturbances in this case, the same trajectory (depicted in gray color in Figure 3) was obtained in all 100 simulations. In this case the fluctuations in computation time (±0.06 at k = 1 and ±0.01 at k = 2) are associated to run-to-run variability in the computational processes, rather than changes in the trajectory features.

CROSSING TARGET SETS OTHER THAN A SEGMENT
Aiming at further developing the crossing capabilities to deal with more general target sets , we present a proposal to perform crossing of any convex set in this section. The aim of the proposal within the present section is to ensure that the trajectory of the vehicle in continuous time intersects , in which case we consider that a "crossing" of  happened. We now formalize the conditions over the target set stated above.

Assumption 1.
The target set  is convex.
Following a similar development as the one in Section 3, a definition of crossing is presented for the target set . The following proposition characterizes the crossing of  in terms of the crossing of segments.

Proposition 2. A convex set  is crossed by a segment s i s i+1 if and only if there exists a segment c l c u contained in
Proof. (Sufficiency) if c l c u ∩ s i s i+1 ≠ Ø, then there exists d such that d ∈ c l c u , d ∈ s i s i+1 . On the other hand, in view of Assumption 1, c l c u ⊂  ⇒ d ∈ , which shows that  is crossed by s i s i+1 due to Definition 3. (Necessity): ∃d | d ∈ , d ∈ s i s i+1 . Take c l = d and c u ∈  any other point c u ≠ c l (such a point exists due to Assumption 2). Clearly, d ∈ c l c u and, by Assumption 1, c l c u ⊂ . Since ∃d ∈ c l c u , d ∈ s i s i+1 , then c l c u ∩ s i s i+1 ≠ Ø.
By Proposition 2, the existence of a segment c l c u ⊂  that is crossed is necessary and sufficient to ensure crossing of . The following corollary allows one to derive sufficient linear constraints to ensure crossing of .

Corollary 1.
Consider a segment c l c u ⊂  with c u ≠ c l , whose existence is ensured by Assumptions 1 and 2, a unit vector v in the direction from c l to c u as in (6), a vector v ⟂ orthogonal to v as in (7), a point q ∉ c l c u , the unit vector z as in (8), and a vector z ⟂ orthogonal to it as in (9). If constraints (10a)-(10f ) are enforced, then  is crossed by s i s i+1 .
Proof. Crossing of c l c u is ensured by Proposition 1, which in turn ensures crossing of  by means of Proposition 2.

Formulation of the constraints
The constraints to cross a general convex set  are formulated based on (11a)-(11j) by allowing the choice of more than one segment out of N s to be crossed, with the nth segment having extreme points c u, n and c l, n , n = 1, 2, … , N s .
The summation in (16j) allows the choice of only one of the N c possible regions associated to one of the N s possible segments, therefore imposing (16a)-(16d) only for the jth region of the nth segment corresponding to b c j,n = 1. The calculation of the robustness margins is performed exactly as in (12a)-(12b), (13a)-(13b), (14a)-(14b), and (15a)-(15b), considering that it must be carried out N s times for each n ∈ {1, 2, … , N s }.

Formulation of the constraints for multiple crossings
The proposed formulation can be easily extended to impose the crossing of multiple targets sequentially. This is achieved by a simple reformulation of (16a)-(16j) to include N target target sets, each with N s segments, to which N c regions are associated.

Parameter name Symbol Values
Maximal The more relevant changes as compared with (16a)-(16j) are the dependence on of the binary variables b target i, and b s, , which indicate the interval of the crossing of the th target and its sense, respectively, and inequalities (17k), that impose the order of crossing of the target sets from = 1 increasing until = N target . One small change to the cost function would be to use the term as the cost to end the maneuver, as this indicates the crossing of the last target set.

Simulation results with multiple crossings
Two closed-loop simulations will be presented to illustrate the crossing of general convex sets using the proposed method. A comparison with the use of pointwise-in-time target set constraints at the sample instants will also be shown. The adopted conditions that are common for both examples can be found in Table 2, with the model matrices given in (1). The target sets were three ellipses and seven segments were chosen within each ellipse for application of the crossing constraints in Section 4.1.1. For each segment n of the target set , only one point q 1, n, was chosen with the vector z 1, n, was orthogonal to v n, . As for the pointwise-in-time constraints at the sample instants, the ellipses were approximated by 10-sided polygons with vertices at the boundary of each  starting at the direction of the semimajor axis with positive x coordinate and placing the vertices with equal angles between neighboring vertices, that is, one vertex at each step of 360 • /10 = 36 • . Figure 4 presents the resulting positions obtained from 100 realizations with disturbances at each sample time sampled from an uniform distribution between the w min and w max values presented in Table 2. The positions at the sample times are depicted as black crosses and to avoid cluttering the figure only one trajectory is depicted using black line segments. For the crossing constraints proposed in this note, it took the vehicle three time steps to cross all three ellipses for all the 100 realizations, as  2 and  3 are both crossed between s 2 and s 3 , as depicted in Figure 4(A). The associated value of the optimal cost at x(0) was 4.01. On the other hand, with the imposition of pointwise-in-time target set constraints at the sample instants, the crossing of all three ellipses took four time samples in all 100 realizations, as can be seen in Figure 4(B), leading to an associated higher optimal value of the cost at x(0) of 5.08. For comparison, 100 realizations were also run with different number of segments N s = 3 and N s = 1. With less segments, the cost increased slightly to 4.09, but the maneuver was still concluded within three time steps. The computation time data are presented in Table 3. It is possible to see that, with N s = 1 segment, the computation times are very similar with those obtained for the pointwise-in-time constraints. The CPLEX 12.6 solver 13 and the same computer mentioned in Section 3.2 were used. (i) One segment 0.14 ± 0.06 0.14 ± 0.01 0.05 ± 0.01 -(ii) 0.14 ± 0.01 0.11 ± 0.01 0.051 ± 0.008 0.037 ± 0.008

CONCLUSION
The problem of crossing a target set was shown to be challenging to the current MILP-MPC approaches, since depending on the dimensions of the set it may be infeasible to impose visiting it in the presence of disturbances. Moreover, by imposing that the vehicle must visit the target set at a sample instant, the current formulations may entail a larger cost. In this context, the proposed method of using crossing constraints circumvents both difficulties by introducing segments to be crossed. The number can be chosen by the user to tune a compromise between the number of additional variables associated to the segments and the improvements to the trajectories. In the following we present the proof of Proposition 1.

ACKNOWLEDGMENTS
Proof. The proof is divided into two parts: first we prove that inequalities (10e) and (10f) result in the existence of a solution for (5) with ∈ [0, 1]. Then, we demonstrate that inequalities (10a)-(10d) ensure that ∈ [0, 1]. First part: Consider the function Then, Solving for the root of (A2) makes f( ) evaluate to a point within the support line of the segment c l c u . The trivial cases happen when there are equalities in (10e) and (10f) and are three: (i) only ⟨v ⟂ , s i − c l ⟩ = 0, in which case the solution is = 1 and s i is at the support line of the segment c l c u ; (ii) only ⟨v ⟂ , s i+1 − c l ⟩ = 0, resulting in = 0 and the point s i + 1 is at the support line of the segment c l c u ; (iii) both ⟨v ⟂ , s i − c l ⟩ = ⟨v ⟂ , s i+1 − c l ⟩ = 0, then both s i and s i + 1 are at the support line of the segment c l c u as well as all points in the straight line that passes through them, thus all ∈ [0, 1] are solutions. These three trivial cases cover the equalities in (10e) and (10f), thus, for all other situations (10e) and (10f) reduce to strict inequalities and one can asseverate that: as the numerator and denominator have different signs due to (10e) and (10f). With exception of these trivial cases, the solution for is: which is ensured to have a nonnull denominator in view of (A3). Therefore, applying the inequality in (A3) to (A4): From (A5) and the analysis of the trivial cases, it can be concluded that a solution ∈ [0, 1] always exists when (10e) and (10f) are enforced. Second part: Consider the solution ∈ [0, 1] for the first part, then, one can multiply (10a) by and (10c) by 1 − and sum the results to get: On the other hand, By a similar process, one can multiply (10b) by and (10d) by 1 − and sum the results to get: Similarly to (A8), one can write Replacing (6) for v in (A18) it follows that Since c u − c l ≠ 0, the only solution to (A19) is Using (6) one can rewrite (A8) as Now, let be defined as Then, from (A12) and (A22): On the other hand, from (A17), (A20), and (A22) Finally, replacing (A22) for in (A21) it follows that It was shown that if s i and s i + 1 satisfy all constraints (10a)-(10f), then which, in turn, allows to conclude by Criterion 1 that a crossing of c l c u by s i s i+1 is ensured. ▪

APPENDIX B. EXTENSION TO A THREE-DIMENSIONAL SCENARIO
The extension to a three-dimensional scenario is easily performed by changing the crossing of a segment in R 2 to that of a polygon with N v ≥ 3 coplanar, noncollinear vertices c ∈ R 3 , ∈ {1, 2, … , N v }. It is assumed that the pairs of vertices c and c +1 for = 1, 2, … , N v − 1, as well as the pair c 1 and c N v are neighbors, that is, a plane containing each pair and no other vertices divides the space in two regions, one of which contains the entire polygon. For simplicity, it is assumed that these vertices do not lie in a plane containing the origin. However, this assumption can be relaxed, as discussed in Remark 7 at the end of this Appendix. Criterion 1 is extended by changing the left-hand side in (5) as follows:

Criterion 2.
A polygon with N v coplanar, noncollinear vertices c ∈ R 3 , is crossed between time steps i and i + 1 if and only if: where s i ∈ R 3 and s i+1 ∈ R 3 are the positions of the vehicle at time steps i and i + 1, respectively.
Moreover, Proposition 1 is extended by defining N v unit vectors v as follows.

Proposition 3.
Let v be the unit vectors defined as: Define the vector v ⟂ orthogonal to the plane of c , that is, Given N v points q outside the plane containing all c , define unit vectors z as and vectors z ⟂ orthogonal to both z and v as and such that for some ∈ {1, 2, … , N v }, then the convex hull of the points c , = 1, 2, … , N v , is crossed by s i s i+1 .
Proof. As in Proposition 1, the proof is divided into two parts. First part: Identically to Proposition 1, replacing c l with c , it is possible to conclude by (B8a) and (B8b) that ∃ ∈ [0, 1] such that the function satisfies On the other hand, The second term in the summation in the right-hand side of (B11) vanishes for any ∈ {1, 2, … , N v } in view of (B3), thus from (B10) and (B11) Second part: Under the hypothesis that c , = 1, 2, … , N v , do not lie in a plane containing the origin, one can state that Moreover, since the vertices c are not collinear, any point f( ) ∈ R 3 can be written as: for some scalars .
Remark 7. The assumption that c , = 1, 2, … , N v , do not lie in a plane that contains the origin is not limiting, as a translation of the origin may always be performed to fulfill this condition, as demonstrated in the following.
In case the points c are in a subspace of R 3 such that In view of (B73) and since ≠ 0 by the assumption in (B72) and v ⟂ ≠ 0, it follows that: that is, a translation in the direction of v ⟂ can be made to shift the plane of the pointsc without compromising the implications of Proposition 3.