Langlib

Langlib.Classes.RecursivelyEnumerable.Closure.Complement

RE Non-Closure Under Complement #

Key results: haltingUnary_complement_not_RE gives a concrete RE language whose complement is not RE, and RE_notClosedUnderComplement packages this as failure of complement closure.

The concrete witnesses come from Langlib.Classes.RecursivelyEnumerable.Examples.Halting (haltingUnaryLanguage is RE) and Langlib.Classes.RecursivelyEnumerable.Examples.NonHalting (its complement is not RE); this file only assembles them into the closure statements.

Recursively enumerable languages over the unary alphabet are not closed under complement.

RE languages over any nonempty finite alphabet are not closed under complement.