Langlib

Langlib.Classes.ContextSensitive.Inclusion.StrictRecursivelyEnumerable

Strict Inclusion: CS ⊊ RE #

Context-sensitive languages form a strict subclass of the recursively enumerable languages over every finite nonempty terminal alphabet. The result follows by composing the already strict inclusion CSRecursive with the inclusion RecursiveRE.

The nonemptiness threshold is optimal. If the terminal alphabet is empty, then List T contains only the empty word, so there are only two languages; both are context-sensitive. Consequently CS and RE coincide rather than being strictly separated in that case.

Main declarations #

Context-sensitive languages form a strict subclass of recursively enumerable languages over every nonempty finite, computably encoded terminal alphabet.

theorem CS_strict_subclass_RE_of_card {T : Type} [Fintype T] (hT : 1 Fintype.card T) :
CSRE

Context-sensitive languages form a strict subclass of recursively enumerable languages over every finite terminal alphabet with at least 1 element. The alphabet-size hypothesis supplies all computability instances internally and is best possible: strictness fails for the empty alphabet.