# Constant-Time Complete Visibility for Robots with Lights: The Asynchronous Case +
## 6 Stage 1-Interior Depletion
### Stage 1.4-Positioning the Robots on the Eligible Line to the Sides of \(\mathbf{P}^{\prime}\)
Points \(s^{\prime}_{1},s^{\prime}_{w}\) divide \(S^{\prime}\) into three segments \(S^{\prime}_{l},S^{\prime}_{m},S^{\prime}_{r}\), where \(S^{\prime}_{l}=\overline{c_{i}s^{\prime}_{1}}\), \(S^{\prime}_{m}=\overline{s^{\prime}_{1}s^{\prime}_{w}}\), and \(S^{\prime}_{r}=\overline{s^{\prime}_{w}c_{i+1}}\). Figure 14 illustrates these ideas. Recall that Stage 1.5 moves the robots on \(S^{\prime}_{l}\), \(S^{\prime}_{m}\), and \(S^{\prime}_{r}\) with color side2 to \(S_{l}\), \(S_{m}\), and \(S_{r}\), respectively, and colors them side. We run two sub-stages, Stage 1.5.1 and Stage 1.5.2, one after another. In Stage 1.5.1, the robots in \(S^{\prime}_{l},S^{\prime}_{r}\) move to \(S_{l},S_{r}\), respectively. In Stage 1.5.2, the robots in \(S^{\prime}_{m}\) move to \(S_{m}\). Stages 1.5.1 and 1.5.2 synchronize by changing the colors of \(s_{1},s_{w}\) from special to temp_corner. In both the sub-stages, the idea is to satisfy the conditions for the Beacon-Directed Curve Positioning we developed in SSS'17 to run Stage 1.5 in \(\mathcal{O}(1)\) epochs. The technique we used in IPDPS'17 initially moves a robot in the first and second epochs, two robots in the third epoch, and \(4,8,16,\ldots\) in each subsequent epoch giving overall \(\mathcal{O}(\log N)\) epochs runtime for each sub-stage of Stage 1.5, in the similar spirit of the argument of this approach we outlined in Stage 1.2. **Observation 1**. : _During Stage 1.5.1, the robots in segment \(S^{\prime}_{m}\) see both \(s_{1}\) and \(s_{w}\) with color special._  
Figure 14: Example configuration of side of \(P\) and side of \(P^{\prime}\) for Stage 1.5. 6.5.1. Stage 1.5.1-Moving Robots on Segments \(S_{l}^{\prime}\), \(S_{r}^{\prime}\) to \(S_{l}\), \(S_{r}\)  
We discuss here how robots on \(S_{l}^{\prime}\) move to \(S_{l}\) (the case of robots on \(S_{r}^{\prime}\) moving to \(S_{r}\) is analogous). Our goal is to satisfy the conditions for the framework of Section 3 to run this stage in \(\mathcal{O}(1)\) epochs. In [PERSON] et al. (2013), this stage runs in \(\mathcal{O}(\log N)\) epochs. Therefore, we first move four robots from \(S_{l}^{\prime}\) to \(S_{l}\) perpendicular to \(S_{l}^{\prime}\) and color them side. To make sure that they serve as left and right beacons for the robots on \(S_{l}^{\prime}\), we move two robots in \(S_{l}^{\prime}\) closer to \(c_{i}\) and two robots on \(S_{l}^{\prime}\) closer to \(s_{1}^{\prime}\) to \(S_{l}\). We first provide details on how we move four robots on \(S_{l}^{\prime}\) to \(S_{l}\). Let \(s^{\prime}\) be the robot adjacent to \(c_{i}\) in \(S_{l}^{\prime}\). Robot \(s^{\prime}\) knows \(S_{l}\), as it sees both \(c_{i}\) and \(s_{1}\). Let \(L^{\prime}\) be a line perpendicular to \(S_{l}^{\prime}\) passing through \(s^{\prime}\). Robot \(s^{\prime}\) assumes color side2_moving and moves to the intersection point of \(L^{\prime}\) and \(S_{l}\). Robot \(s^{\prime}\) then assumes color side when it becomes active next time. There are now three robots in \(S_{l}\). The other robots on \(S_{l}^{\prime}\) simply wait facilitating the sequential repositioning since they see a robot moving from \(S_{l}^{\prime}\) to \(S_{l}\). Robot \(s^{\prime\prime}(\
eq s^{\prime})\) on \(S_{l}^{\prime}\) that sees three robots on \(S_{l}\) is then moved to \(S_{l}\) similarly as \(s^{\prime}\). After \(s^{\prime\prime}\) completes its move and assumes color side, there will be four robots on \(S_{l}\). We then move similarly the two robots on \(S_{l}^{\prime}\) closer to point \(s_{1}^{\prime}\) to \(S_{l}\) sequentially. After there are four robots on \(S_{l}\), the robots on \(S_{l}^{\prime}\) that see at least three robots of \(S_{l}\) (with color side or special or corner) move to \(S_{l}\). That is, the robots with color side, special, and corner act as left and right beacons for the robots on side \(S_{l}^{\prime}\) with color side2. They move assuming color side3_moving and change that color to side when they become active next time.