OAI/Combinatorics/Automata/Network.lean
41 declarations, 0 contain sorry, 0 declared as axioms
- abbrev
OAI.OneWayLiveness.CellNetwork.Edgeline 13Source documentation
Edges of all crossing and stay candidates, together with all outward slots. Every outward slot is an edge to its own external leaf.
abbrev Edge (n : ℕ) := (Fin (n + 1) × Slot Q) ⊕ …
Mentions: OAI.OneWayLiveness.CellNetwork.Slot
- abbrev
OAI.OneWayLiveness.CellNetwork.WholeIncline 15 - def
OAI.OneWayLiveness.CellNetwork.outCellline 17 - def
OAI.OneWayLiveness.CellNetwork.edgeIncline 21Source documentation
Locate an oriented incidence in its cell, or at its external leaf.
def edgeInc (n : ℕ) : Edge Q n × Bool → WholeInc Q n | (.inl (j,slot),b) => if slot.1 ^^ b then .inl (j.castSucc, .inl (true,slot)) else .inl (j.succ, .inl (false,slot)) | (.inr (.inl (i,pq)),b) => .inl (i,.inr (pq,b)) | (.inr (.inr (s,slot)),b) => if b then .inl (outCell n s,.inl (s,slot)) else .inr (s,slot)Mentions: OAI.OneWayLiveness.CellNetwork.Edge, OAI.OneWayLiveness.CellNetwork.WholeInc, OAI.OneWayLiveness.CellNetwork.outCell
- def
OAI.OneWayLiveness.CellNetwork.incEdgeline 29 - lemma
OAI.OneWayLiveness.CellNetwork.incEdge_edgeIncline 39 - lemma
OAI.OneWayLiveness.CellNetwork.edgeInc_incEdgeline 46 - def
OAI.OneWayLiveness.CellNetwork.incidenceEquivline 68 - abbrev
OAI.OneWayLiveness.CellNetwork.Keyline 76Source documentation
A complete proposed successor, including its source and target state.
abbrev Key := Move × Q × Q
Mentions: OAI.OneWayLiveness.Move
- def
OAI.OneWayLiveness.CellNetwork.sourceIncline 78 - lemma
OAI.OneWayLiveness.CellNetwork.sourceInc_injectiveline 83 - def
OAI.OneWayLiveness.CellNetwork.sourceAttachline 89 - lemma
OAI.OneWayLiveness.CellNetwork.sourceAttach_injectiveline 93 - lemma
OAI.OneWayLiveness.CellNetwork.sourceAttach_eq_stateline 108 - def
OAI.OneWayLiveness.CellNetwork.outwardline 122Source documentation
Only the side facing away from the input is outward.
def outward : Symbol Alpha → Bool → Bool | .left, s => !s | .right, s => s | .letter _, _ => false
Mentions: OAI.OneWayLiveness.Symbol
- def
OAI.OneWayLiveness.CellNetwork.testSlotline 127 - def
OAI.OneWayLiveness.CellNetwork.localVertexline 129 - def
OAI.OneWayLiveness.CellNetwork.edgeKeyline 143Source documentation
An edge is uniquely determined by the cell, move and states of its source proposal, or by its outward slot.
def edgeKey (n : ℕ) : Edge Q n → (Fin (n + 2) × Key Q) ⊕ (Bool × Slot Q) | .inl (j,(true,p,q)) => .inl (j.castSucc,(.right,p,q)) | .inl (j,(false,p,q)) => .inl (j.succ,(.left,p,q)) | .inr (.inl (i,(p,q))) => .inl (i,(.stay,p,q)) | .inr (.inr z) => .inr z
Mentions: OAI.OneWayLiveness.CellNetwork.Edge, OAI.OneWayLiveness.CellNetwork.Key, OAI.OneWayLiveness.CellNetwork.Slot
- lemma
OAI.OneWayLiveness.CellNetwork.edgeKey_injectiveline 149 - abbrev
OAI.OneWayLiveness.CellNetwork.Vertexline 157 - def
OAI.OneWayLiveness.CellNetwork.decorateline 160 - lemma
OAI.OneWayLiveness.CellNetwork.decorate_injectiveline 165 - def
OAI.OneWayLiveness.CellNetwork.destinationline 177 - def
OAI.OneWayLiveness.CellNetwork.graphline 184 - def
OAI.OneWayLiveness.CellNetwork.wholeVertexline 189 - lemma
OAI.OneWayLiveness.CellNetwork.outward_internalline 193 - lemma
OAI.OneWayLiveness.CellNetwork.graph_vertexline 203 - def
OAI.OneWayLiveness.CellNetwork.wholePermline 216Source documentation
The same local cyclic orders are used at every occurrence of a symbol.
def wholePerm (w : List Alpha) (r : Symbol Alpha → Equiv.Perm (Incidence Q)) : Equiv.Perm (WholeInc Q w.length) where …Mentions: OAI.OneWayLiveness.Symbol, OAI.OneWayLiveness.CellNetwork.Incidence, OAI.OneWayLiveness.CellNetwork.WholeInc
- lemma
OAI.OneWayLiveness.CellNetwork.wholePerm_powline 227 - def
OAI.OneWayLiveness.CellNetwork.ordersline 234 - def
OAI.OneWayLiveness.CellNetwork.wholeOrderline 237 - def
OAI.OneWayLiveness.CellNetwork.graphOrderline 260 - lemma
OAI.OneWayLiveness.CellNetwork.graphOrder_applyline 277 - def
OAI.OneWayLiveness.CellNetwork.stateVertexline 284Source documentation
State configurations embed without identifying any added leaves.
def stateVertex (w : List Alpha) (c : Machine.Config (Q := Q) w) : Vertex Q w.length := …
Mentions: OAI.OneWayLiveness.Machine.Config, OAI.OneWayLiveness.CellNetwork.Vertex
- lemma
OAI.OneWayLiveness.CellNetwork.stateVertex_injectiveline 287 - lemma
OAI.OneWayLiveness.CellNetwork.graph_step_from_stateline 291 - lemma
OAI.OneWayLiveness.CellNetwork.graph_reach_stateline 356 - lemma
OAI.OneWayLiveness.CellNetwork.graph_terminalline 375 - lemma
OAI.OneWayLiveness.CellNetwork.scanned_outCellline 382 - lemma
OAI.OneWayLiveness.CellNetwork.test_destinationline 388 - lemma
OAI.OneWayLiveness.CellNetwork.test_stepline 396