Você está na página 1de 8

ANLISE DOS TEOREMAS DE CORRETUDE, COMPACIDADE E COMPLETUDE

OBS: Este trabalho ser revisado e corrigido conforme solicitado e em normas ABNT.
Andrei Daniel Stuhler Russi, Camila Santana do Amaral, Cleiton Kirschner, Gilda Catarina Laurentino Fernandes, Michel Ledra Acadmicos de Bacharelado em Cincia da Computao Instituto Federal Catarinense, Campus Rio do Sul
dani.668@hotmail.com, skilo_norbert@hotmail.com, cakakiss@hotmail.com,

gilda.fernandes@hotmail.com, michelledra@hotmail.com; RESUMO Neste artigo apresentamos trs teoremas que surgiram para validar clculos de predicados, corretude aplicada para ver se o clculo, como o nome j diz, est correto, compacidade aplicada para ver se um subconjunto satisfatvel ou no, sendo satisfatvel, vemos que ali tem compacidade e completude existe se em um clculo temos a corretude e a compacidade, caso contrrio, no existe completude. Palavras Chave: Clculo, teoremas, corretude, compacidade, completude. ABSTRACT In this article we present three theorems that appeared to validate calculations of predicates, correctness is applied to see whether the calculation, as the name implies, is correct, compactness is applied to see if a subset is satisfiable or not, is satisfiable, we see that there There has compactness and completeness in a calculation we have the correctness and compactness, otherwise there is completeness. Keywords: account, theorems, accuracy, compactness, completeness.

INTRODUO O objetivo deste trabalho conceituar e aplicar corretude, compacidade e completude atravs de um programa em Java para comprovar como encontramos esses teoremas, visando garantir que um clculo de predicados seja dito vlido, matemticos criaram (no final do sculo XX) testes que identificam possveis validaes, e atravs de entradas definidas vamos mostrar que estes teoremas podem garantir a eficincia ou deficincia do programa. CORRETUDE, COMPACIDADE E COMPLETUDE 1. CORRETUDE 1

medida que nossa sociedade se torna mais dependente de computadores cada vez mais necessrio que aos mesmos sejam confiveis. nesse sentido que trabalha a verificao do programa, garantir apenas que ele vai se comportar de acordo com suas especificaes. A verificao de um programa pode ser feita atravs de testes ou mesmo atravs da demonstrao de erros. Esses testes tentam mostrar que valores de entrada geram respostas aceitveis. Mesmo que um programa sofra com um conjunto de testes esses podem no ser adequados para tal. E mesmo que o programa no apresente nenhum bug no significa que perfeito. Foi pensando nisso que cientistas da computao desenvolveram uma abordagem mais matemtica pra provar que um programa esta correto. Para descrever a demonstrao de correo mais formalmente temos um programa que busca identificar tipos de tringulos: A primeira ao identificar se as dimenses de entrada correspondem expresso (L1 + L2 > L3) que indicam que o objeto de entrada um tringulo. Para isso, a corretude aplicada deve ser feita dando como dados de entrada: L1 5 10 20 L2 10 20 5 L3 20 5 10

Essas verificaes devem gerar uma mensagem de erro, indicando que os valores digitados no correspondem a figura de um tringulo. int L1, L2, L3, n1 = 0; String msg1 = "Issceles", msg2 = "Equiltero", msg3 = "Escaleno"; do { do { System.out.print("\nEntre com a primeira lateral: "); L1 = entrada.nextInt(); System.out.print("Entre com a segunda lateral: "); L2 = entrada.nextInt(); System.out.print("Entre com a terceira lateral: "); L3 = entrada.nextInt(); if ((L2 + L1 < L3) || (L2 + L3 < L1) || (L1 + L3 < L2)) System.out.println(\nEssas medidas no correspondem a um+ tringulo,por favor redigite.);

} while ((L2 + L1 < L3) || (L2 + L3 < L1) || (L1 + L3 < L2)); if (L1 == L2 && L2 == L3) System.out.println("\n Esse um tringulo " + msg2); 2

else if ((L1 == L2) && (L2 != L3)) System.out.println("\n Esse um tringulo " + msg1); else if ((L1 != L2) && (L2 != L3)) System.out.println("\n Esse tringulo " + msg3); System.out.println(\n DIGITE 1(UM) PARA REFAZER OU + DIGITE 0 (ZERO) PARA FINALIZAR); n1 = entrada.nextInt(); } while (n1 != 0); if (n1 == 0) { System.out.println(PROGRAMA FINALIZADO"); } int L1, L2, L3, n1 = 0; String msg1 = "Issceles", msg2 = "Equiltero", msg3 = "Escaleno"; do { do { System.out.print("\nEntre com a primeira lateral: "); L1 = entrada.nextInt(); System.out.print("Entre com a segunda lateral: "); L2 = entrada.nextInt(); System.out.print("Entre com a terceira lateral: "); L3 = entrada.nextInt(); if ((L2 + L1 < L3) || (L2 + L3 < L1)) System.out.println("\nEssas medidas no correspondem a um tringulo,por favor redigite."); } while ((L2 + L1 < L3) || (L2 + L3 < L1)); if (L1 == L2 && L2 == L3) System.out.println("\n Esse um tringulo " + msg2); else if ((L1 == L2) && (L2 != L3)) System.out.println("\n Esse um tringulo " + msg1); else if ((L1 != L2) && (L2 != L3)) System.out.println("\n Esse tringulo " + msg3); System.out.println("\n DIGITE 1(UM) REFAZER....DIGTE 0(ZERO) PARA FINALIZAR"); n1 = entrada.nextInt(); } while (n1 != 0); PARA

if (n1 == 0) System.out.println("PROGRAMA FINALIZADO"); } } 2. O TEOREMA DA COMPACIDADE. O Teorema da Compacidade assegura que um conjunto qualquer formado por frmulas bem-formadas de um clculo de predicados primeira ordem satisfatvel se e somente se todo subconjunto finito de tambm satisfatvel. Por exemplo: Se onde ento existe um subconjunto finito um uma instncia do conjunto acima citado. tal que ,

Este teorema denota uma importante propriedade para a lgica de predicados, pois garante que toda e qualquer frmula derivvel (ou logicamente implicada, no caso semntico) a partir de um conjunto finito de premissas. No caso proposicional, a propriedade da compacidade consequncia do Teorema de Tychonoff (que assegura que o produto de espaos compactos tambm compacto) aplicado a espaos de Stone compactos, e da segue o nome do teorema. Suponha um conjunto de frmulas e que todo subconjunto finito de satisfatvel. Seja uma lista, sem repeties, das frmulas atmicas que ocorrem em , seguida das frmulas atmicas que ocorrem em (e no em ), e assim por diante. Uma vez que cada subconjuto finito de satisfatvel, para cada n existe uma valorao

tal que . Ento, cada em vlido para todas estas valoraes finitas. Assumimos que definido somente nas frmulas atmicas que ocorrem em . Para cada , os valores de verdade que atribui para formam uma sequncia finita de 0's e 1's. Ento um conjunto infinito de sequncias binrias finitas. Neste ponto, utilizaremos o seguinte lema para mostar que existe uma sequncia binria finita na qual cada prefixo de ser tambm um prefixo de infitas sentenas de . Lema: Seja um conjunto infinito de strings binrias finitas. Existe uma string binria infinita tal que qualquer prefixo de tambm prefixo de uma quantidade infinita de em . Demonstrao:

Uma string binria uma sequncia de 0's e 1's como 1001. As strings 1, 10, 101, 1011 so os prefixos de 1011. Temos um conjunto infinito de strings de tamanho finito como estas. Queremos construir uma string infinta de 0's e 1's tal que cada prefixo de tambm prefixo de uma quantidade infinita de strings em . Ns construiremos passo passo da esquerda para a direita. Ao n-simo passo, no s saberemos qual ser o n-simo dgito de como tambm excluiremos strings indesejveis de . Para determinarmos qual dever ser o primeiro dgito de , olhamos para os primeiros dgitos de todas as strings em (obviamente existe uma quantidade infinita de strings, assumeremos que se possa verificar todas). Se, ao verificar todas as strings, houver um nmero infinito de strings que comeam com 1, ento o primeiro dgito de ser 1 e excluiremos de todas as strings que comeam com 0 (Note que ainda continuaremos com um conjunto infinito de strings). De outra forma, ser houver apenas um nmero finito de strings que comeam com 1, ento excluiremos estas e o primeiro dgito de ser 0. Este mesmo procedimento pode ser repetido at obtermos n dgitos de . Neste n-simo passo, tambm teremos excludo de todas as strings que no comeam com estes n dgitos, ficando apenas com um subconjunto , tambm infinito, de . Para obter o (n+1)-simo, podemos repetir o mesmo procedimento: Uma vez que infinito, possuir uma quantidade infinita de strings de comprimento n+1 ou maior, logo se houver uma quantidade infinita de strings cujo (n+1)-simo dgito 1, ento o (n+1)-simo dgito de tambm o ser. Caso contrrio, ser 0 (em ambos os casos, tambm se exclui as strings indesejadas). Este conjunto resultante ainda ser infinito. Desta forma, continuando o procedimento, teremos uma sequncia infinita na qual os primeiros n dgitos de so iguais aos primeiros n dgitos de uma quanitade infinita de strings em , finalizando a demonstrao de nosso lema. Por fim, definimos uma valorao sobre todas as 's como se segue: Seja o nsimo dgito de . Devemos demonstrar agora que toda frmula em vale em , o que segue do fato que vale em todas as finitas valoraes em . Seja tal que no contm nenuhuma frmula atmica aps , ento existe um em tal que e as primeiras entradas de so as mesmas de , donde segue que . Assim, temos que toda frmula no conjunto vale sob a valorao , o que conclui nossa demonstrao.O Teorema da Compacidade pode ser usado para estabelecer que toda ordenao parcial de um conjunto infinito (porm contvel) pode ser estendida a uma ordenao total. Usa-se o fato de que toda ordenao parcial de um conjunto finito pode ser estendida a uma ordenao total; isto pode ser demonstrado por induo sobre o tamanho do conjunto. 3. COMPLETUDE O Teorema da Completude de Gdel diz que as regras de inferncia da lgica de primeira ordem so completas no sentido de que nenhuma nova regra de inferncia necessria para derivar todas as formulas logicamente vlidas. Ele defende, em sua forma mais usual, que toda formula logicamente vlida pode ser demonstrada no clculo de predicados de primeira ordem, isto , existe uma derivao formal para esta formula. Tal derivao uma lista finita de passos em que cada passo obtido atravs de regras de inferncia bsicas aplicadas a passos anteriores. Uma seqencia real uma funo que associa a cada nmero natural um nmero real ( ). O valor numrico ( ) o termo de ordem da seqncia. Do modo como definimos a seqncia, o domnio de um conjunto infinito, mas o contradomnio poder 5

( ) ser finito ou infinito. O domnio de uma seqncia indicado por e a imagem ( ) * de uma sequncia por +. Considere a seguinte sequncia de nmeros reais, dada de forma recursiva: , para todo n 1. Podemos dizer que a equao abaixo completa. Abaixo segue passo a passo da equao acima para melhor compreenso.

. . . . . Podemos ento dizer que esta seqncia ( ), formada somente por nmeros racionais, converge para . Portanto possui seqncias que convergem para pontos que no pertence a . Dizemos ento que uma sequencia ( ) de Cauchy se dado existe || tal que se ento || . Num espao completo, se os termos de uma sequncia esto cada vez mais prximos entre si, ento esta sequncia deve estar acumulando-se em torno de um ponto que pertence ao espao. Portanto num espao incompleto existe pelo menos uma sequncia cujos termos esto cada vez mais prximos entre si, e de certa forma acumulandose em torno de um ponto que no pertence ao espao. no completo. , , com a norma do sup, incompleto. De fato, a seqncia de polinmios dada por: ( ) um polinmio. O seguinte subespao de , converge para a funo incompleto: , que no

*( ) ,apenas para o numero finito de ndices}. Sejam um ( ) espao normado e um subespao prprio de . Ento . Seja tal que , ( ), existe Supondo que se tenha algum tal que ( ) ( ) Ento
|| ||

Logo

|| ||

, contradio.

Teorema de Baire: Seja um espao normado completo tal que , onde cada um subconjunto fechado de . Ento existe , tal que ( ) . Seja um espao de dimenso infinita, normado e completo. Ento qualquer base algbrica de no-enumervel. Vamos supor por absurdo que admita uma base enumervel: , -, o subespao de gerado por . 6

Ento Teorema de Baire norma que torne , Idem para .

, e cada

fechado. ( ) . O que um absurdo. No existe

existe tal que - completo.

Relembramos dos seguintes elementos de ( ( ( O conjunto * ), ), ).

+ no uma base algbrica de

4. CONCLUSO Conclumos assim que possvel entender que os teoremas, corretude, compacidade e completude so mtodos de identificao de possveis erros e principalmente de concluso de eficincia na resposta. Dessa maneira obtendo a compacidade e a completude de fraes do programa, podemos considerar que o mesmo vai se comportar de acordo com o esperado nas demais atividades que executar. Podemos dizer tambm que o Clculo de predicados de primeira ordem correto, ou seja, que somente sentenas logicamente vlidas podem ser derivadas na lgica de primeira ordem, garantido pelo Teorema da Correo.A completude verdadeira se compacidade e corretude nas aes efetudas para testar uma rotina tambem sao verdadeiras, ou seja, um software torna se completo se depois de serem feitos diversos testes e estes diversos teste forem todos corretos, ai sim o software torna se completo. 5. REFERNCIAS

FILHO, Edgard de Alencar. Iniciao lgica matemtica, 1 Edio, So Paulo: Nobel, 2002. 203 Pgs. GERSTING, Judith L. Fundamentos da matemtica para a cincia da computao, 4 Edio, Rio de Janeiro, LTC - GRUPO GEN, 2001. 616 Pgs. http://pt.wikipedia.org/wiki/Teorema_da_compacidade acessado em 17/05/11. http://www.profcardy.com/dicionario/matepedia.php?rg=28 acessado em 25/05/11. http://pt.wikipedia.org/wiki/Anexo:Tabela_de_smbolos_matemticos acessado em 25/05/11.
http://www.ime.usp.br/~eiagime/P4.pdf acessado

em 03/05/2011 acessado em 04/05/2011 7

http://pt.wikipedia.org/wiki/Teorema_da_completude_de_G%C3%B6de l

Você também pode gostar