La
programmation logique est une forme de
programmation qui définit les applications à l'aide d'un ensemble de faits élémentaires les concernant et de règles de
logique leur associant des conséquences plus ou moins directes. Ces faits et ces règles sont exploités par un démonstrateur de théorème ou moteur d'inférence, en réaction à une question ou requête.