Relação entre sistema formal e linguagens formais

7

Em um curso de ciência da computação, é comum estudar a hierarquia de linguagens formais, gramáticas, autômatos e máquinas de Turing. Gostaria de saber qual é a relação desses objetos com sistemas formais.

Por exemplo, o cálculo lambda é considerado um sistema formal. Sua gramática também seria considerada um sistema formal?

Rafael Castro
fonte
Estou perguntando se uma gramática formal pode ser categorizada como um sistema formal. O inglês não é o meu idioma habitual, então provavelmente minha frase poderia ser melhor escrita. Sinta-se livre para reescrevê-lo, se quiser.
Rafael Castro
Bem, eu teria editado se estivesse claro para mim o que você quis dizer. Mas tudo bem, tentei editar com um possível palpite sobre o que você poderia ter significado. A edição representa o que você estava tentando perguntar?
DW

Respostas:

5

Na minha opinião, um sistema formal deveria ter

  1. Um conjunto bem definido de símbolos .
  2. Uma gramática bem definida , que informa como as fórmulas bem formadas são construídas a partir dos símbolos.
  3. Um ou mais cálculos de inferência bem definidos , que podem funcionar de maneira semelhante ao cálculo de inferência associado a uma gramática.
  4. Uma ou mais semânticas , permitindo atribuir significado às fórmulas, proposições e afirmações do sistema formal.

Mesmo que o último ponto possa ser contestado, ele é o responsável pela diferença significativa entre um sistema formal e uma gramática ou uma linguagem formal. O cálculo de inferência de um sistema formal pode de fato coincidir com o cálculo de alguma gramática, mesmo assim normalmente não coincide com o cálculo da gramática do próprio sistema formal.

(Mesmo uma gramática pode ter cálculos de inferência múltipla, mas o uso de cálculos de inferência múltipla para um sistema formal é mais comum na lógica, onde você deseja provar coisas como eliminação de cortes ou usar um sistema formal como base para uma hierarquia de sistemas formais.)

Uma linguagem formal está associada a uma gramática e a um sistema formal. Para um sistema formal, o conjunto de fórmulas bem formadas e o conjunto de fórmulas bem formadas válidas são linguagens formais. A linguagem formal é um tipo de equivalência resultante da ignorância de estruturas adicionais, como a semântica do cálculo de inferência ou as partes mais refinadas de uma gramática. É um elo óbvio entre sistemas formais e gramáticas, mas sistemas e gramáticas formais podem estar mais próximos do que expressáveis ​​por uma linguagem formal (por exemplo, eles podem ter um cálculo de inferência equivalente).

Thomas Klimpel
fonte
Existe alguma referência sobre este assunto? Eu gostaria de ler um texto que discuta isso.
Rafael Castro
Gosto da Stanford Encyclopedia of Philosophy, por exemplo: plato.stanford.edu/entries/goedel-incompleteness , plato.stanford.edu/entries/hilbert-program ou plato.stanford.edu/entries/frege . Mas você também pode procurar "sistema formal" em uma enciclopédia normal, como a wikipedia ou a Encyclopædia Britannica. O uso de sistemas formais surgirá na álgebra universal (lógica equacional e lógica quase-equacional), lógica (cálculo proposicional, cálculo de predicados, lógica modal), em ciência da computação (autômatos e linguagens formais), ...
Thomas Klimpel
5

De um modo geral, um sistema formal é composto por

  • uma linguagem que distingue suas fórmulas bem formadas daquelas cordas que não são bem formadas
  • algum tipo de semântica que diz quais fórmulas são verdadeiras e quais não são
  • axiomas e regras de inferência que tentam gerar, computacionalmente, exatamente aquelas fórmulas verdadeiras, dada a semântica.

Podemos especificar o idioma de fórmulas bem formadas usando uma gramática, mas uma gramática não é ela mesma um sistema formal.

Ray Toal
fonte
2

Uma linguagem formal eu é composto de:

  • um alfabeto de símbolos, ou seja, um conjunto de símbolos com a particularidade de que cada um desses símbolos pode ser especificado sem referência a qualquer interpretação. O alfabeto de uma linguagem formaleu é frequentemente referido como Σ.

  • uma gramática que determina quais seqüências de símbolos emΣsão fórmulas bem definidas (geralmente chamadas de wffs ) emeu.

Um sistema formal S é:

  • Uma linguagem formal eu
  • Um aparelho dedutivo.

O que é um aparelho dedutivo que você pode perguntar?

  • Um conjunto arbitrário de wffs emeuque são axiomas

  • Um conjunto de regras de inferência que determina quais wffs têm uma relação de "consequência imediata" entre eles.

Aqui estão algumas excelentes referências, se você deseja começar ou mergulhar em coisas mais carnudas:

  • Metalogic: Uma introdução à metateoria da lógica de primeira ordem padrão de Geoffrey Hunter.

  • Autômatos, linguagens formais e sistemas algébricos de Masami Ito

Erwan Aaron
fonte
1

O que você vê em um curso introdutório de linguagens formais é apenas uma pequena amostra da multiplicidade de modelos usados ​​para definir e estudar linguagens (ou funções, números etc.) formalmente, isto é, em relação à sua estrutura sintática - que possui um componente dinâmico, que chamamos de "computação" -, deixando de lado o que poderia ser considerado seu conteúdo , para ser "recolocado" a essas estruturas a posteriori , ou de modo algum. Esses diferentes modelos vêm de diferentes contextos e têm diferentes aplicações, tanto teóricas quanto práticas.

A linguagem usada para descrever esses modelos também pode ser formalizada, para que você tenha gramáticas como sistemas formais e como idiomas. Esse tipo de circularidade é problemático, mas inevitável e, em muitos casos, desejável.

A noção de sistema formal como é usada na ciência da computação tem a ver historicamente com a investigação das propriedades formais dos sistemas de lógica matemática. As definições padrão que você verá em outras respostas vêm dessa origem comum. Existem outros tipos de sistemas formais em outros campos de pesquisa, o termo é polissêmico. A distinção entre conceitos de forma e conteúdo depende de onde você é.

André Souza Lemos
fonte
0

Estou procurando a mesma pergunta e parece que não há clareza. Espero que alguém possa nos dar.

Veja, por exemplo, o que Levelt declara em seu livro (" Uma Introdução à Teoria das Línguas Formais e dos Autômatos " Cap1, p. 1):

Do ponto de vista matemático, as gramáticas são SISTEMAS FORMAIS , como máquinas de Turing, programas de computador, lógica preposicional, teorias de inferência, redes neurais e assim por diante. [ 1 ]

Apesar disso, é realmente uma questão que outras respostas apontam aqui, porque as gramáticas formais parecem realmente perder alguns atributos fundamentais (isto é, aparelhos dedutivos) a serem marcados como sistemas formais.

No entanto, se uma máquina de Turing é um sistema formal [ 2 ], e linguagens formais (e suas representações, gramáticas) são equivalentes a elas: por que as gramáticas também não são um sistema formal?

Espero que essa consideração, embora o evento não seja conclusivo, possa animar uma resposta melhorada para esse problema.

Gabrer
fonte