Correctness of encoded table positions #
The site enumeration is complete, has the expected length, and reproduces the existing encoder when mapped to table values. These facts justify direct reads.
theorem
Complexity.DescriptiveComplexity.mem_encodingTableSites_internal
(V : Vocabulary)
(card : ℕ)
(site : InputSite V card)
:
theorem
Complexity.DescriptiveComplexity.encodingTableSites_length_internal
(V : Vocabulary)
(card : ℕ)
:
theorem
Complexity.DescriptiveComplexity.map_encodingTableSites_internal
{V : Vocabulary}
(A : DecFinStruct V)
:
theorem
Complexity.DescriptiveComplexity.encodingPosition_lt_internal
(V : Vocabulary)
(card : ℕ)
(site : InputSite V card)
:
theorem
Complexity.DescriptiveComplexity.getElem?_encodeStruct_position_internal
{V : Vocabulary}
(A : DecFinStruct V)
(site : InputSite V A.card)
:
theorem
Complexity.DescriptiveComplexity.encodingTableSites_nodup_internal
(V : Vocabulary)
(card : ℕ)
:
(encodingTableSites V card).Nodup
theorem
Complexity.DescriptiveComplexity.getElem?_encodeStruct_header_internal
{V : Vocabulary}
(A : DecFinStruct V)
(i : Fin (A.card + 1))
:
theorem
Complexity.DescriptiveComplexity.encodeStruct_eq_of_values_internal
{V : Vocabulary}
(A : DecFinStruct V)
(bits : List Bool)
(hlen : bits.length = encodingLength V A.card)
(hheader : ∀ (i : Fin (A.card + 1)), bits[↑i]? = some (decide (↑i < A.card)))
(hsites : ∀ (site : InputSite V A.card), bits[encodingPosition V A.card site]? = some (inputSiteValue A site))
: