Encodings #
This file contains the definition of an encoding, a map from a type to strings in an alphabet, used in defining computability by Turing machines. It also contains several examples:
Examples #
encodingNatBool: a binary encoding ofℕin a simple alphabet.encodingNatΓ': a binary encoding ofℕin the alphabet used for TM's.unaryEncodingNat: a unary encoding ofℕencodingBoolBool: an encoding ofBool.encodingList: an encoding ofList αin the alphabetα.encodingProd: an encoding ofα × βfrom encodings ofαandβ.
An encoding of a type in a certain alphabet, together with a decoding.
- encode : α → List Γ
The encoding function
The decoding function
Decoding and encoding are inverses of each other.
Instances For
Equations
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.blank Computability.Γ'.blank = isTrue ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.blank (Computability.Γ'.bit b) = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.blank Computability.Γ'.bra = isFalse Computability.instDecidableEqΓ'.decEq._proof_4
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.blank Computability.Γ'.ket = isFalse Computability.instDecidableEqΓ'.decEq._proof_5
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.blank Computability.Γ'.comma = isFalse Computability.instDecidableEqΓ'.decEq._proof_6
- Computability.instDecidableEqΓ'.decEq (Computability.Γ'.bit b) Computability.Γ'.blank = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq (Computability.Γ'.bit a) (Computability.Γ'.bit b) = if h : a = b then h ▸ isTrue ⋯ else isFalse ⋯
- Computability.instDecidableEqΓ'.decEq (Computability.Γ'.bit b) Computability.Γ'.bra = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq (Computability.Γ'.bit b) Computability.Γ'.ket = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq (Computability.Γ'.bit b) Computability.Γ'.comma = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.bra Computability.Γ'.blank = isFalse Computability.instDecidableEqΓ'.decEq._proof_12
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.bra (Computability.Γ'.bit b) = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.bra Computability.Γ'.bra = isTrue ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.bra Computability.Γ'.ket = isFalse Computability.instDecidableEqΓ'.decEq._proof_14
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.bra Computability.Γ'.comma = isFalse Computability.instDecidableEqΓ'.decEq._proof_15
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.ket Computability.Γ'.blank = isFalse Computability.instDecidableEqΓ'.decEq._proof_16
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.ket (Computability.Γ'.bit b) = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.ket Computability.Γ'.bra = isFalse Computability.instDecidableEqΓ'.decEq._proof_18
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.ket Computability.Γ'.ket = isTrue ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.ket Computability.Γ'.comma = isFalse Computability.instDecidableEqΓ'.decEq._proof_19
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.comma Computability.Γ'.blank = isFalse Computability.instDecidableEqΓ'.decEq._proof_20
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.comma (Computability.Γ'.bit b) = isFalse ⋯
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.comma Computability.Γ'.bra = isFalse Computability.instDecidableEqΓ'.decEq._proof_22
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.comma Computability.Γ'.ket = isFalse Computability.instDecidableEqΓ'.decEq._proof_23
- Computability.instDecidableEqΓ'.decEq Computability.Γ'.comma Computability.Γ'.comma = isTrue ⋯
Instances For
Equations
- Computability.inhabitedΓ' = { default := Computability.Γ'.blank }
A binary Encoding of ℕ in Bool.
Equations
- Computability.encodingNatBool = { encode := Computability.encodeNat, decode := fun (n : List Bool) => some (Computability.decodeNat n), decode_encode := Computability.encodingNatBool._proof_1 }
Instances For
A decoding function from List Bool to Bool.
Equations
- Computability.decodeBool (b :: tail) = b
- Computability.decodeBool x✝ = default
Instances For
Equations
Given an Encoding of α and β,
constructs an Encoding of α × β by concatenating the encodings,
mapping the symbols from the first encoding with Sum.inl
and those from the second with Sum.inr.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Deprecated aliases for FinEncoding and unbundled Γ #
Deprecated: Use inferInstanceAs (Fintype Γ) instead.
Equations
Instances For
Deprecated alias for encodingNatBool.
Instances For
Deprecated alias for encodingNatΓ'.
Instances For
Deprecated alias for unaryEncodingNat.
Instances For
Deprecated alias for encodingBoolBool.
Instances For
Deprecated alias for encodingList.
Equations
Instances For
Deprecated alias for encodingProd.
Equations
- Computability.finEncodingPair ea eb = Computability.encodingProd ea eb
Instances For
Deprecated alias for Encoding.card_le_aleph0.