********************************** ********** LOG - Resumo ********** ********************************** Data : 07/12/2001 Versão : 04/07/2007 Professor: Wagner Toscano Autor : Leandro Salvador ( leandrosalvador.com.br ) * Teoria - Linguagem --> conjunto de palavras utilizadas para referenciar objetos - Idéias --> relacionamento das palavras - Frases --> orações/sentenças compostas declarativas - Orações --> sentenças - Paradoxo --> contradição - Argumento --> conjunto de sentenças em que uma delas é conclusão e as demais são premissas - quando chove venta + está chovendo = vai ventar - Proposição --> conjunto de palavras que exprimem um pensamento completo - Conectivos --> palavras que juntam duas proposições * Portas Lógicas - Negação --> NOT -| ¯ ---|>·--- - Disjunção --> OR v + ---)_)--- - Conjunção --> AND ^ . ---|_)--- - Disjunção Exclusiva --> XOR (+) (+) ---))_)--- - Bi-Implicação --> XNOR <=> (.) ---||_)--- - Implicação --> "uma verdade nunca resulta numa mentira" * Prolog - fatos - associam objetos a um predicado (idéia) - exemplo gosta(paulo,melao). - perguntas - inferência sobre fatos - exemplo ?- gosta(paulo,melao). - variáveis - substitui o objeto da resposta - exemplo gosta(paulo,X). - conjunção - encontra dois objetos comuns a um fato - exemplo ?- gosta(paulo,X), gosta(maria,X). - regras - utilizada como definição - símbolo --> :- - exemplo gosta(paulo,X) :- for(X,melao). - termos - constante, variável, estrutura - seqüência de caracteres - exemplo A...Z, a...z, 0...9, _@?+- - constantes - nomeia objetos ou relações específicos - átomos e inteiros - variáveis - iniciam com letras maiúsculas ou "_" - "_" é utilizado quando existe a necessidade de confirmação de uma regra sem necessitar instanciar o objeto - exemplo ?- gosta(paulo,_). - estruturas - objeto composto de objetos chamados componentes - exemplo (,[componente...]). - observação * ver Exemplo abaixo... - operadores - pré fix (-x) - in fix (x-y) - pós fix (x!) - exemplos +, -, *, /, mod - características - duas estruturas são iguais se possuem a mesma função (predicado) e a quantidade de argumentos e todos os argumentos são iguais * Exemplo de Lista % eu.pl eu(paulo,masculino,[branco,alto,moreno,brasileiro,solteiro]). caracteristica1(X,Y) :- eu(X,Y,_). caracteristica2(X,Y) :- eu(X,_,Y). caracteristica3(X,Y,Z) :- eu(X,_,[Y,_,Z,_,_]). caracteristica4(X,Y) :- eu(_,_,[X,_,Y,_,_]). % Prompt ?- caracteristica1(X,Y). X = paulo Y = masculino ?- caracteristica2(X,Y). X = paulo Y = [branco, alto, moreno, brasileiro, solteiro] ?- caracteristica3(X,Y,Z). X = paulo Y = branco Z = moreno ; ?- caracteristica4(X,Y). X = branco Y = moreno ; ----------//----------