การเขียนโปรแกรมเชิงตรรกะ

การเขียนโปรแกรมเชิงตรรกะ () เป็นแนวทางการเขียนโปรแกรม (programming paradigm) แบบหนึ่ง โดยกำหนดขอบเขตคุณลักษณะ (attribute) ของคำตอบ แทนที่จะกำหนดขั้นตอนที่ทำให้ได้คำตอบ ภาษาโปรแกรมสำหรับการเขียนโปรแกรมเชิงตรรกะที่ใช้อย่างกว้างขวาง คือ ภาษาโปรล็อก (Prolog) อีกภาษาหนึ่งที่ใช้ในเชิงการค้า คือ ภาษาเมอร์คิวรี (Mercury) การเขียนโปรแกรมแบบนี้มีหลักการคือ ความจริง + กฎ = ผลลัพธ์ หลักการอื่นที่แตกต่างให้ดู การเขียนโปรแกรมเชิงตรรกะแบบอุปนัย (Inductive logic programming)

จุดประสงค์ของการเขียนโปรแกรมเชิงตรรกะ คือ การนำตรรกศาสตร์เชิงรูปแบบ (formal logic) มาใช้เป็นภาษาคอมพิวเตอร์ นักคณิตศาสตร์และนักปรัชญาพบว่าตรรกะเป็นเครื่องมือที่ดีในการขยายความเนื้อหาของทฤษฎี ปัญหาหลายๆ อย่างสามารถแสดงเป็นทฤษฎีได้อย่างเป็นธรรมชาติ การกล่าวว่าปัญหาต้องการวิธีการแก้ไขก็เหมือนกับการถามว่าสมมติฐานใหม่สอดคล้องกับทฤษฎีที่มีอยู่แล้วหรือไม่ ตรรกศาสตร์กำหนดหนทางเพื่อพิสูจน์ว่าคำถามนั้นจริงหรือเท็จ และกระบวนการสร้างการพิสูจน์เป็นสิ่งที่รู้กันอย่างดีแล้ว ดังนั้นตรรกศาสตร์จึงเป็นทางที่เชื่อถือได้ในการหาคำตอบ และระบบการเขียนโปรแกรมเชิงตรรกะทำให้กระบวนการเหล่านี้เป็นไปอย่างอัตโนมัติ
การพัฒนาการเขียนโปรแกรมเชิงตรรกะนั้นให้อิทธิพลอย่างมากต่อปัญญาประดิษฐ์

แบบอย่างการเขียนโปรแกรม