A binary encoding of one-way liveness #
The NFA scans a relation truth table using three groups of vertex counters. A two-bit encoding of four scanner letters adds a three-valued bit buffer.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq (Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit a) Complexity.FiniteAutomaton.BinaryLiveness.Letter.row = isFalse ⋯
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq (Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit a) Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop = isFalse ⋯
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq Complexity.FiniteAutomaton.BinaryLiveness.Letter.row (Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit a) = isFalse ⋯
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq Complexity.FiniteAutomaton.BinaryLiveness.Letter.row Complexity.FiniteAutomaton.BinaryLiveness.Letter.row = isTrue ⋯
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop (Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit a) = isFalse ⋯
- Complexity.FiniteAutomaton.BinaryLiveness.instDecidableEqLetter.decEq Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop = isTrue ⋯
Instances For
Equations
- Complexity.FiniteAutomaton.BinaryLiveness.instFintypeState = Fintype.ofEquiv (Fin (n✝ + 1) ⊕ Fin (n✝ + 1) ⊕ Fin (n✝ + 1)) (Complexity.FiniteAutomaton.BinaryLiveness.State.proxyTypeEquiv n✝)
Scan the selected relation row and nondeterministically choose a true entry.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.FiniteAutomaton.BinaryLiveness.rules (Complexity.FiniteAutomaton.BinaryLiveness.State.carry i) x✝ = {Complexity.FiniteAutomaton.BinaryLiveness.State.carry i}
- Complexity.FiniteAutomaton.BinaryLiveness.rules x✝¹ x✝ = ∅
Instances For
List the first k entries of a row in decreasing column order.
Equations
Instances For
A row marker followed by all entries in decreasing column order.
Equations
Instances For
The truth-table rows of a relation in increasing source-vertex order.
Equations
Instances For
Encode each scanner letter by a pair of bits.
Equations
- Complexity.FiniteAutomaton.BinaryLiveness.letterBits (Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit a) = [false, a]
- Complexity.FiniteAutomaton.BinaryLiveness.letterBits Complexity.FiniteAutomaton.BinaryLiveness.Letter.row = [true, false]
- Complexity.FiniteAutomaton.BinaryLiveness.letterBits Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop = [true, true]
Instances For
Decode a pair of bits into a scanner letter.
Equations
- Complexity.FiniteAutomaton.BinaryLiveness.decode false x✝ = Complexity.FiniteAutomaton.BinaryLiveness.Letter.bit x✝
- Complexity.FiniteAutomaton.BinaryLiveness.decode true false = Complexity.FiniteAutomaton.BinaryLiveness.Letter.row
- Complexity.FiniteAutomaton.BinaryLiveness.decode true true = Complexity.FiniteAutomaton.BinaryLiveness.Letter.stop
Instances For
Buffer the first bit, then execute the transition named by the bit pair.
Equations
Instances For
The binary truth-table encoding of a relation.
Equations
Instances For
States of the binary liveness NFA for relations on n + 2 vertices.
Equations
Instances For
A binary NFA with 9 * (n + 2) states and exponential two-way deterministic cost.
Equations
Instances For
Encode a relation on n + 2 vertices as a binary word.