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.