Two-way complementation: network #
Adapted from OpenAI's formalization at revision adc7f1241b42e322a6451854ab7e4b4c146bf78a.
Source: https://github.com/openai/math/blob/adc7f1241b42e322a6451854ab7e4b4c146bf78a/lean/OAI/Combinatorics/TwoWayAutomata/Network.lean
Imports, namespaces, module visibility, documentation, and formatting are adapted for complexitylib. The source theorem statements and mathematical arguments are retained.
@[simp]
theorem
Complexity.FiniteAutomaton.Complementation.Internal.wordDiagram_nil
{Sigma : Type u_1}
{m : ℕ}
(d : Sigma → Diagram m)
:
theorem
Complexity.FiniteAutomaton.Complementation.Internal.wordDiagram_append
{Sigma : Type u_1}
{m : ℕ}
(d : Sigma → Diagram m)
(u v : List Sigma)
:
structure
Complexity.FiniteAutomaton.Complementation.Internal.Network
(m : ℕ)
(V : Type u_1)
:
Type u_1
A finite-path network with labelled entrances and exits at both boundaries.
- edge : SetRel V V
Internal transitions.
Left boundary entrance.
Right boundary entrance.
Left boundary exit.
Right boundary exit.
Instances For
def
Complexity.FiniteAutomaton.Complementation.Internal.Network.join
{m : ℕ}
{V : Type u_1}
{W : Type u_2}
(N : Network m V)
(M : Network m W)
:
Join two networks, wiring the adjacent exits to entrances in both directions.
Equations
- One or more equations did not get rendered due to their size.