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?
formal-languages
formal-grammars
Rafael Castro
fonte
fonte
Respostas:
Na minha opinião, um sistema formal deveria ter
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).
fonte
De um modo geral, um sistema formal é composto por
Podemos especificar o idioma de fórmulas bem formadas usando uma gramática, mas uma gramática não é ela mesma um sistema formal.
fonte
Uma linguagem formaleu é 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 formalS é:
O que é um aparelho dedutivo que você pode perguntar?
Um conjunto arbitrário de wffs emeu que 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
fonte
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ê é.
fonte
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):
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.
fonte