Está en la página 1de 4

Lenguaje formal

Para algunos lenguajes formales existe una semntica formal que puede interpretar y dar signicado a las frmulas
bien formadas del lenguaje. Sin embargo, una semntica
formal no es condicin necesaria para denir un lenguaje
formal, y eso es una diferencia esencial con los lenguajes
naturales.

Cadenas de caracteres
Frmulas
bien formadas
(Lenguaje formal)

En algunos lenguajes formales, la palabra vaca (esto es,


la cadena de smbolos de longitud cero) est permitida,
notndose frecuentemente mediante , e o .

1 Ejemplo de lenguajes formales

Teoremas

Un conjunto de todas las palabras sobre {a,b}.


La Numeracin de Gdel {an : a es un nmero primo
y n un nmero de Gdel}.
El conjunto de todos los programas sintcticamente
vlidos en un determinado lenguaje de programacin.
El conjunto de todas las frmulas bien formadas en
la lgica de primer orden.

Esta imagen muestra la relacin entre las cadenas de caracteres,


las frmulas bien formadas y los teoremas. En algunos sistemas
formales, sin embargo, el conjunto de los teoremas coincide con
el de las frmulas bien formadas.

2 Especicacin de lenguajes formales

En matemticas, lgica, y ciencias de la computacin, un


lenguaje formal es un lenguaje cuyos smbolos primitivos y reglas para unir esos smbolos estn formalmente
Los lenguajes formales se pueden especicar de una amespecicados.[1][2] Al conjunto de los smbolos primitiplia variedad de formas, como por ejemplo:
vos se le llama el alfabeto (o vocabulario) del lenguaje, y
al conjunto de las reglas se lo llama la gramtica formal (o (Si el lenguaje es regular)
sintaxis). A una cadena de smbolos formada de acuerdo
a la gramtica se la llama una frmula bien formada (o pa Cadenas producidas por una gramtica formal (valabra) del lenguaje. Estrictamente hablando, un lenguaje
se la jerarqua de Chomsky).
formal es idntico al conjunto de todas sus frmulas bien
formadas. A diferencia de lo que ocurre con el alfabeto
Cadenas descriptas por una expresin regular.
(que debe ser un conjunto nito) y con cada frmula bien
Cadenas aceptadas por un autmata, tal como una
formada (que debe tener una longitud tambin nita), un
mquina de Turing.
lenguaje formal puede estar compuesto por un nmero
innito de frmulas bien formadas.
Por ejemplo, un alfabeto podra ser el conjunto {a,b}, y Las cadenas estn formadas por un conjunto de smbolos
una gramtica podra denir a las frmulas bien formadas que pertenecen a un mismo lenguaje, existen dos formas
como aquellas que tienen el mismo nmero de smbolos de componer una sentencia o funcin con los smbolos:
a que b. Entonces, algunas frmulas bien formadas del
lenguaje seran: ab, ba, abab, ababba, etc.; y el lengua Sintaxis
je formal sera el conjunto de todas esas frmulas bien
Semntica
formadas.
1

4 VERDADES CONCERNIENTES A LOS LENGUAJES FORMALES

Operaciones

Se pueden utilizar varias operaciones para producir nuevos lenguajes a partir de otros dados. Supngase que L1
y L2 son lenguajes sobre un alfabeto comn. Entonces:
La concatenacin L1 L2 consiste de todas aquellas
palabras de la forma vw donde v es una palabra de
L1 y w es una palabra de L2
La interseccin L1 &L2 consiste en todas aquellas palabras que estn contenidas tanto en L1 como en L2
La unin L1 |L2 consiste en todas aquellas palabras
que estn contenidas ya sea en L1 o en L2

Armar que un alfabeto es no vaco equivale


a que ese alfabeto contenga al menos un smbolo, ergo, basta demostrar que el conjunto de
lenguajes en el alfabeto {a} es incontable. Como sabemos, un lenguaje L en {a} es un subconjunto de {a} , esto nos lleva a la conclusin de que, el conjunto de todos los lenguajes

en {a} es justamente 2{a} (el conjunto de


todos los subconjuntos o conjunto potencia de
{a} ) y es evidente que {a} es innito (de
hecho; contable), tambin ha sido demostrado
que si A es un conjunto innito (contable o incontable), entonces 2A es mayor que A porque
2A pasa a ser un conjunto innito de rdenes
del innito, al ser mayor, no existir biyeccin
entre A y 2A , lo que hace a 2A un conjunto
innito incontable, la prueba ha nalizado.

El complemento ~L1 consiste en todas aquellas palabras producibles sobre el alfabeto de L1 que no estn
ya contenidas en L1
Demostracin del Teorema 1 Puede derivarse fcilmente que la aseveracin delineada en el Teorema
El cociente L1 /L2 consiste de todas aquellas palabras
1 es verdadera, porque el conjunto de lenguajes en
v para las cuales existe una palabra w en L2 tales que
general es justamente una unin innita de conjunvw se encuentra en L1
tos del tipo 2A , donde A es un conjunto innito
forma W 1 W 2 ...W donde todo W se encuentra en L1 y n 0. (Ntese que esta denicin incluye a
La estrella L1 * consiste de todas aquellas palabras que pueden ser escritas de lacontable.
La intercalacin L1 *L2 consiste de todas aque- Teorema 2 Los lenguajes son conjuntos contables.
llas palabras que pueden ser escritas de la forma
v1 w1 v2 w2 ...v w ; son palabras tales que la concateSe sabe que un lenguaje L en un alfabeto es
nacin v1 ...v est en L1 , y la concatenacin w1 ...w
un subconjunto de y como ya se hizo menest en L2
cin, es innito contable, por ende, L es
como mucho un conjunto innito contable (del
mismo tamao que ), la prueba ha culminaUna pregunta que se hace tpicamente sobre un determido.
nado lenguaje formal L es cun difcil es decidir si incluye o no una determinada palabra v. Este tema es del
dominio de la teora de la computabilidad y la teora de Teorema 3 El conjunto de lenguajes formales es contala complejidad computacional.
ble.
Por contraposicin al lenguaje propio de los seres vivos
y en especial el lenguaje humano, considerados lenguajes
naturales, se denomina lenguaje formal a los lenguajes
articiales propios de las matemticas o la informtica,
los lenguajes articiales son llamados lenguajes formales
(incluyendo lenguajes de programacin). Sin embargo, el
lenguaje humano tiene una caracterstica que no se encuentra en los lenguajes de programacin: la diversidad.
En 1956, Noam Chomsky cre la jerarqua de Chomsky
para organizar los distintos tipos de lenguaje formal.

Verdades concernientes a los lenguajes formales

Teorema 1 El conjunto de lenguajes en general (incluyendo los no formales) es incontable.


Lema 1 El conjunto de lenguajes en un alfabeto no vaco
dado es incontable.

Como sabemos un lenguaje formal puede ser


generado por una gramtica formal (o de estructura de frase), lo cual implica que todo lenguaje formal puede ser aceptado por una MT,
lo que a su vez implica que se puede denir
una biyeccin entre el conjunto de lenguajes
formales y el conjunto de las MTs (debido a la
propiedad transitiva de la relacin existe biyeccin entre A y B "). Para demostrar el teorema se utilizar el concepto de codicacin
de MTs que se introduce en el estudio de las
MTs universales, generalmente se codica una
MT con una funcin que tiene precisamente
como dominio al conjunto de las MTs (lo llamaremos X ) y como codominio {0, 1} , esa
funcin puede ser una biyeccin si el codominio pasa a ser Y (un subconjunto de {0, 1}
) y como {0, 1} es contable, ese subconjunto tambin ser contable y como existe dicha
biyeccin (entre X e Y ), la asercin ha sido
demostrada, prueba concluida.

Vase tambin
Teora de la computacin
Ciencias de la computacin
Lenguaje de especicacin
Lenguaje formalizado
Notacin matemtica

Notas y referencias

[1] Mellema, Gregory, formal language (en ingls), The


Oxford Companion to Philosophy, Oxford University
Press, http://www.oxfordreference.com/views/ENTRY.
html?subview=Main&entry=t116.e929, consultado el 13
de octubre de 2009
[2] Shapiro, Stewart, Classical Logic, en Edward N.
Zalta (en ingls), Stanford Encyclopedia of Philosophy (Winter 2009 Edition), http://plato.stanford.edu/
archives/win2009/entries/logic-classical/, Again, a formal language is a recursively dened set of strings on a
xed alphabet.

Enlaces externos
Autmatas y lenguajes - Libro electrnico gratuito
por Ramon F. Brena Pinero.

8 TEXT AND IMAGE SOURCES, CONTRIBUTORS, AND LICENSES

Text and image sources, contributors, and licenses

8.1

Text

Lenguaje formal Fuente: http://es.wikipedia.org/wiki/Lenguaje%20formal?oldid=77121060 Colaboradores: SpeedyGonzalez, ManuelGR, Robbot, Zwobot, Javier Carro, Interwiki, Ascnder, Sms, Danakil, Tano4595, Robotito, Ivan.Romero, Renabot, AlfonsoERomero,
Airunp, Rembiapo pohyiete (bot), RobotQuistnix, Unf, Chobot, Yrbot, Amads, BOTijo, Mortadelo2005, Echani, Maldoror, CEM-bot,
Rbrena, Bienchido, JMCC1, Davius, Thijs!bot, RoyFocker, Egaida, Mansoncc, TXiKiBoT, Cfau, Netito777, MONIMINO, Idioma-bot,
Kenrych, Fremen, AchedDamiman, VolkovBot, Technopat, Matdrodes, AlleborgoBot, YonaBot, Paco79, SieBot, Ensada, Loveless, Cobalttempest, Greek, Relleu, Fadesga, Farisori, Eduardosalg, Alexbot, UA31, AVBOT, TyposBot, MastiBot, Diegusjaimes, Arjuno3, Andreasmperu, Luckas-bot, Luis Felipe Schenone, ArthurBot, Xqbot, Jkbw, Jerowiki, PatruBOT, KamikazeBot, Waeswaes, GrouchoBot,
Allforrous, JackieBot, Waka Waka, Acratta, Elvisor, Jjmaster, Addbot, JacobRodrigues y Annimos: 74

8.2

Images

Archivo:Entidades_sintcticas_2.svg Fuente: http://upload.wikimedia.org/wikipedia/commons/5/5f/Entidades_sint%C3%A1cticas_2.


svg Licencia: CC BY-SA 3.0 Colaboradores: Trabajo propio Artista original: Luis Felipe Schenone

8.3

Content license

Creative Commons Attribution-Share Alike 3.0