SlideShare una empresa de Scribd logo
1 de 76
Descargar para leer sin conexión
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden




           Lógica matemática y fundamentos (2011–12)
            Tema 6: Sintaxis y semántica de la lógica de primer orden


                                      José A. Alonso Jiménez
                                      María J. Hidalgo Doblado

                                  Grupo de Lógica Computacional
                          Departamento de Ciencias de la Computación e I.A.
                                       Universidad de Sevilla




                                                                              1 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden




Tema 6: Sintaxis y semántica de la lógica de primer orden

  1. Representación del conocimiento en lógica de primer orden

  2. Sintaxis de la lógica de primer orden

  3. Semántica de la lógica de primer orden




                                                                 2 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden




Tema 6: Sintaxis y semántica de la lógica de primer orden

  1. Representación del conocimiento en lógica de primer orden
        Representación de conocimiento geográfico
        Representación del mundo de los bloques
        Representación de conocimiento astronómico

  2. Sintaxis de la lógica de primer orden

  3. Semántica de la lógica de primer orden




                                                                 3 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento geográfico



Limitación expresiva de la lógica proposicional
         Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina
         de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina
         de Sevilla
                 Representación en lógica proposicional:
                   {SvC → CvS, SvC } |= CvS
         Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda
         es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto,
         Cádiz es vecina de Sevilla
                 Representación en lógica proposicional: Imposible
                 Representación en lógica de primer orden:
                   {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)}
                   |= vecina(Cadiz, Sevilla)




                                                                                       4 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento geográfico



Limitación expresiva de la lógica proposicional
         Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina
         de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina
         de Sevilla
                 Representación en lógica proposicional:
                   {SvC → CvS, SvC } |= CvS
         Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda
         es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto,
         Cádiz es vecina de Sevilla
                 Representación en lógica proposicional: Imposible
                 Representación en lógica de primer orden:
                   {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)}
                   |= vecina(Cadiz, Sevilla)




                                                                                       4 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento geográfico



Limitación expresiva de la lógica proposicional
         Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina
         de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina
         de Sevilla
                 Representación en lógica proposicional:
                   {SvC → CvS, SvC } |= CvS
         Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda
         es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto,
         Cádiz es vecina de Sevilla
                 Representación en lógica proposicional: Imposible
                 Representación en lógica de primer orden:
                   {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)}
                   |= vecina(Cadiz, Sevilla)




                                                                                       4 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento geográfico



Limitación expresiva de la lógica proposicional
         Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina
         de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina
         de Sevilla
                 Representación en lógica proposicional:
                   {SvC → CvS, SvC } |= CvS
         Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda
         es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto,
         Cádiz es vecina de Sevilla
                 Representación en lógica proposicional: Imposible
                 Representación en lógica de primer orden:
                   {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)}
                   |= vecina(Cadiz, Sevilla)




                                                                                       4 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques




         Simbolización:
                 sobre(x , y ) se verifica si el bloque x está colocado sobre el bloque
                 y
                 sobre_mesa(x ) se verifica si el bloque x está sobre la mesa
         Situación del ejemplo:
            sobre(a, b), sobre(b, c), sobre_mesa(c), sobre(d, e), sobre_mesa(e)
                                                                                         5 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques
         Definiciones:
                 bajo(x , y ) se verifica si el bloque x está debajo del bloque y
                     ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )]
                 encima(x , y ) se verifica si el bloque x está encima del bloque y
                 pudiendo haber otros bloques entre ellos
                     ∀x ∀y [ encima(x , y ) ↔
                                sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y sobre(y , x )]
                 pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el
                 z y el z sobre la mesa
                     ∀x ∀y ∀z [ pila(x , y , z) ↔
                                    sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)]
         Propiedades:
                 Si z, y , z es una pila entonces y no está libre
                    ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )]
                                                                                             6 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques con funciones e
igualdad
         Simbolización:
                 es_bloque(x ) se verifica si x es un bloque.
                 superior(x ) es el bloque que está sobre el bloque x .
         Situación del ejemplo:
                 es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d),
                 es_bloque(e)
                 superior(b) = a, superior(c) = b, superior(e) = d
         Definiciones:
                 sobre_mesa(x ) se verifica si el bloque x está sobre la mesa
                     ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ]
                 tope(x ) es el bloque libre que está encima de x
                     ∀x [ (libre(x ) → tope(x ) = x )∧
                           (¬ libre(x ) → tope(x ) = tope(superior(x )))]
                                                                                   7 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques con funciones e
igualdad
         Simbolización:
                 es_bloque(x ) se verifica si x es un bloque.
                 superior(x ) es el bloque que está sobre el bloque x .
         Situación del ejemplo:
                 es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d),
                 es_bloque(e)
                 superior(b) = a, superior(c) = b, superior(e) = d
         Definiciones:
                 sobre_mesa(x ) se verifica si el bloque x está sobre la mesa
                     ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ]
                 tope(x ) es el bloque libre que está encima de x
                     ∀x [ (libre(x ) → tope(x ) = x )∧
                           (¬ libre(x ) → tope(x ) = tope(superior(x )))]
                                                                                   7 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques con funciones e
igualdad
         Simbolización:
                 es_bloque(x ) se verifica si x es un bloque.
                 superior(x ) es el bloque que está sobre el bloque x .
         Situación del ejemplo:
                 es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d),
                 es_bloque(e)
                 superior(b) = a, superior(c) = b, superior(e) = d
         Definiciones:
                 sobre_mesa(x ) se verifica si el bloque x está sobre la mesa
                     ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ]
                 tope(x ) es el bloque libre que está encima de x
                     ∀x [ (libre(x ) → tope(x ) = x )∧
                           (¬ libre(x ) → tope(x ) = tope(superior(x )))]
                                                                                   7 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación del mundo de los bloques



Representación del mundo de los bloques con funciones e
igualdad
         Simbolización:
                 es_bloque(x ) se verifica si x es un bloque.
                 superior(x ) es el bloque que está sobre el bloque x .
         Situación del ejemplo:
                 es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d),
                 es_bloque(e)
                 superior(b) = a, superior(c) = b, superior(e) = d
         Definiciones:
                 sobre_mesa(x ) se verifica si el bloque x está sobre la mesa
                     ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ]
                 libre(x ) se verifica si el bloque x no tiene bloques encima
                     ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ]
                 tope(x ) es el bloque libre que está encima de x
                     ∀x [ (libre(x ) → tope(x ) = x )∧
                           (¬ libre(x ) → tope(x ) = tope(superior(x )))]
                                                                                   7 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra es un planeta:
            planeta(Tierra)
         La Luna no es un planeta:
            ¬ planeta(Luna)
         La Luna es un satélite:
            satélite(Luna)
         La Tierra gira alrededor del Sol:
            gira(Tierra, Sol)
         Todo planeta es un satélite:
            ∀x [planeta(x ) → satélite(x )]
         Todo planeta gira alrededor del Sol:
            ∀x [planeta(x ) → gira(x , Sol)]
         Algún planeta gira alrededor de la Luna:
            ∃x [planeta(x ) ∧ gira(x , Luna)]
                                                                8 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         Hay por lo menos un satélite:
            ∃x satélite(x )
         Ningún planeta es un satélite:
            ¬∃x [planeta(x ) ∧ satélite(x )]
         Ningún objeto celeste gira alrededor de sí mismo:
            ¬∃x gira(x , x )
         Alrededor de los satélites no giran objetos:
            ∀x [satélite(x ) → ¬∃y gira(y , x )]
         Hay exactamente un satélite:
            ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]]
         La Luna es un satélite de la Tierra:
            satélite(Luna, Tierra)
         Todo planeta tiene un satélite:
            ∀x [planeta(x ) → ∃y satélite(y , x )]
                                                                9 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Representación del conocimiento en lógica de primer orden
     Representación de conocimiento astronómico



Representación de conocimiento astronómico
         La Tierra no tiene satélites:
            ¬∃x satélite(x , Tierra)
         Algún planeta no tiene satélites:
            ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )]
         Sólo los planetas tienen satélites:
            ∀x [∃y satélite(y , x ) → planeta(x )]
         Todo satélite es satélite de algún planeta:
            ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))]
         La Luna no gira alrededor de dos planetas diferentes:
            ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧
                       gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ]
         Hay exactamente dos planetas:
            ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧
                     ∀z [planeta(z) → z = x ∨ z = y ]]
                                                                      10 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden




Tema 6: Sintaxis y semántica de la lógica de primer orden

  1. Representación del conocimiento en lógica de primer orden

  2. Sintaxis de la lógica de primer orden
        Lenguaje de primer orden
        Términos y fórmulas de primer orden
        Subfórmulas
        Variables libres y ligadas

  3. Semántica de la lógica de primer orden




                                                                 11 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Lenguaje de primer orden



Lenguaje de primer orden
          Símbolos lógicos:
                  Variables: x , y , z, . . . , x1 , x2 , . . ..
                  Conectivas: ¬, ∧, ∨, →, ↔.
                  Cuantificadores: ∀, ∃.
                  Símbolo de igualdad: =.
          Símbolos propios:
                  Símbolos de constantes: a, b, c, . . . , a1 , a2 , . . ..
                  Símbolos de predicado (con aridad): P, Q, R, . . . , P1 , P2 , . . ..
                  Símbolos de función (con aridad): f , g, h, . . . , f1 , f2 , . . ..
          Símbolos auxiliares: “(”, “)”, “,”.
          Notación:
                  L, L1 , L2 , . . . representan lenguajes de primer orden.
                  Var representa el conjunto de las variables.
          Los símbolos de predicados de aridad mayor que 1 se llaman de
          relaciones.
                                                                                          12 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Lenguaje de primer orden



Ejemplos de lenguajes de primer orden
          Lenguaje del mundo de los bloques:
                  Símbolos de constantes: a, b, c, d, e
                  Símbolos de predicado (y de relación):
                  – de aridad 1: sobre_mesa, libre, es_bloque
                  – de aridad 2: sobre, bajo, encima
                  – de aridad 3: pila
                  Símbolos de función (de aridad 1): superior, tope
          Lenguaje de la aritmética:
                  Símbolos de constantes: 0, 1
                  Símbolos de función:
                  – monaria: s (siguiente)
                  – binarias: +, ·
                  Símbolo de predicado binario: <



                                                                      13 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Términos y fórmulas de primer orden



Términos
          Def. de término de un lenguaje de primer orden L:
                  Las variables son términos de L.
                  Las constantes de L son términos de L.
                  Si f es un símbolo de función n–aria de L y t1 , . . . , tn son términos
                  de L, entonces f (t1 , . . . , tn ) es un término de L.
          Ejemplos:
                  En el lenguaje de la aritmética,
                           +(·(x , 1), s(y )) es un término, que se suele escribir como
                           (x · 1) + s(y )
                           +(·(x , <), s(y )) no es un término
                  En el lenguaje del mundo de los bloques,
                           superior(superior(c)) es un término.
                           libre(superior(c)) no es un término.
          Notación:
                  s, t, t1 , t2 , . . . representan términos.
                  Térm(L) representa el conjunto de los términos de L
                                                                                             14 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Términos y fórmulas de primer orden



Fórmulas atómicas
          Def. de fórmula atómica de un lenguaje de primer orden L:
                  Si t1 y t2 son términos de L, entonces t1 = t2 es una fórmula
                  atómica de L.
                  Si P es un símbolo de relación n–aria de L y t1 , . . . , tn son
                  términos de L, entonces P(t1 , . . . , tn ) es una fórmula atómica de
                  L.
          Ejemplos:
                  En el lenguaje de la aritmética,
                           < (·(x , 1), s(y )) es una fórmula atómica que se suele escribir
                           como x · 1 < s(y )
                           +(x , y ) = ·(x , y ) es una fórmula atómica que se suele escribir
                           como x + y = x · y
                  En el lenguaje del mundo de los bloques,
                           libre(superior(c)) es una fórmula atómica.
                           tope(c) = superior(b) es una fórmula atómica.
          Notación:
                  A, B, A1 , A2 , . . . representan fórmulas atómicas.
                  Atóm(L) representa el conjunto de las fórmulas atómicas de L.                 15 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Términos y fórmulas de primer orden



Fórmulas
          Definición de las fórmulas de L:
                  Las fórmulas atómicas de L son fórmulas de L.
                  Si F y G son fórmulas de L, entonces ¬F , (F ∧ G), (F ∨ G),
                  (F → G) y (F ↔ G) son fórmulas de L.
                  Si F es una fórmula de L, entonces ∀x F y ∃x F son fórmulas de
                  L.
          Ejemplos:
                  En el lenguaje de la aritmética,
                           ∀x ∃y < (x , y ) es una fórmula que se escribe como ∀x ∃y x < y
                           ∀x ∃y + (x , y ) no es una fórmula.
                  En el lenguaje del mundo de los bloques,
                           ∀x (tope(x ) = x ↔ libre(x )) es una fórmula.
          Notación:
                   F , G, H, F1 , F2 , . . . representan fórmulas.
                   Fórm(L) representa el conjunto de las fórmulas de L.
                                                                                             16 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Subfórmulas



Árboles de análisis (o de formación)
        ∀x (R(x , c) → P(f (y )))                                       ∀x


            R(x , c) → P(f (y ))                                        →


               R(x , c) P(f (y ))                                   R        P


           x                c f (y )                            x       c    f


                                    y                                        y

                                                                                 17 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Subfórmulas



Subfórmulas
          Def: El conjunto Subf(F ) de las subfórmulas de una fórmula F se
          define recursivamente por:
          Subf(F ) =
          
          {F },
                                        si F es una fórmula atómica;
          
          
          {F } ∪ Subf(G),
                                        si F = ¬G;
          
          
            {F } ∪ Subf(G) ∪ Subf(H), si F = G ∗ H;
          
          {F } ∪ Subf(G),
          
                                        si F = ∀x G;
          
          
          
            {F } ∪ Subf(G),              si F = ∃x G
          

          Ejemplo:
             Subf(∀x (R(x , c) → P(f (y )))) = { ∀x (R(x , c) → P(f (y ))),
                                                  (R(x , c) → P(f (y ))),
                                                  R(x , c),
                                                  P(f (y ))}
                                                                              18 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Subfórmulas



Criterios de reducción de paréntesis
          Pueden eliminarse los paréntesis externos.
            F ∧ G es una abreviatura de (F ∧ G)
          Precedencia de asociación de conectivas y cuantificadores:
          ∀, ∃, ¬, ∧, ∨, →, ↔.
              ∀x P(x ) → Q(x ) es una abreviatura de (∀x P(x )) → Q(x )
          Cuando una conectiva se usa repetidamente, se asocia por la
          derecha.
              F ∨G ∨H                es una abreviatura de (F ∨ (G ∨ H))
              F ∧ G ∧ H → ¬F ∨ G es una abreviatura de ((F ∧ (G ∧ H)) →
          Los símbolos binarios pueden escribirse en notación infija.
              x + y es una abreviatura de +(x , y )
              x < y es una abreviatura de < (x , y )


                                                                          19 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Variables libres y ligadas



Conjuntos de variables
          Def.: El conjunto de las variables
                                                               del término t es
                     ∅,
                                                                si t es una constante;
                     
             V(t) = {x },                                        si t es una variable x ;
                     
                     V(t ) ∪ · · · ∪ V(t ),
                     
                                                                 si t es f (t1 , . . . , tn )
                          1               n
          Def.: El conjunto de las variables
                                                               de la fórmula F es
                      V(t1 ) ∪ V(t2 ),
                                                                 si F es t1 = t2 ;
                      
                      
                      V(t1 ) ∪ · · · ∪ V(tn ),
                      
                                                                 si F es P(t1 , . . . , tn );
                      
                      
                      V(G),                                      si F es ¬G;
                      
             V(F ) =
                      V(G) ∪ V(H),
                                                                 si F es G ∗ H;
                      
                      
                      V(G),                                      si F es ∀x G;
                      
                      
                      
                      
                      
                      
                        V(G),                                     si F es ∃x G
          Ejemplos:
                  El conjunto de las variables de ∀x (R(x , c) → P(f (y ))) es {x , y }.
                  El conjunto de las variables de ∀x (R(a, c) → P(f (y ))) es {y }.              20 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Variables libres y ligadas



Apariciones libres y ligadas
          Def.: Una aparición (u ocurrencia) de la variable x en la fórmula
          F es ligada si es en una subfórmula de F de la forma ∀x G ó
          ∃x G.
          Def.: Una aparición (u ocurrencia) de la variable x en la fórmula
          F es libre si no es ligada.
          Ejemplo: Las apariciones ligadas son las subrayadas:
             ∀x (P(x ) → R(x , y )) → (∃y P(y ) → R(z, x ))
             ∃x R(x , y ) ∨ ∀y P(y )
             ∀x (P(x ) → ∃y R(x , y ))
             P(x ) → R(x , y )




                                                                              21 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Variables libres y ligadas



Variables libres y ligadas
          La variable x es libre en F si tiene una aparición libre en F .
          La variable x es ligada en F si tiene una aparición ligada en F .
          El conjunto de las variables libres de una fórmula F es:
                       
                       V(t1 ) ∪ V(t2 ),
                                                si F es t1 = t2 ;
                       
                       
                       V(t1 ) ∪ · · · ∪ V(tn ), si F es P(t1 , . . . , tn );
                       
                       
                       
                       
                       VL(G),                   si F es ¬G;
                       
             VL(F ) =
                       VL(G) ∪ VL(H),
                                                si F es G ∗ H;
                       
                       
                       VL(G)  {x },
                       
                                                si F es ∀x G;
                       
                       
                       
                       
                         VL(G)  {x },           si F es ∃x G
          Ejemplo:
              Fórmula                                                Ligadas Libres
              ∀x (P(x ) → R(x , y )) → (∃y P(y ) → R(x , z)) x , y            x, y, z
              ∀x (P(x ) → ∃y R(x , y ))                              x, y
              ∀z (P(x ) → R(x , y ))                                          x, y
                                                                                    22 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Sintaxis de la lógica de primer orden
     Variables libres y ligadas



Fórmulas cerradas y abiertas
          Fórmula cerradas:
                  Def.: Una fórmula cerrada (o sentencia) es una fórmula sin
                  variables libres.
                  Ejemplos: ∀x (P(x ) → ∃y R(x , y )) es cerrada.
                               ∃x R(x , y ) ∨ ∀y P(y )  no es cerrada.
          Fórmulas abiertas:
                  Def.: Una fórmula abierta es una fórmula con variables libres.
                  Ejemplos: ∀x (P(x ) → ∃y R(x , y )) no es abierta.
                              ∃x R(x , y ) ∨ ∀y P(y )   es abierta.




                                                                                   23 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden




Tema 6: Sintaxis y semántica de la lógica de primer orden

  1. Representación del conocimiento en lógica de primer orden

  2. Sintaxis de la lógica de primer orden

  3. Semántica de la lógica de primer orden
       Estructuras, asignaciones e interpretaciones
       Evaluación de términos y fórmulas
       Modelo, satisfacibilidad y validez de fórmulas
       Modelo y consistencia de conjuntos de fórmulas
       Consecuencia lógica
       Equivalencia lógica


                                                                 24 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Estructuras, asignaciones e interpretaciones



Estructuras, asignaciones e interpretaciones
          Una estructura del lenguaje L es un par I = (U, I) tal que:
                  U es un conjunto no vacío, denominado universo de la estructura;
                  I es una función con dominio el conjunto de símbolos propios de L
                  tal que
                          si c es una constante de L, entonces I(c) ∈ U;
                          si f es un símbolo de función n–aria de L, entonces I(f ) : U n → U;
                          si P es un símbolo de relación 0–aria de L, entonces I(P) ∈ {1, 0};
                          si R es un símbolo de relación n–aria (n > 0) de L, entonces
                          I(R) ⊆ U n ;
          Una asignación A en una estructura (U, I) es una función
          A : Var → U que hace corresponder a cada variable del alfabeto
          un elemento del universo de la estructura.
          Una interpretación de L es un par (I, A) formado por una
          estructura I de L y una asignación A en I.
          Notación: A veces se usa para los valores de verdad V y F en
          lugar de 1 y 0.
                                                                                                 25 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Estructuras, asignaciones e interpretaciones



Ejemplos de estructuras
  Sea L el lenguaje de la aritmética cuyos símbolos propios son:
       constante: 0;
       símbolo de función monaria: s;
       símbolo de función binaria: + y
       símbolo de relación binaria: ≤
      Primera estructura de L:
          U1 = N
          I1 (0) = 0
          I1 (s) = {(n, n + 1) : n ∈ N} (sucesor)
          I1 (+) = {(a, b, a + b) : a, b ∈ N} (suma)
          I1 (≤) = {(n, m) : n, m ∈ N, n ≤ m} (menor o igual)
      Segunda estructura de L:
          U2 = {0, 1}∗ (cadenas de 0 y 1)
          I2 (0) = (cadena vacía)
          I2 (s) = {(w , w 1) : w ∈ {0, 1}∗ } (siguiente)          26 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Estructuras, asignaciones e interpretaciones



Ejemplos de estructuras
          Tercera estructura de L:
          U3 = {abierto, cerrado}
          I3 (0) = cerrado
          I3 (s) = {(abierto, cerrado), (cerrado, abierto)}
          I3 (+) =
          { (abierto, abierto, abierto), (abierto, cerrado, abierto),
              (cerrado, abierto, abierto), (cerrado, cerrado, cerrado)}
          I3 (≤) =
          { (abierto, abierto), (cerrado, abierto), (cerrado, cerrado)}
                  e     I3 (s)(e)
              abierto cerrado
              cerrado abierto
               I3 (+) abierto cerrado              I3 (≤) abierto cerrado
              abierto abierto abierto             abierto      1        0
              cerrado abierto cerrado             cerrado      1        1   27 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Ejemplo de evaluación de términos
          Sean L el lenguaje de la página 57 y t el término s(x + s(0)).
                  Si I es la primera estructura y A(x ) = 3, entonces
                  IA (t) = IA (s(x + s(0))) = s I (3 +I s I (0I )) =
                         = s I (3 +I s I (0))   = s I (3 +I 1) =
                             I
                         = s (4)                =5
                  Si I es la segunda estructura y A(x ) = 10, entonces
                  IA (t) = IA (s(x + s(0))) = s I (10 +I s I (0I )) =
                         = s I (10 +I s I ( ))  = s I (10 +I 1) =
                             I
                         = s (101)              = 1011
                  Si I es la tercera estructura y A(x ) = abierto, entonces
                  IA (t) = IA (s(x + s(0)))                = s I (abierto +I s I (0I )) =
                         = s (abierto + s (cerrado)) = s I (abierto +I abierto) =
                             I              I I

                         = s I (abierto)                   = cerrado



                                                                                            28 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Evaluación de términos
          Def.: Dada una estructura I = (U, I) de L y una asignación A en
          I, se define la función de evaluación de términos
          IA : Térm(L) → U por
                       
                       I(c),
                                                      si t es una constante c;
                       
              IA (t) = A(x ),                          si t es una variable x ;
                       
                       I(f )(I (t ), . . . , I (t )), si t es f (t , . . . , t )
                       
                                A 1            A n                 1           n
          IA (t) se lee “el valor de t en I respecto de A”.
          Ejemplo: Sean L el lenguaje de la página
          57, t el término s(+(x , s(0))), I la primera estructura y A(x ) = 3.
             IA (t) = IA (s(+(x , s(0))))               = I(s)(IA (+(x , s(0)))) =
                     = I(s)(I(+)(IA (x ), IA (s(0)))) = I(s)(I(+)(A(x ), IA (s(0))))
                     = I(s)(I(+)(3, I(s)(IA (0))))      = I(s)(I(+)(3, I(s)(I(0)))) =
                     = I(s)(I(+)(3, I(s)(0)))           = I(s)(I(+)(3, 1)) =
                     = I(s)(4)                          =5
                                                                                29 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Evaluación de fórmulas
          Def.: Dada una estructura I = (U, I) de L y una asignación A
          sobre I, se define la función de evaluación de fórmulas
          IA : Fórm(L) → B por
           – Si F es t1 = t2 ,            IA (F ) = H= (IA (t1 ), IA (t2 ))
           – Si F es P(t1 , . . . , tn ), IA (F ) = HI(P) (IA (t1 ), . . . , IA (tn ))
           – Si F es ¬G,                  IA (F ) = H¬ (IA (G))
           – Si F es G ∗ H,               IA (F ) = H∗ (IA (G), IA (H))
                                                    
                                                    1, si para todo u ∈ U se tiene
                                                    
                                                    
           – Si F es ∀x G,                IA (F ) =        IA[x /u] (G) = 1;
                                                    
                                                    
                                                    0, en caso contrario
                                                    
                                                    1, si existe algún u ∈ U tal que
                                                    
                                                    
           – Si F es ∃x G,                IA (F ) =        IA[x /u] (G) = 1;
                                                    
                                                    
                                                    0, en caso contrario
          IA (F ) se lee “el valor de F en I respecto de A”.                           30 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Conceptos auxilares para la evaluación de fórmulas
          La función de verdad de la igualdad en U es la función
          H= : U 2 → B definida por
                                   1, si u1 = u2 ;
             H= (u1 , u2 ) =
                                   0, en caso contrario
          Función de verdad de una relación: Si R es una relación n–aria en
          U (i.e. R ⊆ U n ), entonces la función de verdad de R es la
          función HR : U n → B definida por
                                      1, si (u1 , . . . , un ) ∈ R;
             HR (u1 , . . . , un ) =
                                      0, en caso contrario
          Variante de una asignación: Sea A una asignación en la
          estructura (U, I) y u ∈ U. Mediante A[x /u] se representa la
          asignación definida por
                                   u,     si y es x ;
             A[x /u](y ) =
                                   A(y ) si y es distinta de x
                                                                              31 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Ejemplo de evaluación de fórmula
  Evaluación de ∀x ∃y P(x , y ) en la estructura I = (U, I) tal que
  U = {1, 2} e I(P) = {(1, 1), (2, 2)}
   IA (∀x ∃y P(x , y )) = V ⇔ IA[x /1] (∃y P(x , y )) = V y
                               IA[x /2] (∃y P(x , y )) = V

        IA[x /1] (∃y P(x , y )) = V ⇔ IA[x /1,y /1] P(x , y ) = V ó
                                      IA[x /1,y /2] P(x , y ) = V
         IA[x /1,y /1] P(x , y ) = P I (1, 1) = V
         Luego, IA[x /1] (∃y P(x , y )) = V.
        IA[x /2] (∃y P(x , y )) = V ⇔ IA[x /2,y /1] P(x , y ) = V ó
                                            IA[x /2,y /2] P(x , y ) = V
        IA[x /2,y /2] P(x , y ) = P I (2, 2) = V
        Luego, IA[x /2] (∃y P(x , y )) = V.
   Por tanto, IA (∀x ∃y P(x , y )) = V
                                                                          32 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Ejemplo de evaluación de fórmulas
  Evaluación de ∀x g(g(x )) = x en la estructura I = (U, I) tal que
  U = {1, 2} e I(g) = {(1, 2), (2, 1)}.
   IA (∀x g(g(x )) = x ) = V ⇔ IA[x /1] g(g(x )) = x = V y
                                 IA[x /2] g(g(x )) = x = V

        IA[x /1] (g(g(x )) = x ) = (g I (g I (1)) = 1)
                                 = (g I (2) = 1)
                                 = (1 = 1)
                                 =V
     IA[x /2] (g(g(x )) = x ) = (g I (g I (2)) = 2)
                              = (g I (1) = 2)
                              = (2 = 2)
                              =V
   Por tanto, IA (∀x g(g(x )) = x ) = V.
                                                                      33 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Dependencias en la evaluación de fórmulas
          Ejemplo de dependencia del universo: Sea G la fórmula
          ∀x ∃y R(y , x ), entonces
                  IA (G) = V, siendo I = (Z, I), I(R) = < y A una asignación en I.
                  IA (G) = F, siendo I = (N, I), I(R) = < y A una asignación en I.
          Ejemplo de dependencia de la estructura: Sea G la fórmula
          ∃x ∀y R(x , y ), entonces
                  IA (G) = V, siendo I = (N, I), I(R) = ≤ y A una asignación en I.
                  IA (G) = F, siendo I = (N, I), I(R) = ≥ y A una asignación en I.
          Ejemplo de dependencia de la asignación: Sea G la fórmula
          ∀y R(x , y ), entonces
                  IA (G) = V, siendo I = (N, I), I(R) = ≤ y A una asignación en I
                  tal que A(x ) = 0.
                  IA (G) = F, siendo I = (N, I), I(R) = ≤ y A una asignación en I
                  tal que A(x ) = 5.

                                                                                     34 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Evaluación de términos y fórmulas



Evaluación y variables libres
          Sea t un término de L e I una estructura de L.
                  Si A y B son dos asignaciones en I que coinciden sobre las
                  variables de t, entonces IA (t) = IB (t).
                  Si t no tiene variables, entonces IA (t) = IB (t) para cualesquiera
                  asignaciones A y B en I. Se suele escribir simplemente I(t).
          Sea F una fórmula de L e I una estructura de L.
                  Si A y B son dos asignaciones en I que coinciden sobre las
                  variables libres de F , entonces IA (F ) = IB (F ).
                  Si F es cerrada, entonces IA (F ) = IB (F ) para cualesquiera
                  asignaciones A y B en I. Se suele escribir simplemente I(F ).




                                                                                        35 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Modelo, satisfacibilidad y validez de fórmulas



Modelo de una fórmula
          Sean F una fórmula de L e I una estructura de L.
                  (I, A) es una realización de F si A es una asignación en I tal que
                  IA (F ) = 1.
                  Se representa por IA |= F .
                  I es un modelo de F si, para todo asignación A en I, IA (F ) = 1.
                  Se representa por I |= F .
          Ejemplos: Sea I = (N, I) una estructura tal que I(f ) = + e
          I(g) = ∗.
                  Si A es una asignación en I tal que A(x ) = A(y ) = 2. Entonces
                     IA |= f (x , y ) = g(x , y ),
                  Si B es una asignación en I tal que B(x ) = 1, B(y ) = 2. Entonces
                     IB |= f (x , y ) = g(x , y ),
                  I |= f (x , y ) = g(x , y )
                  I |= f (x , y ) = f (y , x )


                                                                                       36 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Modelo, satisfacibilidad y validez de fórmulas



Satisfacibilidad y validez
          Def.: Sea F una fórmula de L.
                  F es válida si toda estructura de L es modelo de F ,
                  (i.e. para toda estructura I de L y toda asignación A en I se tiene
                  que IA (F ) = 1).
                  Se representa por |= F .
                  F es satisfacible si tiene alguna realización
                  (i.e. existe alguna estructura I de L y alguna asignación A en I
                  tales que IA (F ) = 1).
                  F es insatisfacible si no tiene ninguna realización
                  (i.e. para toda estructura I de L y toda asignación A en I se tiene
                  que IA (F ) = 0).
          Ejemplos:
                  ∃x P(x ) ∨ ∀x ¬P(x ) es válida.
                  ∃x P(x ) ∧ ∃x ¬P(x ) es satisfacible, pero no es válida.
                  ∀x P(x ) ∧ ∃x ¬P(x ) es insatisfacible.

                                                                                        37 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Modelo, satisfacibilidad y validez de fórmulas



Satisfacibilidad y validez
          F es válida syss ¬F es insatisfacible.
             F es válida
             ⇐⇒ para toda estructura I y toda asignación A se tiene que IA (F )
             ⇐⇒ para toda estructura I y toda asignación A se tiene que IA (¬F
             ⇐⇒ ¬F es insatisfacible.
          Si F es válida, entonces F es satisfacible.
             F es válida
             =⇒ para toda estructura I y toda asignación A se tiene que IA (F ) =
             =⇒ existe una estructura I y una asignación A tales que IA (F ) = 1
             =⇒ F es satisfacible.
          F es satisfacible =⇒ ¬F es insatisfacible.
                             /
             ∀x P(x ) y ¬∀x P(x ) son satisfacibles.
          Sea F una fórmula de L y x1 , . . . , xn las variables libres de F .
                  F es válida syss ∀x1 . . . ∀xn F es válida.
                  [∀x1 . . . ∀xn F es el cierre universal de F ].
                  F es satisfacible syss ∃x1 . . . ∃xn F es satisfacible.   38 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Modelo y consistencia de conjuntos de fórmulas



Modelo de un conjunto de fórmulas
          Notación: S, S1 , S2 , . . . representarán conjuntos de fórmulas.
          Def.: Sean S un conjunto de fórmulas de L, I una estructura de
          L y A una asignación en I.
                  (I, A) es una realización de S si A es una asignación en I tal que
                  para toda F ∈ S se tiene que IA (F ) = 1. Se representa por
                  IA |= S.
                  I es un modelo de S si para toda F ∈ S se tiene que I |= F
                  (i.e. para toda F ∈ S y toda asignación A en I se tiene
                  IA (F ) = 1). Se representa por I |= S.
          Ejemplo: Sea S = {∀y R(x , y ), ∀y f (x , y ) = y }.
                  (I, A) con I = (N, I), R I = ≤, f I = +, A(x ) = 0 es realización de
                  S.
                  (I, A) con I = (N, I), R I = <, f I = +, A(x ) = 0 no es realización
                  de S.
          Ejemplo: Sea S = {R(e, y ), f (e, y ) = y }.
                  I = (N, I) con R I = ≤, f I = +, e I = 0 es modelo de S.
                  I = (N, I) con R I = <, f I = +, e I = 0 no es modelo de S.            39 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Modelo y consistencia de conjuntos de fórmulas



Consistencia de un conjunto de fórmulas
          Def.: Sea S un conjunto de fórmulas de L.
                  S es consistente si S tiene alguna realización
                  (i.e. existe alguna estructura I de L y alguna asignación A en I
                  tales que, para toda F ∈ S, IA (F ) = 1).
                  S es inconsistente si S no tiene ninguna realización
                  (i.e. para toda estructura I de L y toda asignación A en I, existe
                  alguna F ∈ S, tal que IA (F ) = 0).
          Ejemplos:
                  S = {∀y R(x , y ), ∀y f (x , y ) = y } es consistente.
                      (I, A) con I = (N, I), R I = ≤, f I = +, A(x ) = 0 es realización de S.
                  S = {P(x ) → Q(x ), ∀y P(y ), ¬Q(x )} es inconsistente.
          Prop.: Sea S un conjunto de fórmulas cerradas de L. Entonces S
          es consistente syss S tiene algún modelo.


                                                                                                40 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Consecuencia lógica



Consecuencia lógica
          Def.: Sean F una fórmula de L y S un conjunto de fórmulas de L.
                  F es consecuencia lógica de S si todas las realizaciones de S lo
                  son de F .
                  (i.e. para toda estructura I de L y toda asignación A en I,
                         si IA |= S entonces IA |= F ).
                  Se representa por S |= F .
                  Se escribe G |= F en lugar de {G} |= F .
                  Se escribe G |= F en lugar de {G} |= F .
          Ejemplos:
                  ∀x P(x ) |= P(y )
                  P(y ) |= ∀x P(x )
                       (I, A) con I = (U, I), U = {1, 2}, P I = {1}, A(y ) = 1.
                  {∀x (P(x ) → Q(x )), P(c)} |= Q(c)
                  {∀x (P(x ) → Q(x )), Q(c)} |= P(c)
                       (I, A) con I = (U, I), U = {1, 2}, c I = 1, P I = {2}, Q I = {1, 2}.
                  {∀x (P(x ) → Q(x )), ¬Q(c)} |= ¬P(c)
                  {P(c), ¬P(d)} |= c = d
                                                                                              41 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Consecuencia lógica



Consecuencia lógica e inconsistencia
          S |= F syss S ∪ {¬F } es inconsistente.
              S |= F
              ⇐⇒ para toda estructura I de L y toda asignación A en I,
                    si, para todo G ∈ S, IA (G) = 1 entonces IA (F ) = 1.
              ⇐⇒ para toda estructura I de L y toda asignación A en I,
                    si, para todo G ∈ S, IA (G) = 1 entonces IA (¬F ) = 0.
              ⇐⇒ para toda estructura I de L y toda asignación A en I,
                    existe alguna H ∈ S ∪ {¬F } tal que IA (H) = 0.
              ⇐⇒ S ∪ {¬F } es inconsistente.
          Sean F una fórmula cerrada de L y S un conjunto de fórmulas
          cerradas de L. Entonces, son equivalentes
                  F es consecuencia lógica de S
                  todos los modelos de S lo son de F .


                                                                             42 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Equivalencia lógica



Equivalencia lógica
          Def.: Sean F y G fórmulas de L. F y G son equivalentes si para
          toda estructura I de L y toda asignación A en I,
          IA (F ) = IA (G).
          Se representa por F ≡ G.
          Ejemplos:
                  P(x ) ≡ P(y ).
                     I = ({1, 2}, I) con P I = {1} y A(x ) = 1, A(y ) = 2.
                  ∀x P(x ) ≡ ∀y P(y ).
                  ∀x (P(x ) ∧ Q(x )) ≡ ∀x P(x ) ∧ ∀x Q(x ).
                  ∃x (P(x ) ∧ Q(x )) ≡ ∃x P(x ) ∧ ∃x Q(x ).
                     I = ({1, 2}, I) con P I = {1} y Q I = {2}.
          Propiedades: Sean F y G fórmulas cerradas de L.
                  F ≡ G syss |= F ↔ G.
                  F ≡ G syss F |= G y G |= F .

                                                                             43 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Semántica de la lógica de primer orden
     Equivalencia lógica



Equivalencia lógica
          Propiedades básicas de la equivalencia lógica:
                  Reflexiva: F ≡ F
                  Simétrica: Si F ≡ G, entonces G ≡ F
                  Transitiva: Si F ≡ G y G ≡ H, entonces F ≡ H
          Principio de sustitución de fórmulas equivalentes:
                  Prop.: Si en la fórmula F1 se sustituye una de sus subfórmulas G1
                  por una fórmula G2 lógicamente equivalente a G1 , entonces la
                  fórmula obtenida, F2 , es lógicamente equivalente a F1 .
                  Ejemplo: F1 = ∀x P(x ) → ∃x Q(x )
                             G1 = ∀x P(x )
                             G2 = ∀y P(y )
                             F2 = ∀y P(y ) → ∃x Q(x )




                                                                                      44 / 45
LMF Tema 6: Sintaxis y semántica de la lógica de primer orden
   Bibliografía




Bibliografía
     1. C. Badesa, I. Jané y R. Jansana Elementos de lógica formal.
        (Ariel, 2000) pp. 195–259 y 323–326.
     2. M.L. Bonet Apuntes de LPO. (Univ. Politécnica de Cataluña,
        2003) pp. 17–26.
     3. J.L. Fernández, A. Manjarrés y F.J. Díez Lógica computacional.
        (UNED, 2003) pp. 64–87.
     4. J.H. Gallier Logic for computer science (foundations of automatic
        theorem Proving) (June 2003) pp. 146–186.
     5. M. Huth y M. Ryan Logic in computer science: modelling and
        reasoning about systems. (Cambridge University Press, 2000) pp.
        90–109 y 128–140.
     6. M. Ojeda e I. Pérez de Guzmán Lógica para la computación (Vol.
        2: Lógica de primer orden) (Ágora, 1997) pp. 1–37 y 49–51.
     7. L. Paulson Logic and proof (U. Cambridge, 2002) pp. 22–29.
                                                                            45 / 45

Más contenido relacionado

Más de José A. Alonso

LMF-T6: Sintaxis y semántica de la lógica de primer orden
LMF-T6: Sintaxis y semántica de la lógica de primer ordenLMF-T6: Sintaxis y semántica de la lógica de primer orden
LMF-T6: Sintaxis y semántica de la lógica de primer orden
José A. Alonso
 
LMF-T5: Resolución proposicional
LMF-T5: Resolución proposicionalLMF-T5: Resolución proposicional
LMF-T5: Resolución proposicional
José A. Alonso
 
LMF-T3: Tableros semánticos
LMF-T3: Tableros semánticosLMF-T3: Tableros semánticos
LMF-T3: Tableros semánticos
José A. Alonso
 
LMF-T2: Deducción natural proposicional
LMF-T2: Deducción natural proposicionalLMF-T2: Deducción natural proposicional
LMF-T2: Deducción natural proposicional
José A. Alonso
 
LI-T12: LI2011-12: Introducción a la programación lógica con Prolog
LI-T12: LI2011-12: Introducción a la programación lógica con PrologLI-T12: LI2011-12: Introducción a la programación lógica con Prolog
LI-T12: LI2011-12: Introducción a la programación lógica con Prolog
José A. Alonso
 
LI-T6: Sintaxis y semántica de la lógica de primer orden
LI-T6: Sintaxis y semántica de la lógica de primer ordenLI-T6: Sintaxis y semántica de la lógica de primer orden
LI-T6: Sintaxis y semántica de la lógica de primer orden
José A. Alonso
 
Panorama del razonamiento automático
Panorama del razonamiento automáticoPanorama del razonamiento automático
Panorama del razonamiento automático
José A. Alonso
 

Más de José A. Alonso (20)

Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.Tema 12: Analizadores sintácticos funcionales.
Tema 12: Analizadores sintácticos funcionales.
 
Tema 23: Técnicas de diseño descendente de algoritmos
Tema 23: Técnicas de diseño descendente de algoritmosTema 23: Técnicas de diseño descendente de algoritmos
Tema 23: Técnicas de diseño descendente de algoritmos
 
I1M-T19: El TAD de los árboles de búsqueda
I1M-T19: El TAD de los árboles de búsquedaI1M-T19: El TAD de los árboles de búsqueda
I1M-T19: El TAD de los árboles de búsqueda
 
I1M-T17: El TAD de los conjuntos
I1M-T17: El TAD de los conjuntosI1M-T17: El TAD de los conjuntos
I1M-T17: El TAD de los conjuntos
 
Panorama de la demostración asistida por ordenador
Panorama de la demostración asistida por ordenadorPanorama de la demostración asistida por ordenador
Panorama de la demostración asistida por ordenador
 
LMF-T6: Sintaxis y semántica de la lógica de primer orden
LMF-T6: Sintaxis y semántica de la lógica de primer ordenLMF-T6: Sintaxis y semántica de la lógica de primer orden
LMF-T6: Sintaxis y semántica de la lógica de primer orden
 
LMF-T5b: Aplicaciones de la lógica proposicional
LMF-T5b: Aplicaciones de la lógica proposicionalLMF-T5b: Aplicaciones de la lógica proposicional
LMF-T5b: Aplicaciones de la lógica proposicional
 
LMF-T5: Resolución proposicional
LMF-T5: Resolución proposicionalLMF-T5: Resolución proposicional
LMF-T5: Resolución proposicional
 
LMF-T4: Formas normales
LMF-T4: Formas normalesLMF-T4: Formas normales
LMF-T4: Formas normales
 
LMF-T3: Tableros semánticos
LMF-T3: Tableros semánticosLMF-T3: Tableros semánticos
LMF-T3: Tableros semánticos
 
LMF-T2: Deducción natural proposicional
LMF-T2: Deducción natural proposicionalLMF-T2: Deducción natural proposicional
LMF-T2: Deducción natural proposicional
 
I1M-T21: El TAD de los polinomios en Haskell
I1M-T21: El TAD de los polinomios en HaskellI1M-T21: El TAD de los polinomios en Haskell
I1M-T21: El TAD de los polinomios en Haskell
 
LMF-T1: Sintaxis y semántica de la lógica proposicional
LMF-T1: Sintaxis y semántica de la lógica proposicionalLMF-T1: Sintaxis y semántica de la lógica proposicional
LMF-T1: Sintaxis y semántica de la lógica proposicional
 
LI-T12: LI2011-12: Introducción a la programación lógica con Prolog
LI-T12: LI2011-12: Introducción a la programación lógica con PrologLI-T12: LI2011-12: Introducción a la programación lógica con Prolog
LI-T12: LI2011-12: Introducción a la programación lógica con Prolog
 
LI-T6: Sintaxis y semántica de la lógica de primer orden
LI-T6: Sintaxis y semántica de la lógica de primer ordenLI-T6: Sintaxis y semántica de la lógica de primer orden
LI-T6: Sintaxis y semántica de la lógica de primer orden
 
LI-T5b: Algoritmos para SAT. Aplicaciones
LI-T5b: Algoritmos para SAT. AplicacionesLI-T5b: Algoritmos para SAT. Aplicaciones
LI-T5b: Algoritmos para SAT. Aplicaciones
 
Panorama del razonamiento automático
Panorama del razonamiento automáticoPanorama del razonamiento automático
Panorama del razonamiento automático
 
I1M2010-T24: Programación dinámica en Haskell
I1M2010-T24: Programación dinámica en HaskellI1M2010-T24: Programación dinámica en Haskell
I1M2010-T24: Programación dinámica en Haskell
 
LI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer ordenLI2011-T11: Resolución en lógica de primer orden
LI2011-T11: Resolución en lógica de primer orden
 
LI2011-T9: Formas normales de Skolem y cláusulas
LI2011-T9: Formas normales de Skolem y cláusulasLI2011-T9: Formas normales de Skolem y cláusulas
LI2011-T9: Formas normales de Skolem y cláusulas
 

Último

🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
EliaHernndez7
 

Último (20)

Novena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan EudesNovena de Pentecostés con textos de san Juan Eudes
Novena de Pentecostés con textos de san Juan Eudes
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Sesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdfSesión de clase APC: Los dos testigos.pdf
Sesión de clase APC: Los dos testigos.pdf
 
Factores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdfFactores que intervienen en la Administración por Valores.pdf
Factores que intervienen en la Administración por Valores.pdf
 
Usos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicasUsos y desusos de la inteligencia artificial en revistas científicas
Usos y desusos de la inteligencia artificial en revistas científicas
 
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
1ro Programación Anual D.P.C.C planificación anual del área para el desarroll...
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
PP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomasPP_Comunicacion en Salud: Objetivación de signos y síntomas
PP_Comunicacion en Salud: Objetivación de signos y síntomas
 
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESOPrueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
Prueba de evaluación Geografía e Historia Comunidad de Madrid 2º de la ESO
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024Prueba libre de Geografía para obtención título Bachillerato - 2024
Prueba libre de Geografía para obtención título Bachillerato - 2024
 
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptxLA LITERATURA DEL BARROCO 2023-2024pptx.pptx
LA LITERATURA DEL BARROCO 2023-2024pptx.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
SESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.docSESION DE PERSONAL SOCIAL.  La convivencia en familia 22-04-24  -.doc
SESION DE PERSONAL SOCIAL. La convivencia en familia 22-04-24 -.doc
 
AEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptxAEC 2. Aventura en el Antiguo Egipto.pptx
AEC 2. Aventura en el Antiguo Egipto.pptx
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Lecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigosLecciones 06 Esc. Sabática. Los dos testigos
Lecciones 06 Esc. Sabática. Los dos testigos
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
activ4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdfactiv4-bloque4 transversal doctorado.pdf
activ4-bloque4 transversal doctorado.pdf
 

LMF-T6: Sintaxis y semántica de la lógica de primer orden

  • 1. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Lógica matemática y fundamentos (2011–12) Tema 6: Sintaxis y semántica de la lógica de primer orden José A. Alonso Jiménez María J. Hidalgo Doblado Grupo de Lógica Computacional Departamento de Ciencias de la Computación e I.A. Universidad de Sevilla 1 / 45
  • 2. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Tema 6: Sintaxis y semántica de la lógica de primer orden 1. Representación del conocimiento en lógica de primer orden 2. Sintaxis de la lógica de primer orden 3. Semántica de la lógica de primer orden 2 / 45
  • 3. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Tema 6: Sintaxis y semántica de la lógica de primer orden 1. Representación del conocimiento en lógica de primer orden Representación de conocimiento geográfico Representación del mundo de los bloques Representación de conocimiento astronómico 2. Sintaxis de la lógica de primer orden 3. Semántica de la lógica de primer orden 3 / 45
  • 4. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento geográfico Limitación expresiva de la lógica proposicional Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: {SvC → CvS, SvC } |= CvS Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: Imposible Representación en lógica de primer orden: {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)} |= vecina(Cadiz, Sevilla) 4 / 45
  • 5. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento geográfico Limitación expresiva de la lógica proposicional Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: {SvC → CvS, SvC } |= CvS Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: Imposible Representación en lógica de primer orden: {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)} |= vecina(Cadiz, Sevilla) 4 / 45
  • 6. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento geográfico Limitación expresiva de la lógica proposicional Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: {SvC → CvS, SvC } |= CvS Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: Imposible Representación en lógica de primer orden: {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)} |= vecina(Cadiz, Sevilla) 4 / 45
  • 7. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento geográfico Limitación expresiva de la lógica proposicional Ejemplo 1: Si Sevilla es vecina de Cádiz, entonces Cádiz es vecina de Sevilla. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: {SvC → CvS, SvC } |= CvS Ejemplo 2: Si una ciudad es vecina de otra, entonces la segunda es vecina de la primera. Sevilla es vecina de Cádiz. Por tanto, Cádiz es vecina de Sevilla Representación en lógica proposicional: Imposible Representación en lógica de primer orden: {∀x ∀y [vecina(x , y ) → vecina(y , x )], vecina(Sevilla, Cadiz)} |= vecina(Cadiz, Sevilla) 4 / 45
  • 8. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Simbolización: sobre(x , y ) se verifica si el bloque x está colocado sobre el bloque y sobre_mesa(x ) se verifica si el bloque x está sobre la mesa Situación del ejemplo: sobre(a, b), sobre(b, c), sobre_mesa(c), sobre(d, e), sobre_mesa(e) 5 / 45
  • 9. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 10. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 11. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 12. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 13. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 14. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques Definiciones: bajo(x , y ) se verifica si el bloque x está debajo del bloque y ∀x ∀y [bajo(x , y ) ↔ sobre(y , x )] encima(x , y ) se verifica si el bloque x está encima del bloque y pudiendo haber otros bloques entre ellos ∀x ∀y [ encima(x , y ) ↔ sobre(x , y ) ∨ ∃z [sobre(x , z) ∧ encima(z, y )]] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y sobre(y , x )] pila(x , y , z) se verifica si el bloque x está sobre el y , el y sobre el z y el z sobre la mesa ∀x ∀y ∀z [ pila(x , y , z) ↔ sobre(x , y ) ∧ sobre(y , z) ∧ sobre_mesa(z)] Propiedades: Si z, y , z es una pila entonces y no está libre ∀x ∀y ∀z [pila(x , y , z) → ¬ libre(y )] 6 / 45
  • 15. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques con funciones e igualdad Simbolización: es_bloque(x ) se verifica si x es un bloque. superior(x ) es el bloque que está sobre el bloque x . Situación del ejemplo: es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d), es_bloque(e) superior(b) = a, superior(c) = b, superior(e) = d Definiciones: sobre_mesa(x ) se verifica si el bloque x está sobre la mesa ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ] tope(x ) es el bloque libre que está encima de x ∀x [ (libre(x ) → tope(x ) = x )∧ (¬ libre(x ) → tope(x ) = tope(superior(x )))] 7 / 45
  • 16. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques con funciones e igualdad Simbolización: es_bloque(x ) se verifica si x es un bloque. superior(x ) es el bloque que está sobre el bloque x . Situación del ejemplo: es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d), es_bloque(e) superior(b) = a, superior(c) = b, superior(e) = d Definiciones: sobre_mesa(x ) se verifica si el bloque x está sobre la mesa ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ] tope(x ) es el bloque libre que está encima de x ∀x [ (libre(x ) → tope(x ) = x )∧ (¬ libre(x ) → tope(x ) = tope(superior(x )))] 7 / 45
  • 17. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques con funciones e igualdad Simbolización: es_bloque(x ) se verifica si x es un bloque. superior(x ) es el bloque que está sobre el bloque x . Situación del ejemplo: es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d), es_bloque(e) superior(b) = a, superior(c) = b, superior(e) = d Definiciones: sobre_mesa(x ) se verifica si el bloque x está sobre la mesa ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ] tope(x ) es el bloque libre que está encima de x ∀x [ (libre(x ) → tope(x ) = x )∧ (¬ libre(x ) → tope(x ) = tope(superior(x )))] 7 / 45
  • 18. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación del mundo de los bloques Representación del mundo de los bloques con funciones e igualdad Simbolización: es_bloque(x ) se verifica si x es un bloque. superior(x ) es el bloque que está sobre el bloque x . Situación del ejemplo: es_bloque(a), es_bloque(b), es_bloque(c), es_bloque(d), es_bloque(e) superior(b) = a, superior(c) = b, superior(e) = d Definiciones: sobre_mesa(x ) se verifica si el bloque x está sobre la mesa ∀x [sobre_mesa(x ) ↔ es_bloque(x ) ∧ ¬∃y superior(y ) = x ] libre(x ) se verifica si el bloque x no tiene bloques encima ∀x [libre(x ) ↔ ¬∃y superior(x ) = y ] tope(x ) es el bloque libre que está encima de x ∀x [ (libre(x ) → tope(x ) = x )∧ (¬ libre(x ) → tope(x ) = tope(superior(x )))] 7 / 45
  • 19. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 20. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 21. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 22. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 23. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 24. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 25. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 26. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra es un planeta: planeta(Tierra) La Luna no es un planeta: ¬ planeta(Luna) La Luna es un satélite: satélite(Luna) La Tierra gira alrededor del Sol: gira(Tierra, Sol) Todo planeta es un satélite: ∀x [planeta(x ) → satélite(x )] Todo planeta gira alrededor del Sol: ∀x [planeta(x ) → gira(x , Sol)] Algún planeta gira alrededor de la Luna: ∃x [planeta(x ) ∧ gira(x , Luna)] 8 / 45
  • 27. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 28. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 29. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 30. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 31. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 32. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 33. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 34. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico Hay por lo menos un satélite: ∃x satélite(x ) Ningún planeta es un satélite: ¬∃x [planeta(x ) ∧ satélite(x )] Ningún objeto celeste gira alrededor de sí mismo: ¬∃x gira(x , x ) Alrededor de los satélites no giran objetos: ∀x [satélite(x ) → ¬∃y gira(y , x )] Hay exactamente un satélite: ∃x [satélite(x ) ∧ ∀y [satélite(y ) → x = y ]] La Luna es un satélite de la Tierra: satélite(Luna, Tierra) Todo planeta tiene un satélite: ∀x [planeta(x ) → ∃y satélite(y , x )] 9 / 45
  • 35. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 36. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 37. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 38. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 39. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 40. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 41. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Representación del conocimiento en lógica de primer orden Representación de conocimiento astronómico Representación de conocimiento astronómico La Tierra no tiene satélites: ¬∃x satélite(x , Tierra) Algún planeta no tiene satélites: ∃x [planeta(x ) ∧ ¬∃y satélite(y , x )] Sólo los planetas tienen satélites: ∀x [∃y satélite(y , x ) → planeta(x )] Todo satélite es satélite de algún planeta: ∀x [satélite(x ) → ∃y (planeta(y ) ∧ satélite(x , y ))] La Luna no gira alrededor de dos planetas diferentes: ¬∃x ∃y [ planeta(x ) ∧ planeta(y )∧ gira(Luna, x ) ∧ gira(Luna, y ) ∧ x = y ] Hay exactamente dos planetas: ∃x ∃y [ planeta(x ) ∧ planeta(y ) ∧ x = y ∧ ∀z [planeta(z) → z = x ∨ z = y ]] 10 / 45
  • 42. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Tema 6: Sintaxis y semántica de la lógica de primer orden 1. Representación del conocimiento en lógica de primer orden 2. Sintaxis de la lógica de primer orden Lenguaje de primer orden Términos y fórmulas de primer orden Subfórmulas Variables libres y ligadas 3. Semántica de la lógica de primer orden 11 / 45
  • 43. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Lenguaje de primer orden Lenguaje de primer orden Símbolos lógicos: Variables: x , y , z, . . . , x1 , x2 , . . .. Conectivas: ¬, ∧, ∨, →, ↔. Cuantificadores: ∀, ∃. Símbolo de igualdad: =. Símbolos propios: Símbolos de constantes: a, b, c, . . . , a1 , a2 , . . .. Símbolos de predicado (con aridad): P, Q, R, . . . , P1 , P2 , . . .. Símbolos de función (con aridad): f , g, h, . . . , f1 , f2 , . . .. Símbolos auxiliares: “(”, “)”, “,”. Notación: L, L1 , L2 , . . . representan lenguajes de primer orden. Var representa el conjunto de las variables. Los símbolos de predicados de aridad mayor que 1 se llaman de relaciones. 12 / 45
  • 44. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Lenguaje de primer orden Ejemplos de lenguajes de primer orden Lenguaje del mundo de los bloques: Símbolos de constantes: a, b, c, d, e Símbolos de predicado (y de relación): – de aridad 1: sobre_mesa, libre, es_bloque – de aridad 2: sobre, bajo, encima – de aridad 3: pila Símbolos de función (de aridad 1): superior, tope Lenguaje de la aritmética: Símbolos de constantes: 0, 1 Símbolos de función: – monaria: s (siguiente) – binarias: +, · Símbolo de predicado binario: < 13 / 45
  • 45. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Términos y fórmulas de primer orden Términos Def. de término de un lenguaje de primer orden L: Las variables son términos de L. Las constantes de L son términos de L. Si f es un símbolo de función n–aria de L y t1 , . . . , tn son términos de L, entonces f (t1 , . . . , tn ) es un término de L. Ejemplos: En el lenguaje de la aritmética, +(·(x , 1), s(y )) es un término, que se suele escribir como (x · 1) + s(y ) +(·(x , <), s(y )) no es un término En el lenguaje del mundo de los bloques, superior(superior(c)) es un término. libre(superior(c)) no es un término. Notación: s, t, t1 , t2 , . . . representan términos. Térm(L) representa el conjunto de los términos de L 14 / 45
  • 46. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Términos y fórmulas de primer orden Fórmulas atómicas Def. de fórmula atómica de un lenguaje de primer orden L: Si t1 y t2 son términos de L, entonces t1 = t2 es una fórmula atómica de L. Si P es un símbolo de relación n–aria de L y t1 , . . . , tn son términos de L, entonces P(t1 , . . . , tn ) es una fórmula atómica de L. Ejemplos: En el lenguaje de la aritmética, < (·(x , 1), s(y )) es una fórmula atómica que se suele escribir como x · 1 < s(y ) +(x , y ) = ·(x , y ) es una fórmula atómica que se suele escribir como x + y = x · y En el lenguaje del mundo de los bloques, libre(superior(c)) es una fórmula atómica. tope(c) = superior(b) es una fórmula atómica. Notación: A, B, A1 , A2 , . . . representan fórmulas atómicas. Atóm(L) representa el conjunto de las fórmulas atómicas de L. 15 / 45
  • 47. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Términos y fórmulas de primer orden Fórmulas Definición de las fórmulas de L: Las fórmulas atómicas de L son fórmulas de L. Si F y G son fórmulas de L, entonces ¬F , (F ∧ G), (F ∨ G), (F → G) y (F ↔ G) son fórmulas de L. Si F es una fórmula de L, entonces ∀x F y ∃x F son fórmulas de L. Ejemplos: En el lenguaje de la aritmética, ∀x ∃y < (x , y ) es una fórmula que se escribe como ∀x ∃y x < y ∀x ∃y + (x , y ) no es una fórmula. En el lenguaje del mundo de los bloques, ∀x (tope(x ) = x ↔ libre(x )) es una fórmula. Notación: F , G, H, F1 , F2 , . . . representan fórmulas. Fórm(L) representa el conjunto de las fórmulas de L. 16 / 45
  • 48. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Subfórmulas Árboles de análisis (o de formación) ∀x (R(x , c) → P(f (y ))) ∀x R(x , c) → P(f (y )) → R(x , c) P(f (y )) R P x c f (y ) x c f y y 17 / 45
  • 49. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Subfórmulas Subfórmulas Def: El conjunto Subf(F ) de las subfórmulas de una fórmula F se define recursivamente por: Subf(F ) =  {F },  si F es una fórmula atómica;   {F } ∪ Subf(G),  si F = ¬G;   {F } ∪ Subf(G) ∪ Subf(H), si F = G ∗ H;  {F } ∪ Subf(G),   si F = ∀x G;    {F } ∪ Subf(G), si F = ∃x G  Ejemplo: Subf(∀x (R(x , c) → P(f (y )))) = { ∀x (R(x , c) → P(f (y ))), (R(x , c) → P(f (y ))), R(x , c), P(f (y ))} 18 / 45
  • 50. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Subfórmulas Criterios de reducción de paréntesis Pueden eliminarse los paréntesis externos. F ∧ G es una abreviatura de (F ∧ G) Precedencia de asociación de conectivas y cuantificadores: ∀, ∃, ¬, ∧, ∨, →, ↔. ∀x P(x ) → Q(x ) es una abreviatura de (∀x P(x )) → Q(x ) Cuando una conectiva se usa repetidamente, se asocia por la derecha. F ∨G ∨H es una abreviatura de (F ∨ (G ∨ H)) F ∧ G ∧ H → ¬F ∨ G es una abreviatura de ((F ∧ (G ∧ H)) → Los símbolos binarios pueden escribirse en notación infija. x + y es una abreviatura de +(x , y ) x < y es una abreviatura de < (x , y ) 19 / 45
  • 51. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Variables libres y ligadas Conjuntos de variables Def.: El conjunto de las variables  del término t es ∅,  si t es una constante;  V(t) = {x }, si t es una variable x ;  V(t ) ∪ · · · ∪ V(t ),  si t es f (t1 , . . . , tn ) 1 n Def.: El conjunto de las variables  de la fórmula F es V(t1 ) ∪ V(t2 ),  si F es t1 = t2 ;   V(t1 ) ∪ · · · ∪ V(tn ),   si F es P(t1 , . . . , tn );   V(G), si F es ¬G;  V(F ) = V(G) ∪ V(H),  si F es G ∗ H;   V(G), si F es ∀x G;       V(G), si F es ∃x G Ejemplos: El conjunto de las variables de ∀x (R(x , c) → P(f (y ))) es {x , y }. El conjunto de las variables de ∀x (R(a, c) → P(f (y ))) es {y }. 20 / 45
  • 52. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Variables libres y ligadas Apariciones libres y ligadas Def.: Una aparición (u ocurrencia) de la variable x en la fórmula F es ligada si es en una subfórmula de F de la forma ∀x G ó ∃x G. Def.: Una aparición (u ocurrencia) de la variable x en la fórmula F es libre si no es ligada. Ejemplo: Las apariciones ligadas son las subrayadas: ∀x (P(x ) → R(x , y )) → (∃y P(y ) → R(z, x )) ∃x R(x , y ) ∨ ∀y P(y ) ∀x (P(x ) → ∃y R(x , y )) P(x ) → R(x , y ) 21 / 45
  • 53. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Variables libres y ligadas Variables libres y ligadas La variable x es libre en F si tiene una aparición libre en F . La variable x es ligada en F si tiene una aparición ligada en F . El conjunto de las variables libres de una fórmula F es:  V(t1 ) ∪ V(t2 ),  si F es t1 = t2 ;   V(t1 ) ∪ · · · ∪ V(tn ), si F es P(t1 , . . . , tn );     VL(G), si F es ¬G;  VL(F ) = VL(G) ∪ VL(H),  si F es G ∗ H;   VL(G) {x },   si F es ∀x G;     VL(G) {x }, si F es ∃x G Ejemplo: Fórmula Ligadas Libres ∀x (P(x ) → R(x , y )) → (∃y P(y ) → R(x , z)) x , y x, y, z ∀x (P(x ) → ∃y R(x , y )) x, y ∀z (P(x ) → R(x , y )) x, y 22 / 45
  • 54. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Sintaxis de la lógica de primer orden Variables libres y ligadas Fórmulas cerradas y abiertas Fórmula cerradas: Def.: Una fórmula cerrada (o sentencia) es una fórmula sin variables libres. Ejemplos: ∀x (P(x ) → ∃y R(x , y )) es cerrada. ∃x R(x , y ) ∨ ∀y P(y ) no es cerrada. Fórmulas abiertas: Def.: Una fórmula abierta es una fórmula con variables libres. Ejemplos: ∀x (P(x ) → ∃y R(x , y )) no es abierta. ∃x R(x , y ) ∨ ∀y P(y ) es abierta. 23 / 45
  • 55. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Tema 6: Sintaxis y semántica de la lógica de primer orden 1. Representación del conocimiento en lógica de primer orden 2. Sintaxis de la lógica de primer orden 3. Semántica de la lógica de primer orden Estructuras, asignaciones e interpretaciones Evaluación de términos y fórmulas Modelo, satisfacibilidad y validez de fórmulas Modelo y consistencia de conjuntos de fórmulas Consecuencia lógica Equivalencia lógica 24 / 45
  • 56. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Estructuras, asignaciones e interpretaciones Estructuras, asignaciones e interpretaciones Una estructura del lenguaje L es un par I = (U, I) tal que: U es un conjunto no vacío, denominado universo de la estructura; I es una función con dominio el conjunto de símbolos propios de L tal que si c es una constante de L, entonces I(c) ∈ U; si f es un símbolo de función n–aria de L, entonces I(f ) : U n → U; si P es un símbolo de relación 0–aria de L, entonces I(P) ∈ {1, 0}; si R es un símbolo de relación n–aria (n > 0) de L, entonces I(R) ⊆ U n ; Una asignación A en una estructura (U, I) es una función A : Var → U que hace corresponder a cada variable del alfabeto un elemento del universo de la estructura. Una interpretación de L es un par (I, A) formado por una estructura I de L y una asignación A en I. Notación: A veces se usa para los valores de verdad V y F en lugar de 1 y 0. 25 / 45
  • 57. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Estructuras, asignaciones e interpretaciones Ejemplos de estructuras Sea L el lenguaje de la aritmética cuyos símbolos propios son: constante: 0; símbolo de función monaria: s; símbolo de función binaria: + y símbolo de relación binaria: ≤ Primera estructura de L: U1 = N I1 (0) = 0 I1 (s) = {(n, n + 1) : n ∈ N} (sucesor) I1 (+) = {(a, b, a + b) : a, b ∈ N} (suma) I1 (≤) = {(n, m) : n, m ∈ N, n ≤ m} (menor o igual) Segunda estructura de L: U2 = {0, 1}∗ (cadenas de 0 y 1) I2 (0) = (cadena vacía) I2 (s) = {(w , w 1) : w ∈ {0, 1}∗ } (siguiente) 26 / 45
  • 58. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Estructuras, asignaciones e interpretaciones Ejemplos de estructuras Tercera estructura de L: U3 = {abierto, cerrado} I3 (0) = cerrado I3 (s) = {(abierto, cerrado), (cerrado, abierto)} I3 (+) = { (abierto, abierto, abierto), (abierto, cerrado, abierto), (cerrado, abierto, abierto), (cerrado, cerrado, cerrado)} I3 (≤) = { (abierto, abierto), (cerrado, abierto), (cerrado, cerrado)} e I3 (s)(e) abierto cerrado cerrado abierto I3 (+) abierto cerrado I3 (≤) abierto cerrado abierto abierto abierto abierto 1 0 cerrado abierto cerrado cerrado 1 1 27 / 45
  • 59. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Ejemplo de evaluación de términos Sean L el lenguaje de la página 57 y t el término s(x + s(0)). Si I es la primera estructura y A(x ) = 3, entonces IA (t) = IA (s(x + s(0))) = s I (3 +I s I (0I )) = = s I (3 +I s I (0)) = s I (3 +I 1) = I = s (4) =5 Si I es la segunda estructura y A(x ) = 10, entonces IA (t) = IA (s(x + s(0))) = s I (10 +I s I (0I )) = = s I (10 +I s I ( )) = s I (10 +I 1) = I = s (101) = 1011 Si I es la tercera estructura y A(x ) = abierto, entonces IA (t) = IA (s(x + s(0))) = s I (abierto +I s I (0I )) = = s (abierto + s (cerrado)) = s I (abierto +I abierto) = I I I = s I (abierto) = cerrado 28 / 45
  • 60. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Evaluación de términos Def.: Dada una estructura I = (U, I) de L y una asignación A en I, se define la función de evaluación de términos IA : Térm(L) → U por  I(c),  si t es una constante c;  IA (t) = A(x ), si t es una variable x ;  I(f )(I (t ), . . . , I (t )), si t es f (t , . . . , t )  A 1 A n 1 n IA (t) se lee “el valor de t en I respecto de A”. Ejemplo: Sean L el lenguaje de la página 57, t el término s(+(x , s(0))), I la primera estructura y A(x ) = 3. IA (t) = IA (s(+(x , s(0)))) = I(s)(IA (+(x , s(0)))) = = I(s)(I(+)(IA (x ), IA (s(0)))) = I(s)(I(+)(A(x ), IA (s(0)))) = I(s)(I(+)(3, I(s)(IA (0)))) = I(s)(I(+)(3, I(s)(I(0)))) = = I(s)(I(+)(3, I(s)(0))) = I(s)(I(+)(3, 1)) = = I(s)(4) =5 29 / 45
  • 61. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Evaluación de fórmulas Def.: Dada una estructura I = (U, I) de L y una asignación A sobre I, se define la función de evaluación de fórmulas IA : Fórm(L) → B por – Si F es t1 = t2 , IA (F ) = H= (IA (t1 ), IA (t2 )) – Si F es P(t1 , . . . , tn ), IA (F ) = HI(P) (IA (t1 ), . . . , IA (tn )) – Si F es ¬G, IA (F ) = H¬ (IA (G)) – Si F es G ∗ H, IA (F ) = H∗ (IA (G), IA (H))  1, si para todo u ∈ U se tiene   – Si F es ∀x G, IA (F ) = IA[x /u] (G) = 1;   0, en caso contrario  1, si existe algún u ∈ U tal que   – Si F es ∃x G, IA (F ) = IA[x /u] (G) = 1;   0, en caso contrario IA (F ) se lee “el valor de F en I respecto de A”. 30 / 45
  • 62. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Conceptos auxilares para la evaluación de fórmulas La función de verdad de la igualdad en U es la función H= : U 2 → B definida por 1, si u1 = u2 ; H= (u1 , u2 ) = 0, en caso contrario Función de verdad de una relación: Si R es una relación n–aria en U (i.e. R ⊆ U n ), entonces la función de verdad de R es la función HR : U n → B definida por 1, si (u1 , . . . , un ) ∈ R; HR (u1 , . . . , un ) = 0, en caso contrario Variante de una asignación: Sea A una asignación en la estructura (U, I) y u ∈ U. Mediante A[x /u] se representa la asignación definida por u, si y es x ; A[x /u](y ) = A(y ) si y es distinta de x 31 / 45
  • 63. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Ejemplo de evaluación de fórmula Evaluación de ∀x ∃y P(x , y ) en la estructura I = (U, I) tal que U = {1, 2} e I(P) = {(1, 1), (2, 2)} IA (∀x ∃y P(x , y )) = V ⇔ IA[x /1] (∃y P(x , y )) = V y IA[x /2] (∃y P(x , y )) = V IA[x /1] (∃y P(x , y )) = V ⇔ IA[x /1,y /1] P(x , y ) = V ó IA[x /1,y /2] P(x , y ) = V IA[x /1,y /1] P(x , y ) = P I (1, 1) = V Luego, IA[x /1] (∃y P(x , y )) = V. IA[x /2] (∃y P(x , y )) = V ⇔ IA[x /2,y /1] P(x , y ) = V ó IA[x /2,y /2] P(x , y ) = V IA[x /2,y /2] P(x , y ) = P I (2, 2) = V Luego, IA[x /2] (∃y P(x , y )) = V. Por tanto, IA (∀x ∃y P(x , y )) = V 32 / 45
  • 64. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Ejemplo de evaluación de fórmulas Evaluación de ∀x g(g(x )) = x en la estructura I = (U, I) tal que U = {1, 2} e I(g) = {(1, 2), (2, 1)}. IA (∀x g(g(x )) = x ) = V ⇔ IA[x /1] g(g(x )) = x = V y IA[x /2] g(g(x )) = x = V IA[x /1] (g(g(x )) = x ) = (g I (g I (1)) = 1) = (g I (2) = 1) = (1 = 1) =V IA[x /2] (g(g(x )) = x ) = (g I (g I (2)) = 2) = (g I (1) = 2) = (2 = 2) =V Por tanto, IA (∀x g(g(x )) = x ) = V. 33 / 45
  • 65. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Dependencias en la evaluación de fórmulas Ejemplo de dependencia del universo: Sea G la fórmula ∀x ∃y R(y , x ), entonces IA (G) = V, siendo I = (Z, I), I(R) = < y A una asignación en I. IA (G) = F, siendo I = (N, I), I(R) = < y A una asignación en I. Ejemplo de dependencia de la estructura: Sea G la fórmula ∃x ∀y R(x , y ), entonces IA (G) = V, siendo I = (N, I), I(R) = ≤ y A una asignación en I. IA (G) = F, siendo I = (N, I), I(R) = ≥ y A una asignación en I. Ejemplo de dependencia de la asignación: Sea G la fórmula ∀y R(x , y ), entonces IA (G) = V, siendo I = (N, I), I(R) = ≤ y A una asignación en I tal que A(x ) = 0. IA (G) = F, siendo I = (N, I), I(R) = ≤ y A una asignación en I tal que A(x ) = 5. 34 / 45
  • 66. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Evaluación de términos y fórmulas Evaluación y variables libres Sea t un término de L e I una estructura de L. Si A y B son dos asignaciones en I que coinciden sobre las variables de t, entonces IA (t) = IB (t). Si t no tiene variables, entonces IA (t) = IB (t) para cualesquiera asignaciones A y B en I. Se suele escribir simplemente I(t). Sea F una fórmula de L e I una estructura de L. Si A y B son dos asignaciones en I que coinciden sobre las variables libres de F , entonces IA (F ) = IB (F ). Si F es cerrada, entonces IA (F ) = IB (F ) para cualesquiera asignaciones A y B en I. Se suele escribir simplemente I(F ). 35 / 45
  • 67. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Modelo, satisfacibilidad y validez de fórmulas Modelo de una fórmula Sean F una fórmula de L e I una estructura de L. (I, A) es una realización de F si A es una asignación en I tal que IA (F ) = 1. Se representa por IA |= F . I es un modelo de F si, para todo asignación A en I, IA (F ) = 1. Se representa por I |= F . Ejemplos: Sea I = (N, I) una estructura tal que I(f ) = + e I(g) = ∗. Si A es una asignación en I tal que A(x ) = A(y ) = 2. Entonces IA |= f (x , y ) = g(x , y ), Si B es una asignación en I tal que B(x ) = 1, B(y ) = 2. Entonces IB |= f (x , y ) = g(x , y ), I |= f (x , y ) = g(x , y ) I |= f (x , y ) = f (y , x ) 36 / 45
  • 68. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Modelo, satisfacibilidad y validez de fórmulas Satisfacibilidad y validez Def.: Sea F una fórmula de L. F es válida si toda estructura de L es modelo de F , (i.e. para toda estructura I de L y toda asignación A en I se tiene que IA (F ) = 1). Se representa por |= F . F es satisfacible si tiene alguna realización (i.e. existe alguna estructura I de L y alguna asignación A en I tales que IA (F ) = 1). F es insatisfacible si no tiene ninguna realización (i.e. para toda estructura I de L y toda asignación A en I se tiene que IA (F ) = 0). Ejemplos: ∃x P(x ) ∨ ∀x ¬P(x ) es válida. ∃x P(x ) ∧ ∃x ¬P(x ) es satisfacible, pero no es válida. ∀x P(x ) ∧ ∃x ¬P(x ) es insatisfacible. 37 / 45
  • 69. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Modelo, satisfacibilidad y validez de fórmulas Satisfacibilidad y validez F es válida syss ¬F es insatisfacible. F es válida ⇐⇒ para toda estructura I y toda asignación A se tiene que IA (F ) ⇐⇒ para toda estructura I y toda asignación A se tiene que IA (¬F ⇐⇒ ¬F es insatisfacible. Si F es válida, entonces F es satisfacible. F es válida =⇒ para toda estructura I y toda asignación A se tiene que IA (F ) = =⇒ existe una estructura I y una asignación A tales que IA (F ) = 1 =⇒ F es satisfacible. F es satisfacible =⇒ ¬F es insatisfacible. / ∀x P(x ) y ¬∀x P(x ) son satisfacibles. Sea F una fórmula de L y x1 , . . . , xn las variables libres de F . F es válida syss ∀x1 . . . ∀xn F es válida. [∀x1 . . . ∀xn F es el cierre universal de F ]. F es satisfacible syss ∃x1 . . . ∃xn F es satisfacible. 38 / 45
  • 70. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Modelo y consistencia de conjuntos de fórmulas Modelo de un conjunto de fórmulas Notación: S, S1 , S2 , . . . representarán conjuntos de fórmulas. Def.: Sean S un conjunto de fórmulas de L, I una estructura de L y A una asignación en I. (I, A) es una realización de S si A es una asignación en I tal que para toda F ∈ S se tiene que IA (F ) = 1. Se representa por IA |= S. I es un modelo de S si para toda F ∈ S se tiene que I |= F (i.e. para toda F ∈ S y toda asignación A en I se tiene IA (F ) = 1). Se representa por I |= S. Ejemplo: Sea S = {∀y R(x , y ), ∀y f (x , y ) = y }. (I, A) con I = (N, I), R I = ≤, f I = +, A(x ) = 0 es realización de S. (I, A) con I = (N, I), R I = <, f I = +, A(x ) = 0 no es realización de S. Ejemplo: Sea S = {R(e, y ), f (e, y ) = y }. I = (N, I) con R I = ≤, f I = +, e I = 0 es modelo de S. I = (N, I) con R I = <, f I = +, e I = 0 no es modelo de S. 39 / 45
  • 71. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Modelo y consistencia de conjuntos de fórmulas Consistencia de un conjunto de fórmulas Def.: Sea S un conjunto de fórmulas de L. S es consistente si S tiene alguna realización (i.e. existe alguna estructura I de L y alguna asignación A en I tales que, para toda F ∈ S, IA (F ) = 1). S es inconsistente si S no tiene ninguna realización (i.e. para toda estructura I de L y toda asignación A en I, existe alguna F ∈ S, tal que IA (F ) = 0). Ejemplos: S = {∀y R(x , y ), ∀y f (x , y ) = y } es consistente. (I, A) con I = (N, I), R I = ≤, f I = +, A(x ) = 0 es realización de S. S = {P(x ) → Q(x ), ∀y P(y ), ¬Q(x )} es inconsistente. Prop.: Sea S un conjunto de fórmulas cerradas de L. Entonces S es consistente syss S tiene algún modelo. 40 / 45
  • 72. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Consecuencia lógica Consecuencia lógica Def.: Sean F una fórmula de L y S un conjunto de fórmulas de L. F es consecuencia lógica de S si todas las realizaciones de S lo son de F . (i.e. para toda estructura I de L y toda asignación A en I, si IA |= S entonces IA |= F ). Se representa por S |= F . Se escribe G |= F en lugar de {G} |= F . Se escribe G |= F en lugar de {G} |= F . Ejemplos: ∀x P(x ) |= P(y ) P(y ) |= ∀x P(x ) (I, A) con I = (U, I), U = {1, 2}, P I = {1}, A(y ) = 1. {∀x (P(x ) → Q(x )), P(c)} |= Q(c) {∀x (P(x ) → Q(x )), Q(c)} |= P(c) (I, A) con I = (U, I), U = {1, 2}, c I = 1, P I = {2}, Q I = {1, 2}. {∀x (P(x ) → Q(x )), ¬Q(c)} |= ¬P(c) {P(c), ¬P(d)} |= c = d 41 / 45
  • 73. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Consecuencia lógica Consecuencia lógica e inconsistencia S |= F syss S ∪ {¬F } es inconsistente. S |= F ⇐⇒ para toda estructura I de L y toda asignación A en I, si, para todo G ∈ S, IA (G) = 1 entonces IA (F ) = 1. ⇐⇒ para toda estructura I de L y toda asignación A en I, si, para todo G ∈ S, IA (G) = 1 entonces IA (¬F ) = 0. ⇐⇒ para toda estructura I de L y toda asignación A en I, existe alguna H ∈ S ∪ {¬F } tal que IA (H) = 0. ⇐⇒ S ∪ {¬F } es inconsistente. Sean F una fórmula cerrada de L y S un conjunto de fórmulas cerradas de L. Entonces, son equivalentes F es consecuencia lógica de S todos los modelos de S lo son de F . 42 / 45
  • 74. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Equivalencia lógica Equivalencia lógica Def.: Sean F y G fórmulas de L. F y G son equivalentes si para toda estructura I de L y toda asignación A en I, IA (F ) = IA (G). Se representa por F ≡ G. Ejemplos: P(x ) ≡ P(y ). I = ({1, 2}, I) con P I = {1} y A(x ) = 1, A(y ) = 2. ∀x P(x ) ≡ ∀y P(y ). ∀x (P(x ) ∧ Q(x )) ≡ ∀x P(x ) ∧ ∀x Q(x ). ∃x (P(x ) ∧ Q(x )) ≡ ∃x P(x ) ∧ ∃x Q(x ). I = ({1, 2}, I) con P I = {1} y Q I = {2}. Propiedades: Sean F y G fórmulas cerradas de L. F ≡ G syss |= F ↔ G. F ≡ G syss F |= G y G |= F . 43 / 45
  • 75. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Semántica de la lógica de primer orden Equivalencia lógica Equivalencia lógica Propiedades básicas de la equivalencia lógica: Reflexiva: F ≡ F Simétrica: Si F ≡ G, entonces G ≡ F Transitiva: Si F ≡ G y G ≡ H, entonces F ≡ H Principio de sustitución de fórmulas equivalentes: Prop.: Si en la fórmula F1 se sustituye una de sus subfórmulas G1 por una fórmula G2 lógicamente equivalente a G1 , entonces la fórmula obtenida, F2 , es lógicamente equivalente a F1 . Ejemplo: F1 = ∀x P(x ) → ∃x Q(x ) G1 = ∀x P(x ) G2 = ∀y P(y ) F2 = ∀y P(y ) → ∃x Q(x ) 44 / 45
  • 76. LMF Tema 6: Sintaxis y semántica de la lógica de primer orden Bibliografía Bibliografía 1. C. Badesa, I. Jané y R. Jansana Elementos de lógica formal. (Ariel, 2000) pp. 195–259 y 323–326. 2. M.L. Bonet Apuntes de LPO. (Univ. Politécnica de Cataluña, 2003) pp. 17–26. 3. J.L. Fernández, A. Manjarrés y F.J. Díez Lógica computacional. (UNED, 2003) pp. 64–87. 4. J.H. Gallier Logic for computer science (foundations of automatic theorem Proving) (June 2003) pp. 146–186. 5. M. Huth y M. Ryan Logic in computer science: modelling and reasoning about systems. (Cambridge University Press, 2000) pp. 90–109 y 128–140. 6. M. Ojeda e I. Pérez de Guzmán Lógica para la computación (Vol. 2: Lógica de primer orden) (Ágora, 1997) pp. 1–37 y 49–51. 7. L. Paulson Logic and proof (U. Cambridge, 2002) pp. 22–29. 45 / 45