Su ejecución se basa en dos conceptos: la unificación y el backtracking.