From Esolang
Jump to navigation Jump to search

A Bigot (or bigotous program) is an extension of a Narcissist. It is a program (or Turing machine encoding) that decides the following language: The set of programs (or encodings of TMs) that decide this language. In other words, it only accepts programs that are just like itself.

This concept was independently dreamed up by David Rutter (User:Quintopia) in 2010 as a natural generalization of the Narcissist concept. Notice that a Bigot is not a Narcissist, as Narcissists only accept their own listing. A Bigot also accepts its own listing, but many other programs besides.

Let us call the set of Bigots a particular Bigot accepts its class, since they define an equivalence class under the relation "accepts the same language." Since a program that accepts such a language can contain any number of null operations, the language will be infinite in size. However, we have no reason to believe there is only one such language. Indeed, there may be infinitely many. In general, it will most likely depend on the computational class of the language one is working with.

Note that the existence of such a program is impossible in any Turing-complete language, as this would contradict Rice's theorem.

So, an open question is this: What is the maximum computational power a language can have, and still admit a bigotous program?

See also