O paradigma lógico de programação é fundamentado na lógica matemática e na definição de fatos e regras para a resolução de problemas. Em linguagens como Prolog, qual característica essencial define esse paradigma em contraste com os paradigmas imperativo e funcional?