title: Programmazione logica
text: # Programmazione logica
  
  In informatica la programmazione logica è un paradigma di programmazione nato negli anni '70 che adotta la logica del primo ordine sia per rappresentare sia per elaborare l'informazione. La programmazione logica differisce dalla programmazione tradizionale, sviluppata da linguaggi ad alto livello quali Fortran, Cobol, Basic, Algol, Pascal, Ada, etc., in quanto richiede e nello stesso tempo consente al programmatore di descrivere la struttura logica del problema piuttosto che il modo di risolverlo. Da un punto di vista concettuale, il programmatore si può così concentrare sugli aspetti logici del problema e sul modo migliore per rappresentarli, senza essere focalizzato sulla necessità di determinare in dettaglio il modo di pervenire ai risultati.
  
  In particolare viene adottato il frammento della logica a clausole di Horn che rappresenta la base teorica su cui sono costruiti i linguaggi di programmazione afferenti al paradigma logico e in particolare il Prolog, o suoi sottolinguaggi, come Datalog o AnsProlog.
  
  Il meccanismo principale per elaborare teorie logiche fatte di clausole è l'unificazione.
  
  Fra le estensioni della programmazione logica sono la programmazione logica induttiva e la programmazione logica abduttiva.
  
  