OAI/Combinatorics/Automata/Cells.lean
26 declarations, 0 contain sorry, 0 declared as axioms
- lemma
OAI.OneWayLiveness.Pairing.transport_compatibleline 9 - def
OAI.OneWayLiveness.Pairing.closeline 18Source documentation
Close all internal tips with a matching of local joins.
noncomputable def close (lanes : Pairing (P ⊕ I)) (joins : Pairing I) : Pairing P := …
Mentions: OAI.OneWayLiveness.Pairing
- lemma
OAI.OneWayLiveness.Pairing.close_compatibleline 21 - lemma
OAI.OneWayLiveness.Pairing.ofInvolution_compatibleline 33 - abbrev
OAI.OneWayLiveness.CellNetwork.Slotline 45Source documentation
truedirects the prospective successor to the right.abbrev Slot := Bool × Q × Q
- abbrev
OAI.OneWayLiveness.CellNetwork.Portline 46 - abbrev
OAI.OneWayLiveness.CellNetwork.Boundaryline 47 - abbrev
OAI.OneWayLiveness.CellNetwork.Incidenceline 48 - abbrev
OAI.OneWayLiveness.CellNetwork.Tipline 49 - abbrev
OAI.OneWayLiveness.CellNetwork.LocalVertexline 50 - def
OAI.OneWayLiveness.CellNetwork.tipRoleline 54Source documentation
A lane's absolute label changes its incoming/outgoing role between opposite sides of a cell.
def tipRole (side lane : Bool) : Bool := side ^^ lane
- lemma
OAI.OneWayLiveness.CellNetwork.tipRole_twiceline 55 - lemma
OAI.OneWayLiveness.CellNetwork.tipRole_neline 56 - def
OAI.OneWayLiveness.CellNetwork.laneMateline 60Source documentation
All stay candidates are allowed locally; a nontransition candidate will be attached to a fresh leaf. This leaves the external degree unchanged.
def laneMate : ((Boundary Q × Bool) ⊕ Tip Q) → ((Boundary Q × Bool) ⊕ Tip Q) | .inl (b,l) => .inr (.inl b, tipRole b.1 l) | .inr (.inl b,t) => .inl (b, tipRole b.1 t) | .inr (.inr (pq,r),t) => .inr (.inr (pq,!r),!t)
Mentions: OAI.OneWayLiveness.CellNetwork.Boundary, OAI.OneWayLiveness.CellNetwork.Tip, OAI.OneWayLiveness.CellNetwork.tipRole
- lemma
OAI.OneWayLiveness.CellNetwork.laneMate_involutiveline 65 - lemma
OAI.OneWayLiveness.CellNetwork.laneMate_neline 67 - def
OAI.OneWayLiveness.CellNetwork.lanesline 70 - def
OAI.OneWayLiveness.CellNetwork.joinMateline 73 - lemma
OAI.OneWayLiveness.CellNetwork.joinMate_involutiveline 77 - lemma
OAI.OneWayLiveness.CellNetwork.joinMate_neline 79 - def
OAI.OneWayLiveness.CellNetwork.joinsline 82 - lemma
OAI.OneWayLiveness.CellNetwork.lanes_compatibleline 85 - lemma
OAI.OneWayLiveness.CellNetwork.joins_compatibleline 97 - def
OAI.OneWayLiveness.CellNetwork.portsEquivline 108Source documentation
The two sides use exactly the same slot/lane labels.
def portsEquiv : (Boundary Q × Bool) ≃ (Port Q ⊕ Port Q) where …
Mentions: OAI.OneWayLiveness.CellNetwork.Boundary, OAI.OneWayLiveness.CellNetwork.Port
- def
OAI.OneWayLiveness.CellNetwork.diagramline 114 - lemma
OAI.OneWayLiveness.CellNetwork.diagram_compatibleline 117