Oui, ça doit être fini. Imaginez que vous ayez cet ensemble infini de correspondances possibles, et votre entrée est 011
. Pourriez-vous jamais le rejeter? Souhaitez-vous jamais manquer de matchs pour vérifier?
Y a-t-il un langage qui, selon cette définition, ne serait pas régulier ? Qu'en est-il de l'ensemble de toutes les paires de programmes et d'entrées de sorte que le programme donné s'arrête sur l'entrée donnée?
Maintenant, si vous aviez un programme qui énumère les chaînes dans une langue dans un ordre lexicographique ...
Mise à jour
Pour clarifier un peu en fonction des commentaires dans les commentaires, la raison pour laquelle toutes les langues de ce formulaire ne sont pas régulières est par définition. Si, par exemple, vous recherchez la preuve du théorème de Kleene, cela dépend du fait qu'une expression régulière doit être finie pour prouver qu'elle génère une machine à états finis.
Pourquoi définissons-nous le langage «normal» de cette façon? Parce que chaque langue formelle est un sous-ensemble des chaînes d'un alphabet, et chaque ensemble de chaînes peut être exprimé comme une union de singletons, donc si nous appelions n'importe quel ensemble de chaînes une langue «régulière», la langue régulière ne serait qu'un synonyme de la langue . Ce n'est pas une définition très utile, d'autant plus que nous ne pouvons pas réellement l'implémenter dans le matériel ou le logiciel. Nous ne pouvons pas stocker une liste infinie arbitraire n'importe où ni construire une machine à états infinis.
Comme je l'ai laissé entendre, cependant, si vous avez un moyen d'énumérer toutes les chaînes dans une langue dans l'ordre, vous pouvez construire un décideur à partir de cela (acceptez lorsque vous voyez cette chaîne exacte, rejetez lorsque vous rencontrez une chaîne qui vient après celle que vous recherche) et vice versa (pour chaque chaîne dans l'ordre, exécutez-la dans le décideur et affichez-la si et seulement si elle est acceptée). Donc, si nous considérions chaque langue énumérable comme régulière , chaque langue décidable serait «régulière» et nous aurions besoin d'un nouveau terme pour les langues reconnues par les machines à états finis et leurs encodages équivalents comme expressions finies.