La programación lógica es un paradigma de programación donde los programas se expresan como conjuntos de afirmaciones lógicas y reglas. Es útil para aplicaciones de inteligencia artificial como sistemas expertos y reconocimiento de lenguaje natural. La mayoría de los lenguajes de programación lógica se basan en la lógica de primer orden aunque también incorporan comportamientos de orden superior. Algunos campos donde es útil incluyen sistemas expertos, demostración automática de teoremas y reconocimiento de lenguaje natural.