Incorporar apresentação
Baixado 17 vezes






![MODULE GCD. IMPORT Integers. PREDICATE Gcd : Integer * Integer * Integer. Gcd(i,j,d) <- CommonDivisor(i,j,d) & ~ SOME [e] (CommonDivisor(i,j,e) & e > d). PREDICATE CommonDivisor : Integer * Integer * Integer. CommonDivisor(i,j,d) <- IF (i = 0 \/ j = 0) THEN d = Max(Abs(i),Abs(j)) ELSE 1 =< d =< Min(Abs(i),Abs(j)) & i Mod d = 0 & j Mod d = 0. Exemplo em Gödel](https://image.slidesharecdn.com/eplp-2009-2plpaula11-100531170932-phpapp01/85/E-Plp-2009-2-Plp-Aula11-7-320.jpg)
O documento discute o paradigma de programação lógica, com foco na linguagem Prolog. Ele descreve que a programação lógica se originou com o trabalho de John Alan Robinson em 1965 e que Prolog foi proposta em 1972, sendo baseada em cálculo de predicados de primeira ordem. Também apresenta brevemente que em Prolog os programas são escritos como regras lógicas no formato "goal :- subgoals" para provar um objetivo.






![MODULE GCD. IMPORT Integers. PREDICATE Gcd : Integer * Integer * Integer. Gcd(i,j,d) <- CommonDivisor(i,j,d) & ~ SOME [e] (CommonDivisor(i,j,e) & e > d). PREDICATE CommonDivisor : Integer * Integer * Integer. CommonDivisor(i,j,d) <- IF (i = 0 \/ j = 0) THEN d = Max(Abs(i),Abs(j)) ELSE 1 =< d =< Min(Abs(i),Abs(j)) & i Mod d = 0 & j Mod d = 0. Exemplo em Gödel](https://image.slidesharecdn.com/eplp-2009-2plpaula11-100531170932-phpapp01/85/E-Plp-2009-2-Plp-Aula11-7-320.jpg)