Exportar traduções
Ir para navegação
Ir para pesquisar
Configurações
Grupo
Augusto Baffa
Como executar o Prolog
Estimando PI utilizando Monte Carlo
Gerador Aleatório Mersenne Twister
Gerador Aleatório MWC
Gerador Aleatório para Distribuição Binomial
Gerador Aleatório para Distribuição de Bernoulli
Gerador Aleatório para Distribuição de Poisson
Gerador Aleatório para Distribuição Exponencial
Gerador Aleatório para Distribuição Normal
Gerador Aleatório Uniforme
Gerador Congruencial Linear
Prolog Tutorial
Prolog Tutorial Sumário
Página principal
Sorteando Amostras
Idioma
aa - Afar
ab - Abkhazian
abs - Ambonese Malay
ace - Achinese
ady - Adyghe
ady-cyrl - Adyghe (Cyrillic script)
aeb - Tunisian Arabic
aeb-arab - Tunisian Arabic (Arabic script)
aeb-latn - Tunisian Arabic (Latin script)
af - Afrikaans
ak - Akan
aln - Gheg Albanian
alt - Southern Altai
am - Amharic
ami - Amis
an - Aragonese
ang - Old English
anp - Angika
ar - Arabic
arc - Aramaic
arn - Mapuche
arq - Algerian Arabic
ary - Moroccan Arabic
arz - Egyptian Arabic
as - Assamese
ase - American Sign Language
ast - Asturian
atj - Atikamekw
av - Avaric
avk - Kotava
awa - Awadhi
ay - Aymara
az - Azerbaijani
azb - South Azerbaijani
ba - Bashkir
ban - Balinese
bar - Bavarian
bbc - Batak Toba
bbc-latn - Batak Toba (Latin script)
bcc - Southern Balochi
bcl - Central Bikol
be - Belarusian
be-tarask - Belarusian (Taraškievica orthography)
bg - Bulgarian
bgn - Western Balochi
bh - Bhojpuri
bho - Bhojpuri
bi - Bislama
bjn - Banjar
bm - Bambara
bn - Bangla
bo - Tibetan
bpy - Bishnupriya
bqi - Bakhtiari
br - Breton
brh - Brahui
bs - Bosnian
btm - Batak Mandailing
bto - Iriga Bicolano
bug - Buginese
bxr - Russia Buriat
ca - Catalan
cbk-zam - Chavacano
cdo - Min Dong Chinese
ce - Chechen
ceb - Cebuano
ch - Chamorro
cho - Choctaw
chr - Cherokee
chy - Cheyenne
ckb - Central Kurdish
co - Corsican
cps - Capiznon
cr - Cree
crh - Crimean Turkish
crh-cyrl - Crimean Tatar (Cyrillic script)
crh-latn - Crimean Tatar (Latin script)
cs - Czech
csb - Kashubian
cu - Church Slavic
cv - Chuvash
cy - Welsh
da - Danish
de - German
de-at - Austrian German
de-ch - Swiss High German
de-formal - German (formal address)
din - Dinka
diq - Zazaki
dsb - Lower Sorbian
dtp - Central Dusun
dty - Doteli
dv - Divehi
dz - Dzongkha
ee - Ewe
egl - Emilian
el - Greek
eml - Emiliano-Romagnolo
en - English
en-ca - Canadian English
en-gb - British English
eo - Esperanto
es - Spanish
es-419 - Latin American Spanish
es-formal - español (formal)
et - Estonian
eu - Basque
ext - Extremaduran
fa - Persian
ff - Fulah
fi - Finnish
fit - Tornedalen Finnish
fj - Fijian
fo - Faroese
fr - French
frc - Cajun French
frp - Arpitan
frr - Northern Frisian
fur - Friulian
fy - Western Frisian
ga - Irish
gag - Gagauz
gan - Gan Chinese
gan-hans - Gan (Simplified)
gan-hant - Gan (Traditional)
gcr - Guianan Creole
gd - Scottish Gaelic
gl - Galician
glk - Gilaki
gn - Guarani
gom - Goan Konkani
gom-deva - Goan Konkani (Devanagari script)
gom-latn - Goan Konkani (Latin script)
gor - Gorontalo
got - Gothic
grc - Ancient Greek
gsw - Swiss German
gu - Gujarati
gv - Manx
ha - Hausa
hak - Hakka Chinese
haw - Hawaiian
he - Hebrew
hi - Hindi
hif - Fiji Hindi
hif-latn - Fiji Hindi (Latin script)
hil - Hiligaynon
ho - Hiri Motu
hr - Croatian
hrx - Hunsrik
hsb - Upper Sorbian
ht - Haitian Creole
hu - Hungarian
hu-formal - magyar (formal)
hy - Armenian
hyw - Western Armenian
hz - Herero
ia - Interlingua
id - Indonesian
ie - Interlingue
ig - Igbo
ii - Sichuan Yi
ik - Inupiaq
ike-cans - Eastern Canadian (Aboriginal syllabics)
ike-latn - Eastern Canadian (Latin script)
ilo - Iloko
inh - Ingush
io - Ido
is - Icelandic
it - Italian
iu - Inuktitut
ja - Japanese
jam - Jamaican Creole English
jbo - Lojban
jut - Jutish
jv - Javanese
ka - Georgian
kaa - Kara-Kalpak
kab - Kabyle
kbd - Kabardian
kbd-cyrl - Kabardian (Cyrillic script)
kbp - Kabiye
kg - Kongo
khw - Khowar
ki - Kikuyu
kiu - Kirmanjki
kj - Kuanyama
kjp - Eastern Pwo
kk - Kazakh
kk-arab - Kazakh (Arabic script)
kk-cn - Kazakh (China)
kk-cyrl - Kazakh (Cyrillic script)
kk-kz - Kazakh (Kazakhstan)
kk-latn - Kazakh (Latin script)
kk-tr - Kazakh (Turkey)
kl - Kalaallisut
km - Khmer
kn - Kannada
ko - Korean
ko-kp - Korean (North Korea)
koi - Komi-Permyak
kr - Kanuri
krc - Karachay-Balkar
kri - Krio
krj - Kinaray-a
krl - Karelian
ks - Kashmiri
ks-arab - Kashmiri (Arabic script)
ks-deva - Kashmiri (Devanagari script)
ksh - Colognian
ku - Kurdish
ku-arab - Kurdish (Arabic script)
ku-latn - Kurdish (Latin script)
kum - Kumyk
kv - Komi
kw - Cornish
ky - Kyrgyz
la - Latin
lad - Ladino
lb - Luxembourgish
lbe - Lak
lez - Lezghian
lfn - Lingua Franca Nova
lg - Ganda
li - Limburgish
lij - Ligurian
liv - Livonian
lki - Laki
lld - Ladin
lmo - Lombard
ln - Lingala
lo - Lao
loz - Lozi
lrc - Northern Luri
lt - Lithuanian
ltg - Latgalian
lus - Mizo
luz - Southern Luri
lv - Latvian
lzh - Literary Chinese
lzz - Laz
mai - Maithili
map-bms - Basa Banyumasan
mdf - Moksha
mg - Malagasy
mh - Marshallese
mhr - Eastern Mari
mi - Maori
min - Minangkabau
mk - Macedonian
ml - Malayalam
mn - Mongolian
mni - Manipuri
mnw - Mon
mo - Moldovan
mr - Marathi
mrj - Western Mari
ms - Malay
mt - Maltese
mus - Muscogee
mwl - Mirandese
my - Burmese
myv - Erzya
mzn - Mazanderani
na - Nauru
nah - Nāhuatl
nan - Min Nan Chinese
nap - Neapolitan
nb - Norwegian Bokmål
nds - Low German
nds-nl - Low Saxon
ne - Nepali
new - Newari
ng - Ndonga
niu - Niuean
nl - Dutch
nl-informal - Nederlands (informeel)
nn - Norwegian Nynorsk
no - Norwegian
nov - Novial
nqo - N’Ko
nrm - Norman
nso - Northern Sotho
nv - Navajo
ny - Nyanja
nys - Nyungar
oc - Occitan
olo - Livvi-Karelian
om - Oromo
or - Odia
os - Ossetic
pa - Punjabi
pag - Pangasinan
pam - Pampanga
pap - Papiamento
pcd - Picard
pdc - Pennsylvania German
pdt - Plautdietsch
pfl - Palatine German
pi - Pali
pih - Norfuk / Pitkern
pl - Polish
pms - Piedmontese
pnb - Western Punjabi
pnt - Pontic
prg - Prussian
ps - Pashto
pt - Portuguese
pt-br - Brazilian Portuguese
qqq - Message documentation
qu - Quechua
qug - Chimborazo Highland Quichua
rgn - Romagnol
rif - Riffian
rm - Romansh
rmy - Vlax Romani
rn - Rundi
ro - Romanian
roa-tara - Tarantino
ru - Russian
rue - Rusyn
rup - Aromanian
ruq - Megleno-Romanian
ruq-cyrl - Megleno-Romanian (Cyrillic script)
ruq-latn - Megleno-Romanian (Latin script)
rw - Kinyarwanda
sa - Sanskrit
sah - Sakha
sat - Santali
sc - Sardinian
scn - Sicilian
sco - Scots
sd - Sindhi
sdc - Sassarese Sardinian
sdh - Southern Kurdish
se - Northern Sami
sei - Seri
ses - Koyraboro Senni
sg - Sango
sgs - Samogitian
sh - Serbo-Croatian
shi - Tachelhit
shi-latn - Tachelhit (Latin script)
shi-tfng - Tachelhit (Tifinagh script)
shn - Shan
shy-latn - Shawiya (Latin script)
si - Sinhala
simple - Simple English
sk - Slovak
skr - Saraiki
skr-arab - Saraiki (Arabic script)
sl - Slovenian
sli - Lower Silesian
sm - Samoan
sma - Southern Sami
smn - Inari Sami
sn - Shona
so - Somali
sq - Albanian
sr - Serbian
sr-ec - Serbian (Cyrillic script)
sr-el - Serbian (Latin script)
srn - Sranan Tongo
ss - Swati
st - Southern Sotho
stq - Saterland Frisian
sty - себертатар
su - Sundanese
sv - Swedish
sw - Swahili
szl - Silesian
szy - Sakizaya
ta - Tamil
tay - Tayal
tcy - Tulu
te - Telugu
tet - Tetum
tg - Tajik
tg-cyrl - Tajik (Cyrillic script)
tg-latn - Tajik (Latin script)
th - Thai
ti - Tigrinya
tk - Turkmen
tl - Tagalog
tly - Talysh
tn - Tswana
to - Tongan
tpi - Tok Pisin
tr - Turkish
tru - Turoyo
trv - Taroko
ts - Tsonga
tt - Tatar
tt-cyrl - Tatar (Cyrillic script)
tt-latn - Tatar (Latin script)
tum - Tumbuka
tw - Twi
ty - Tahitian
tyv - Tuvinian
tzm - Central Atlas Tamazight
udm - Udmurt
ug - Uyghur
ug-arab - Uyghur (Arabic script)
ug-latn - Uyghur (Latin script)
uk - Ukrainian
ur - Urdu
uz - Uzbek
uz-cyrl - Uzbek (Cyrillic script)
uz-latn - Uzbek (Latin script)
ve - Venda
vec - Venetian
vep - Veps
vi - Vietnamese
vls - West Flemish
vmf - Main-Franconian
vo - Volapük
vot - Votic
vro - Võro
wa - Walloon
war - Waray
wo - Wolof
wuu - Wu Chinese
xal - Kalmyk
xh - Xhosa
xmf - Mingrelian
xsy - Saisiyat
yi - Yiddish
yo - Yoruba
yue - Cantonese
za - Zhuang
zea - Zeelandic
zgh - Standard Moroccan Tamazight
zh - Chinese
zh-cn - Chinese (China)
zh-hans - Simplified Chinese
zh-hant - Traditional Chinese
zh-hk - Chinese (Hong Kong)
zh-mo - Chinese (Macau)
zh-my - Chinese (Malaysia)
zh-sg - Chinese (Singapore)
zh-tw - Chinese (Taiwan)
zu - Zulu
Formato
Exportar para tradução off-line
Exportar no formato nativo
Obter
{{DISPLAYTITLE:Prolog Tutorial}}<languages/> __FORCETOC__ Este material é uma tradução (com pequenas adaptações e atualizações) do material original publicado pelo professor [https://www.cpp.edu/~jrfisher/ Dr. John R. Fisher, Ph.D.], professor emérito na [https://www.cpp.edu/ California State Polytechnic University, Pomona], com sua autorização concedida em 14 de outubro de 2020. Todo o conteúdo está sendo revisado pelo professor [[Special:MyLanguage/Augusto Baffa|Dr. Augusto Baffa, D.Sc.]], professor do [http://www.inf.puc-rio.br/ Departamento de Informática] da [http://www.puc-rio.br/ Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio)] que também deverá adicionar novos exemplos com conectores para programas em Python. Veja todo o conteúdo deste tutorial consultando o [[Special:MyLanguage/Prolog Tutorial Sumário|sumário]]. == Introdução == Prolog é uma linguagem de programação lógica e declarativa. O próprio nome, Prolog, é uma abreviação de PROgramming in LOGic. A herança da Prolog inclui a pesquisa sobre provadores de teoremas e outros sistemas de dedução automatizados desenvolvidos nas décadas de 1960 e 1970. O mecanismo de inferência do Prolog é baseado no princípio de resolução de ''Robinson (1965)''<ref>Robinson, J.A., A machine-oriented logic based on the resolution principle, Journal A.C.M., (12) 23-44, 1965</ref> juntamente com os mecanismos de extração de respostas propostos por ''Green (1968)''<ref>Green, C., Theorem-proving by resolution as a basis for question-answering systems, in B. Meltzer and D. Michie, eds., Machine Intelligence 4, 183-205, Edinburgh University press, 1968</ref>. Essas ideias se juntaram com força com o advento dos procedimentos de resolução linear. Procedimentos explícitos de resolução linear direcionada a um objetivo, como os de ''Kowalski e Kuehner (1971)''<ref>Kowalski, R.A., and Kuehner, D., Linear Resolution with selection function, Artificial Intelligence, (2) 227-60, 1971</ref> e ''Kowalski (1974)''<ref>Kowalski, R.A., Logic for problem solving, DCL Memo 75, Department of Artificial Intelligence, University of Edinburgh, Scotland, 1974.</ref>, deram ímpeto ao desenvolvimento de um sistema de programação lógica de propósito geral. O "primeiro" Prolog foi "Marseille Prolog" baseado no trabalho de ''Colmerauer (1970)''. A primeira descrição detalhada da linguagem Prolog foi o manual para o intérprete Marseille Prolog (''Roussel, 1975''). A outra grande influência na natureza deste primeiro Prolog foi que ele foi projetado para facilitar o processamento de linguagem natural. Prolog é o principal exemplo de uma linguagem de programação de quarta geração que suporta o paradigma de programação declarativa. O Projeto de Computador Japonês de Quinta Geração, anunciado em 1981, adotou Prolog como uma linguagem de desenvolvimento e, portanto, concentrou considerável atenção na linguagem e em suas capacidades. Os programas neste tutorial são escritos em Prolog "padrão" (University of) Edinburgh, conforme especificado no livro Prolog clássico dos autores ''Clocksin e Mellish (1981, 1992)''<ref name="clocksin_mellish">Clocksin, W.F., and Mellish, C.S., Programming in Prolog, Springer-Verlag, 1981, 1992.</ref>. O outro tipo principal de Prolog é a família Prolog II de Prologs que são descendentes do "Marseille Prolog". A referência a ''Giannesini, et.al. (1986)''<ref>Giannesini, F, Kanoui, H, Pasero, R., and van Caneghem, M, Prolog, Addison-Wesley International Computer Science Series, 1986.</ref> usa uma versão do Prolog II. Existem diferenças entre essas duas variedades de Prolog: parte da diferença é a sintaxe e parte é a semântica. No entanto, os alunos que aprendem qualquer tipo de Prolog podem facilmente se adaptar ao outro tipo. Este tutorial deve ser usado para ajudar a aprender os conceitos básicos e essenciais do Prolog. Os programas de amostra foram especialmente escolhidos para ajudar a promover o uso da programação Prolog em um curso de inteligência artificial. Lisp e Prolog são as linguagens de programação simbólica mais usadas para inteligência artificial. Elas são amplamente consideradas como linguagens excelentes para "[https://en.wikipedia.org/wiki/Exploratory_programming programação exploratória]" e "[https://en.wikipedia.org/wiki/Prototype-based_programming programação baseada em protótipo]". == Capítulos == Para uma visão completa de todo o conteúdo, consulte o [[Special:MyLanguage/Prolog Tutorial Sumário|sumário]]. * O [[Special:MyLanguage/Como executar o Prolog|Capítulo 1]] explica o ambiente de programação Prolog para o iniciante. * O [[Special:MyLanguage/Exemplos de Programas em Prolog|Capítulo 2]] explica a sintaxe do Prolog e muitos fundamentos da programação do Prolog através do uso de exemplos cuidadosamente escolhidos. Os programas exemplo são organizados para orientar o aluno através do desenvolvimento de programas Prolog que são construídos de forma declarativa de cima para baixo. Todo o cuidado foi tomado para cobrir as técnicas de programação Prolog que são muito úteis em um curso de inteligência artificial. Na verdade, este manual pode servir como uma introdução conveniente, pequena e concisa do Prolog para tal curso. Questões semânticas foram abordadas pela introdução antecipada do conceito de uma árvore de cláusulas do programa que é usada para definir de uma maneira abstrata quais são as consequências de uma especificação de programa Prolog. O autor acredita que esta seja uma maneira viável de promover as questões semânticas básicas de verificação de software para programação Prolog. A última seção deste capítulo apresenta um exemplo que mostra que Prolog pode ser usado efetivamente para fornecer especificações precisas e cuidadosas de sistemas, ao contrário de sua reputação usual de ser difícil de documentar porque é fácil de usar como uma ferramenta de programação exploratória. * O [[Special:MyLanguage/Árvores de derivação no Prolog, seleções e unificação|Capítulo 3]] explica a operação do mecanismo de inferência subjacente do Prolog e deve ser lido pela primeira vez depois que o aluno tiver estudado dois ou três dos programas exemplo do Capítulo 2. A última seção deste capítulo apresenta os meta-interpretadores do Prolog. * O [[Special:MyLanguage/Objetivos Integrados do Prolog|Capítulo 4]] fornece uma visão resumida dos principais predicados embutidos do Prolog, muitos dos quais são exemplificados no Capítulo 2. * O [[Special:MyLanguage/O algoritmo A * no Prolog|Capítulo 5]] fornece um esboço para o desenvolvimento de programas de busca A*. A seção 5.3 tem um programa com busca αβ para o jogo da velha. * O [[Special:MyLanguage/Notas do Capítulo 6|Capítulo 6]] apresenta uma apresentação única e extensa de um meta-interpretador lógico para bases de regra lógicas normais. * O [[Special:MyLanguage/Analisador de gramática em Prolog|Capítulo 7]] fornece uma introdução ao gerador de analise gramatical embutido do Prolog e uma breve visão geral de como o Prolog pode ser usado para analisar sentenças em inglês (linguagem natural). Além disso, há uma seção que cobre a construção de interfaces de linguagem natural idiomática simples para programas. * O [[Special:MyLanguage/Especificação de ação para uma calculadora simples|Capítulo 8]] mostra como implementar diversos protótipos Prolog. A seção (§8.4) desenvolve uma conexão interativa entre Prolog (máquina de inferência) e Java (GUI) para jogar jogo da velha. O modelo de conexão simples é amplamente adaptável e aplicável. == Notas Finais do Autor == Versões anteriores de partes deste tutorial datam de 1988. O material introdutório foi originalmente usado para ajudar a explicar um interpretador Prolog desenvolvido pelo autor (não mais disponível) para uso em seus cursos. O autor acredita que o material introdutório, reunido na forma dada aqui, pode ser muito útil para o aluno que deseja uma introdução rápida, mas bem adaptada, ao Prolog. Para tratamentos mais completos do Prolog, o aluno é aconselhado a consultar os livros de ''Clocksin e Mellish (1981,1992)''<ref name="clocksin_mellish">Clocksin, W.F., and Mellish, C.S., Programming in Prolog, Springer-Verlag, 1981, 1992.</ref>, de ''O'Keefe (1990)''<ref>O'Keefe, Richard A.,The Craft of Prolog, MIT Press, 1990.</ref>, de ''Clocksin (1997''<ref>Clocksin, W.F., Cause and Effect: Prolog programming for the working programmer, Springer-Verlag, 1997</ref>'', 2003''<ref>Clocksin, W.F., Programming in Prolog: using the ISO standard , Springer-Verlag, 2003.</ref>'')'' ou de ''Sterling e Shapiro (1986)''<ref>Sterling, Leon, and Shapiro, Ehud, The Art of Prolog, MIT Press, 1986.</ref>. Para excelentes notas históricas sobre Prolog e processamento de linguagem natural usando Prolog, é recomendado o texto de ''Pereira e Shieber (1987)''<ref>Pereira, Fernando C.N., and Shieber, Stuart M., Prolog and Natural-Language Analysis, CSLI, 1987.</ref>. == Referências == * [http://www.ii.uib.no/~bezem/Prolog_Tutorial.pdf A Prolog Compendium] (pdf) by Marc Bezem: Esta é uma excelente visão geral conceitual do Prolog adequado para o componente de programação lógica de um curso de Princípios de Linguagens de Programação. * '''Comparação de implementações Prolog''': https://en.wikipedia.org/wiki/Comparison_of_Prolog_implementations * Anne Ogborn, '''Real World Programming in SWI-Prolog''': http://www.pathwayslms.com/swipltuts/index.html * "'''PrologResources'''", http://www.whoishostingthis.com/resources/prolog/ ---- # Appel, K.R., and Haken, W., Every planar map is four colorable, Bull. Am. Math. Soc., vol. 82, pp. 711-712, 1976. # Apt, K., and Etalle, S., On the Unification Free Prolog Programs, Computer Science/Department of Software Technology, Report CS-R9331, May 1993. # Baader, and F., Snyder, W., Unification Theory, Chapter 8 of Handbook of Automated Reasoning, edited by Alan Robinson and Andrei Voronkov, Elsevier Science Publishers , 2001. # Bratko, I., Prolog Programming for Artificial Intelligence, Addison-Wesley International Computer Science Series, 1986. # Campbell, J.A., ed., Implementations of Prolog, Wiley, 1984. # Chang, C., and Lee, R. C., Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973. # Clocksin, W.F., and Mellish, C.S., Programming in Prolog, Springer-Verlag, 1981, 1992. # Clocksin, W.F., Cause and Effect: Prolog programming for the working programmer, Springer-Verlag, 1997. # Clocksin, W.F., Programming in Prolog: using the ISO standard , Springer-Verlag, 2003. # Covington, M. A.,Nute, D., and Vellino, A. Prolog Programming in Depth, Scott, Foresman and Company, Glenview, IL, London, 1988. # DeGroot, D., and Lindstrom, G., Logic Programming, Relations, and Equations, Prentice- Hall, 1986. # Fisher, J.R., Semantic trees for disjunctive logic programs, Intelligent Systems, Proc. Third Golden West International Conference, ed. E.A. Yfantis, pp.291-305, Klewer Academic Publishers, 1995. # Fisher, J.R., Logic program based action specifications, Proc. 1995 Symposium on Applied Computing (SAC'95), Nashville, Tenn., pp.248-52. # Fisher, J.R., and Tran, L., A Visual Logic, Proc. 1996 Symposium on Applied Computing (SAC'96), Philadelphia, Pa., pp.17-21. # Gazdar, G., and Mellish, C., Natural Language Processing in Prolog, Addison-Wesley, 1989. # Giannesini, F, Kanoui, H, Pasero, R., and van Caneghem, M, Prolog, Addison-Wesley International Computer Science Series, 1986. # Green, C., Theorem-proving by resolution as a basis for question-answering systems, in B. Meltzer and D. Michie, eds., Machine Intelligence 4, 183-205, Edinburgh University press, 1968. # Kowalski, R.A., Logic for problem solving, DCL Memo 75, Department of Artificial Intelligence, University of Edinburgh, Scotland, 1974. # Kowalski, R.A., Logic for Problem Solving, North Holland, 1979. # Kowalski, R.A., and Kuehner, D., Linear Resolution with selection function, Artificial Intelligence, (2) 227-60, 1971. # Lloyd, J.W., Foundations of Logic Programming, Springer-Verlag, 1984, 2nd ed. 1987. # Nilsson, N., Principles of Artificial Intelligence, Tioga, 1980. # O'Keefe, Richard A.,The Craft of Prolog, MIT Press, 1990. # Pereira, Fernando C.N., and Shieber, Stuart M., Prolog and Natural-Language Analysis, CSLI, 1987. # Robinson, J.A., A machine-oriented logic based on the resolution principle, Journal A.C.M., (12) 23-44, 1965. # Rowe, W.C., AI Through Prolog, Prentice Hall, 1988. # Shoham, Y., Artificial Intelligence Techniques in Prolog, Morgan Kaufmann Publishers, 1994. # Sterling, Leon, and Shapiro, Ehud, The Art of Prolog, MIT Press, 1986. # Van Le, T., Prolog Programming, Wiley, 1993. # Winston, Patrick Henry, Artificial Intelligence, 2nd. ed., Addison-Wesley, 1984. # Winston, P.H., and Horn, P., Lisp, Addison-Wesley, 1985. == Veja Também == * 1. [[Special:MyLanguage/Como executar o Prolog|Como executar o Prolog]] * [[Special:MyLanguage/Prolog Tutorial Sumário|Prolog Tutorial Sumário]] == Referências == [[Categoria:Prolog Tutorial]]
Menu de navegação
Ferramentas pessoais
português do Brasil
Entrar
Espaços nominais
Página especial
Variantes
Visualizações
Mais
Pesquisa
Navegação
Página principal
Mudanças recentes
Página aleatória
Ajuda do MediaWiki
Ferramentas
Páginas especiais
Versão para impressão