逻辑型程序设计(logic programming),一种程序设计,是设计、编制和调试逻辑型程序的技术。
逻辑型程序设计是由柯娃尔斯基(Kowalski , R. A. )及考莫瑞尔(Colmerauer,A.)首先提出的,1972年,他们提出“逻辑可当做程序设计语言来使用”.柯娃尔斯基提出“算法一逻辑+控制”.这里的逻辑是指对所解问题的描述,即程序的说明性语义;而控制则是如何解题的描述,即程序的过程性操作语义.理想的逻辑型程序设计只需程序员说明一个算法的逻辑部分,而控制部分完全应由系统来解决.逻辑型程序包括一组以一阶谓词逻辑的horn子句组成的规则,其每一规则可以翻译成IF-THEN形式的逻辑语言,可以翻译成能由解释程序执行的过程.计算则是推理过程的结果.典型的逻辑型程序语言是PROLOG.针对PROLOG低效的回溯型控制策略,已经提出逻辑型程序的并行解释模型和并行逻辑程序设计.逻辑型程序设计由于在表达知识和建立软件的快速原型示范方面的明显优势,已经应用至自然语言处理、数据库、专家系统、符号代数处理、程序变换和验证、面向对象程序设计等领域.