Langlib

Langlib.Classes.ContextFree.Inclusion.StrictRecursivelyEnumerable

Strict Inclusions in the Chomsky Hierarchy #

This file proves strict subset relationships between the language classes in the Chomsky hierarchy, using results already established elsewhere in the project.

Main results #

theorem is_RE_of_is_CF_strict :
(∀ (T : Type) (L : Language T), is_CF Lis_RE L) ∃ (T : Type) (L : Language T), is_RE L ¬is_CF L

The class of context-free languages is a strict subclass of the class of recursively enumerable languages: every CF language is RE, but there exists an RE language that is not CF.

theorem CF_subclass_RE_and_exists_strict :
(∀ (T : Type), CF RE) ∃ (T : Type), CF RE

A class-level formulation of CF_strictSubclass_RE: for every alphabet, CFRE, and for some alphabet the inclusion is strict.

theorem CF_strict_subclass_RE {T : Type} [Fintype T] (hT : 3 Fintype.card T) :

For any alphabet with at least 3 symbols, context-free languages form a strict subclass of recursively enumerable languages.