การเขียนโปรแกรมเชิงตรรกะเป็นประเภทของการเขียนโปรแกรมคอมพิวเตอร์ที่โปรแกรมเมอร์จะต้องให้คำแนะนำคอมพิวเตอร์เกี่ยวกับวิธีการตัดสินใจโดยใช้ตรรกะทางคณิตศาสตร์เช่นการใช้อัลกอริทึมทางคณิตศาสตร์ โปรแกรมคอมพิวเตอร์ประกอบด้วยรหัสที่บอกคอมพิวเตอร์ว่าต้องทำอย่างไร อย่างไรก็ตามในที่สุดคอมพิวเตอร์จะทำงานเป็นอินสแตนซ์ที่จะต้องตัดสินใจเกี่ยวกับวิธีการดำเนินการและไม่มีข้อมูลใด ๆ เกี่ยวกับการทำเช่นนี้มันไม่สามารถทำหน้าที่ปัจจุบันให้เสร็จสมบูรณ์ได้ การเขียนโปรแกรมแบบลอจิกเกี่ยวข้องกับการตัดสินใจประเภทนี้และให้คำแนะนำกับคอมพิวเตอร์เพื่อให้สามารถตัดสินใจได้อย่าง "ตรรกะ" เกี่ยวกับวิธีที่ดีที่สุดในการตอบสนองต่อสถานการณ์บางอย่าง สำหรับการเขียนโปรแกรมแบบลอจิกในการทำงานโปรแกรมเมอร์ที่เขียนโค้ดจำเป็นต้องตรวจสอบให้แน่ใจว่าข้อความของเธอเหมาะสมและเป็นจริงดังนั้นจึงเป็นตรรกะและโปรแกรมคอมพิวเตอร์ที่เรียกว่าทฤษฎีบทจะต้องทำการตัดสินใจตามข้อความที่พบในโปรแกรมเมอร์ รหัส.
ทฤษฎีบทสุภาษิตหมายถึงโปรแกรมคอมพิวเตอร์ที่ได้รับการออกแบบมาเพื่อแก้ปัญหาทางคณิตศาสตร์ที่เรียกว่าทฤษฎีบท ทฤษฎีบทเป็นงบที่แสดงให้เห็นว่าเป็นจริงขึ้นอยู่กับงบก่อนหน้า ในการเขียนโปรแกรมแบบลอจิคัลทฤษฎีบทสุภาษิตทำงานร่วมกับข้อความที่สร้างขึ้นโดยโปรแกรมเมอร์คอมพิวเตอร์เพื่อให้ได้ข้อสรุป ตัวอย่างเช่นถ้ารหัสระบุว่า A เท่ากับ B และ B เท่ากับ C ทฤษฎีบท - ผู้เฉลียวฉลาดจะทำให้ข้อสรุปเชิงตรรกะที่ A ต้องเท่ากับ C กระบวนการนี้แตกต่างจากโปรแกรมเมอร์เพียงแค่บอกคอมพิวเตอร์ใน รหัสที่ A เท่ากับ C เนื่องจากโปรแกรมคอมพิวเตอร์ต้องวาดข้อสรุปนี้โดยใช้ theorem-prover และข้อความต้นฉบับของโปรแกรมเมอร์ในรหัส
ในทางทฤษฎีสำหรับการเขียนโปรแกรมเชิงตรรกะในการทำงานโปรแกรมเมอร์ต้องการเพียงเพื่อให้แน่ใจว่าคำพูดของเธอถูกต้องและผู้สร้างทฤษฎีบท - ผู้พิสูจน์ควรแน่ใจว่าโปรแกรมสามารถอ่านคำแถลงและทำการตัดสินใจที่มีประสิทธิภาพสูงสุดตามพวกเขา ความสามารถในการตัดสินใจที่มีประสิทธิภาพหมายถึงคอมพิวเตอร์ที่ทำงานในลักษณะ "เชิงตรรกะ" ในความเป็นจริงทั้งสองฟิลด์ของงานทับซ้อนกันและผู้ที่ทำการเขียนโปรแกรมแบบลอจิคัลมักจะต้องเปลี่ยนและจัดการรหัสตามวิธีการที่นักทฤษฎีบททำงานเพื่อให้ได้ผลลัพธ์ที่ต้องการ เพียงแค่ใส่ข้อความที่ถูกต้องเกี่ยวกับวิธีการตัดสินใจบางอย่างอาจไม่เพียงพอที่จะทำให้คอมพิวเตอร์ทำงานได้อย่างถูกต้องและโปรแกรมเมอร์จะต้องทดสอบโค้ดของเธอและทำการปรับเปลี่ยนตามนั้น
สำหรับการเขียนโปรแกรมแบบลอจิคัลในการทำงานก็ยังขึ้นอยู่กับการใช้เหตุผลย้อนหลัง ในการใช้เหตุผลย้อนหลังโปรแกรมมาถึงข้อสรุปโดยดูที่ชุดข้อมูลและทำงานจากข้อความทั่วไปที่รู้จักเพื่อให้ได้ข้อสรุปที่สูงขึ้น โปรแกรมอาจรู้ว่าข้อมูลสองชิ้นนั้นเป็นจริงและจะอนุมานได้ว่าเนื่องจากข้อมูลทั้งสองนั้นเป็นจริงนั่นหมายถึงข้อมูลชิ้นที่สามก็เป็นจริงเช่นกัน มันดำเนินการกระบวนการนี้ต่อไปจนกว่าจะได้ข้อสรุปเชิงตรรกะโดยยึดตามข้อมูลที่ได้รับ เนื่องจากวิธีการทำงานการเขียนโปรแกรมแบบลอจิคัลถูกสร้างขึ้นด้วยภาษาที่แสดงการประกาศซึ่งหมายความว่าโปรแกรมจะบอกคอมพิวเตอร์ว่าควรทำอะไร แต่ปล่อยให้มันขึ้นอยู่กับบทพิสูจน์ทฤษฎีบทเพื่อกำหนดวิธีที่สมเหตุสมผลที่สุด


