sexta-feira, 21 de novembro de 2008

É muito difícil!!

Eu falei que ia fazer um programa de computador que prova teoremas. É muito difícil fazer isso. É possível mas dá muito trabalho. Não sei quanto tempo vou levar. Pra quem gostaria de ver um desses, entre no site http://www.metamath.org
Especialmente difícil é fazer substituição de uma variável numa fórmula. Enfim, quando tiver pronto, eu devo pôr o algoritmo aqui, deve ficar bem grande.
Se eu tivesse um pouco mais organizado com os estudos estaria postando mais.
Por enquanmto é só fase de testes mesmo.
Então se poucos estão lendo, sem muitos problemas... Mas só por enquanto...

sexta-feira, 7 de novembro de 2008

Provando Teoremas com um Computador

Parece difícil de acreditar mas dá pra fazer isso! Vou fazer isso em linguagem Pascal.
Primeiro passo: codificar as fórmulas matemáticas no computador.
Pensei em duas maneiras de codificar: uma recursiva e outra direta.
Na codificação direta fazemos assim: a fórmula é um array[1..N] of integer, onde N é um número bem grande (depende da memória do seu computador).
Então codificamos os símbolos lógicos ¬[1], ^[2], v[3], →[4], A[5], E[6], =[7], ([8], )[9], xn[10n],l cn[10n+1], fn[10n+2], Pn[10n+3]. xn, cn, fn e Pn são as variáveis, constantes, funcionais e predicados da teoria.
E cada símbolo é substituído pelo número ao lado.
Na forma recursiva, que eu prefiro, faz assim: toda fórmula não atômica é um array[1..11] of integer, onde o primeiro número é um conectivo (representado por um número de 1 a 6, como acima), o terceiro e o quarto são os números dos argumentos (que podem ser fórmulas ou variáveis). Uma fórmula atômica é um array[1..11] of integer onde o primeiro é o número do predicado, e os seguintes os números dos termos. E um termo é um array[1..11] of integer onde o primeiro é o número do funcional, e os seguintes os números dos termos ou variáveis. Pode-se padronizar que variáveis sejam números pares e termos compostos números ímpares, de semelhante modo fórmluas atômicas com números pares.
Depois extende-se isso para conjuntos de fórmulas e termos: um array[1..N,1..11] of integer, onde N é um número muito grande. Esse arranjo é a lista das fórmulas.

Por exemplo, como escrever Ax(x e R→(x²>=0)). Numeramos as fórmulas 2: x²>=0; 4: x e R; 1: x e R→(x²>=0); 3: Ax(x e R→(x²>=0)). Então o array fica assim:
[→,2,4,...]
[>=,x²,0,...]
[A,x,1,...]
[e,x,R,...]

Mais tarde eu ponho como fica o programa...

terça-feira, 4 de novembro de 2008

Teorema de Gödel

Algumas pessoas já ouviram falar desse teorema. É um dos teoremas mais impactantes da Matemática do século passado. Diz que em toda teoria matemática que contenha a aritmética existem afirmações que não podem ser provadas...
A maioria das pessoas que ouviram falar desse teorema talvez não entenda seu verdadeiro enunciado, e talvez tenha muitas dificuldades pra entender sua demonstração (que raramente é posta na íntegra em textos da internet). Tanto é que alguns não Matemáticos refutam esse teorema (apesar de que "refutar teoremas" não faz muito sentido em Matemática, o que se faz é verificar se uma demonstração está correta ou não). Fala-se muita besteira na internet a respeito desse teorema por causa da falta de avisos contidos nos textos sobre o assunto. Por exemplo: Gödel não provou que a Matemática é inconsistente, mas apenas que teorias fortes são incompletas, no sentido que existem perguntas que a teoria não poderá responder. E isso apenas para teorias formais, ou seja, teorias definidasem um sentido preciso de lógica simbólica.
O que ele provou foi:
Toda teoria lógica formal em que se consegue definir as constantes, símbolos funcionais e relacionais da aritmética de Peano de primeira ordem, não é completa e (omega)consistente ao mesmo tempo. Não é completa no sentido de que existe uma fórmula sem variáveis livres (wff) que não pode ser provada verdadeira nem falsa pela teoria. E não é (omega)consistente no sentido que ou não é consistente ou existe uma fórmula (Existe x em IN tal que P(x)), tal que P(x) não vale pra nenhum x em IN no modelo correspondente a teoria. Mais tarde provaram que tal teoria não pode ser consistente e completa ao mesmo tempo.

Se a pessoa não entendeu o enunciado acima é melhor nem tentar comentar por aí sobre o teorema, fazer reflexões filosóficas esdrúxulas sobre o mesmo, e pior ainda: tentar refutá-lo (as tentativas de fazer isso levam a artigos risíveis do ponto de vista matemático, até mesmo uma falta de respeito com quem faz ciência de modo sério).
Bom, qual é a interpretação intuitiva do teorema?? Bom, uma delas é: não existe um algoritmo que produza todas as verdades aritméticas, ou mais informalmente, não existe um programa de computador que seja capaz de decidir exatamente quais fórmulas sobre os números naturais são válidas, por maior que ele seja. Em compensação, pode-se produzir um computador que produza somente verdades aritméticas, mas não todas elas.

segunda-feira, 3 de novembro de 2008

Sem comentários...

Eu espero que esse blog não seja semanal.
Mas até agora poucos visitantes aqui, nenhum comentário do pessoal sobre o meu pré-blog. Ainda não sei exatamente que rumo tomarei, só o tempo dirá. Espero que ele não siga ignorado, preciso de uma forma pra divulgar.

segunda-feira, 20 de outubro de 2008

Ainda não desisti...

Uma pena não haver comentários ainda...
Preciso divulgar.

Vou fazer o possível pra não deixar o blog morrer. Creio que sobre tempo pra isso, já que às vezes fico horas fazendo coisas inúteis na internet.
Nesse momento resta a necessidade de estudar Teoria Ergódica e Geometria Riemanniana, antes que as coisas piorem.

sexta-feira, 10 de outubro de 2008

Interpretação intuitiva do post anterior

Podemos então explicar o que significa e pra que servem as fórmulas dadas no post anterior.

Na matemática temos em cada teoria um conjunto de objetos, definições, relações e afirmações a respeito desses objetos. As fórmulas são sequências de caracteres que traduzem essas afirmações.
Introduzimos a interpretação intuitiva dos símbolos.
Sejam P e Q afirmações quaisquer.
AxP - Significa que para qualquer valor que se atribua a x a afirmação P(x) será verdadeira.
Por exemplo, no universo dos homens, se P(x) for a afirmação x é mortal, teremos P(x) será verdadeiro para qualquer valor que se atribua a x, portanto vale AxP (no caso a afirmação se interpreta como: Todo homem é mortal).
ExP - Significa que para pelo menos um valor no universo de sua teoria que se atribua a x a afirmação P(x) será verdadeira. Por exemplo, no universo dos mamíferos, se a afirmação O(x) significa que x põe ovos, temos que a afirmação ExO será verdadeira, pois O(x) é verdadeira se x=ornitorrinco.


To be continued...
.₢

Lógica e Fundamentos

Essa é a minha área preferida em Matemática, e se Deus quiser me mudo pra USP e faço doutorado nisso. O concurso deve ser difícil, mas o mais difícil mesmo vai ser conseguir as cartas de recomendação na UFRJ.

A lógica é a teoria na qual está fundamentada toda a Matemática.
Ao provarmos um teorema em Matemática, estamos usando lógica pra deduzir de uma afirmação a outra. Pelas regras lógicas se pode destinguir uma demonstração falsa de uma demonstração verdadeira. O modo seria passar da demonstração informal, por palavras, para a demonstração formal, por símbolos. Uma demonstração é apresentada de modo informal para que se possa entender o que significa, ou simplificar os passos da demonstração.

É exatamente isso que dá o caráter de "indiscutível" na Matemática.
Demonstração válida é toda aquela que puder ser derivada dos axiomas e regras de inferência lógicas. Mas quais são os axiomas? E regras de inferência lógicas? Dá pra fazer um resumão aqui do que é lógica de primeira ordem.
Toda afirmação Matemática deve ser redutível a uma fórmula. Uma fórmula é uma sequência de caracteres que devem estar entre os seguintes:
A (Para todo)
E (existe)
→ (implica)
^ (e)
v (ou)
¬ (não)
= (igual)
( ) , (sinais de pontuação, dispensáveis na notação polonesa)
variáveis x,y,z... (possiv com índices)
símbolos funcionais F,G,... (possiv com índices)
predicados P,Q,... (possiv com índices)
Símbolos funcionais e predicados possuem um peso que é maior ou igual a zero. Correspondem ao número de variáveis que eles relacionam. Para introduzir o que é fórmula começamos com termo.
Toda variável é um termo. Todo símbolo funcional de peso zero (constante) é termo. Se x1, x2, ..., xn são termos, e F é funcional de peso n, Fx1...xn é termo. Nada mais é termo. [notação alternativa: F(x1,...,xn), e se F tem peso 2, (x1Fx2)]Se t1, t2, ... tn são termos, e P é predicado de peso n, Px1...xn é fórmula. Predicados de peso zero são fórmulas. Se t1 e t2 são termos, (t1=t2) é fórmula.[notação alternativa: P(x1,...,xn), e se P tem peso 2, (x1Px2)]
Se P é fórmula, ¬P é fórmula. Se P e Q são fórmulas (PvQ) , (P^Q) e (P→Q) são fórmulas.
Se P é fórmula e x é variável, AxP e ExP são fórmulas.
Nada mais é fórmula.
OBS: a escassez de símbolos pra escrever aqui me força a não usar os símbolos tradicionais de para todo e existe.
Variáveis livres: Se temos uma fórmula AxP ou ExP então x é dita quantificada nessa fórmula. Caso na ocorrência de x dentro de uma fórmula P e ela não esteja quantificada, nem em nenhuma subfórmula de P, então x é dita variável livre em P. Termos fechados são aqueles em que todas as suas variáveis são livres, ou se não possuem variáveis.

FÓRMULAS VÁLIDAS
Todo axioma é uma fórmula válida. Se a fórmula puder ser deduzida de fórmulas válidas pelas regras de inferência lógicas, então ela é válida também.
AXIOMAS LÓGICOS
Aqui P, Q e R são fórmulas quaisquer, exceto se especificado na regra ou axioma. t e s são termos fechados, a é variável livre, e x é variável.
1)P→P
2)[P^(P→Q)]→Q
3)[(P^Q)→R]→[P→(Q→R)]
4)[(P→Q)^(Q→R)]→[P→R]
5)P→[Q→(P^Q)]
6)(P^Q)→P6')(P^Q)→Q
7)[P→(Q^¬Q)]→¬P
8)¬¬P→P
9)P→(PvQ)
9')P→(QvP)
10)[(Q→R)^(P→R)]→[(PvQ)→R]
11)AxP(x)→P(t) aqui P(t) resulta de P(x) substituindo todos x por t
12)P(t)→ExP(x) x não ocorre em P(t), e aqui P(x) resulta de P(t) substituindo alguns ou todos t por x
13)t=t
14)[t=s^P(t)]→P(s) aqui P(s) resulta de P(t) substituindo alguns ou todos t por s

Sejam P e Q fórmulas, H uma fórmula onde a variável livre a não ocorre, B(a) uma fórmula onde todas as ocorrências de a são livres e B(x) resulta de B(a) substituindo todas as ocorrências de a por x.São três regras de inferência, tiradas do site Mathworld
1) (Modus Ponens)
se P e (P→Q) são válidas, Q é válida
2) se B(a)→H é válida então
ExB(x)→H é válida
3) se H→B(a) é válida então
H→AxB(x) é válida.
São essas.

Uma teoria em lógica de primeira ordem para ser construída basta que se acrescente símbolos funcionais próprios e axiomas. Dessa forma se pode construir as mais fortes teorias matemáticas. Toda teoria não muito avançada pode ser construída com esse tipo de lógica.

Em posse de teoremas e definições importantes, usar essas regras lógicas e as que derivam delas é o que chamamos de argumentação válida. Ou ao menos podemos convencer a pessoa de que nossa argumentação pode se fundamentar nessas regras, já que escrever tudo fica difícil.

quinta-feira, 9 de outubro de 2008

Geometria riemanniana!!

Nesse momento estou numa situção séria no Doutorado. Tem prova de Geometria Riemanniana na segunda, e faltam dois capítulos pra estudar.

Pra quem conheceu a curvatura em geometria diferencial, a curvatura em geom riemanniana é um operador de três variáveis nos campos de vetores de uma variedade.

Mas quem nunca ouviu falar de GR e GD, são basicamente ramos da mMatemática que estudam superfícies e suas generalizações.

Mas tyarde talvez explique o que se trata...

quarta-feira, 8 de outubro de 2008

Meu segundo blog...

Vem aí, ou não, a minha segunda tentaiva de fazer um blog.
Aguarde...

Antes de mais nada espero que isso não me faça perder tempo. Caso consiga, vem aí o meu blog de variedades: matemática, esportes, cinema, curiosidades, e pensamentos pessoais meus. Não chega a ser um diário, mas uma possível coletânea de pensamentos e teorias. Vamos ver no que vai dar...