w ←[1‿0‿0,1‿0‿0,1‿0‿0]
Any←{∨´⥊𝕨∧𝕩}
-ProposeN←(Any⟜self)∧(Any⟜near)∧(¬Any⟜n)
-ProposeS←(Any⟜self)∧(Any⟜near)∧(Any⟜n)∧(¬Any⟜s)
-ProposeE←(Any⟜self)∧(Any⟜near)∧(Any⟜n)∧(Any⟜s)∧(¬Any⟜e)
-ProposeW←(Any⟜self)∧(Any⟜near)∧(Any⟜n)∧(Any⟜s)∧(Any⟜e)∧(¬Any⟜w)
-Propose0←(Any⟜self)∧(¬Any⟜near)∨(Any⟜n)∧(Any⟜s)∧(Any⟜e)∧(Any⟜w)
+ProposeN←{∧´(𝕩⊸Any)¨⟨self,near⟩∧(¬𝕩 Any n)}
+ProposeS←{∧´(𝕩⊸Any)¨⟨self,near,n⟩∧(¬𝕩 Any s)}
+ProposeE←{∧´(𝕩⊸Any)¨⟨self,near,n,s⟩∧(¬𝕩 Any e)}
+ProposeW←{∧´(𝕩⊸Any)¨⟨self,near,n,s,e⟩∧(¬𝕩 Any w)}
+Propose0←{∧´(𝕩⊸Any)¨⟨self,near,n,s,e,w⟩}
Pad←{ »˘»(2+≢𝕩)↑𝕩 }
proposals←{ Pad 𝕏⎉2⟨3,3⟩↕map }¨proposers
collisions← 1<+´⥊ shifts { 𝕎 𝕩 }¨ proposals
stay← unshifts { 𝕩∧ 𝕎 collisions }¨ proposals
- (∨´stay)∨(∨´ shifts { 𝕎 𝕩 }¨ proposals∧¬stay)
+ map↩(∨´stay)∨(∨´ shifts { 𝕎 𝕩 }¨ proposals∧¬stay)
}
Main←Round⍟1