Logika pemrograman
Konsep > Negasi sebagai Kegagalan

Artikel utama: Negasi sebagai Kegagalan
Untuk sebagian besar aplikasi praktis, serta untuk aplikasi yang membutuhkan penalaran non-monotonik dalam kecerdasan buatan, program logika Klausa Horn perlu diperluas ke program logika normal dengan kondisi negatif. Sebuah "klausa" dalam program logika normal memiliki bentuk:
dan dibaca secara deklaratif sebagai implikasi logis:
Dimana H dan semua dari Ai dan Bi adalah formula atomik. Negasi pada literal negatif  not Bi
1 2  Winograd, Terry (1972). "Understanding natural language (Memahami Bahasa Natural)". Cognitive Psychology. 3 (1): 1–191. doi:10.1016/0010-0285(72)90002-3.
↑  Green, Cordell. Application of Theorem Proving to Problem Solving (Penerapan Teorema Pembuktian untuk Pemecahan Masalah) (PDF). IJCAI 1969.
↑  Foster, J.M.; Elcock, E.W. (1969). ABSYS 1:An Incremental Compiler for Assertions: an Introduction (Sebuah Penyusun Inkremental untuk Pernyataan: Sebuah Pengantar). Fourth Annual Machine Intelligence Workshop. Machine Intelligence. 4. Edinburgh, UK: Edinburgh University Press. hlm. 423–429.
↑  Hewitt, Carl. Planner: A Language for Proving Theorems in Robots (Bahasa untuk Membuktikan Teorema pada Robot) (PDF). IJCAI 1969.
↑  Hayes, Pat (1973). "Computation and Deduction (Komputasi dan Deduksi)". Proceedings of the 2nd MFCS Symposium (Kelanjutan dari Simposium MFCS ke-2). Czechoslovak Academy of Sciences. hlm. 105–118.
↑  Kowalski, Robert (1973). "Predicate Logic as a Programming Language (Predikat Logika sebagai Bahasa Pemrograman)" (PDF). Department of Artificial Intelligence, Edinburgh University. Memo 70.  Juga dalam kelanjutan kongres IFIP, Stockholm, Belanda utara Publishing Co., 1974, pp. 569–574.
↑  Kowalski, Robert; Kuehner, Donald (Winter 1971). .ic.ac.uk/~rak/papers/sl.pdf "Linear Resolution with Selection Function (Resolusi Linear dengan Fungsi Seleksi)" Periksa nilai |url= (bantuan) (PDF). Artificial Intelligence. 2 (3–4): 227–260. doi:10.1016/0004-3702(71)90012-9.
↑  Shapiro, Ehud (1989). The family of concurrent logic programming languages (Keluarga dari bahasa pemrograman logis konkuren) (PDF). International Summer School on Logic, Algebra and Computation. Diarsipkan dari versi asli (PDF) tanggal February 23, 2017.  Parameter |url-status= yang tidak diketahui akan diabaikan (bantuan) Juga muncul di Shapiro, E. (1989). "The family of concurrent logic programming languages (Keluarga dari bahasa pemrograman logis konkuren)". ACM Computing Surveys. 21 (3): 413–510. CiteSeerX 10.1.1.73.8108 . doi:10.1145/72551.72555.  Parameter |s2cid= yang tidak diketahui akan diabaikan (bantuan)
↑  Sáenz-Perez, Fernando; Caballero, Rafael; García-Ruiz, Yolanda (December 2011). A Deductive Database with Datalog and SQL Query Language (Sebuah Deduksi Basis Data dengan Datalog dan Bahasa Kueri SQL) (PDF). Asian Symposium on Programming Languages and Systems. Springer. hlm. 66–73.
↑  Van Emden, M.H.; Kowalski, R.A. (October 1976). "The semantics of predicate logic as a programming language (Semantik dari Predikat Logika Sebagai Bahasa Pemrograman)". Journal of the ACM. 23 (4): 733–742. doi:10.1145/321978.321991.  Parameter |s2cid= yang tidak diketahui akan diabaikan (bantuan)
↑  R.A.Kowalski (July 1979). "Algorithm=Logic + Control (Algoritma = Logika + Kontrol)". Communications of the ACM. 22 (7): 424–436. doi:10.1145/359131.359136 .  Parameter |s2cid= yang tidak diketahui akan diabaikan (bantuan)