Lógica en Acción Capı́tulo 6: Lógica y Acción http://www.logicinaction.org/ (http://www.logicinaction.org/) 1 / 25 Acciones en General Acciones Diferentes tipos de acciones: (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, Guardas la leche en el refrigerador, (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, Guardas la leche en el refrigerador, La manzana cae al suelo, (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, Guardas la leche en el refrigerador, La manzana cae al suelo, Envı́o la solicitud después de llenarla, (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, Guardas la leche en el refrigerador, La manzana cae al suelo, Envı́o la solicitud después de llenarla, Él pregunta solo cuando sabe la respuesta, (http://www.logicinaction.org/) 2 / 25 Acciones en General Acciones Diferentes tipos de acciones: Ella apaga la luz, Guardas la leche en el refrigerador, La manzana cae al suelo, Envı́o la solicitud después de llenarla, Él pregunta solo cuando sabe la respuesta, Ellos no hacen nada. (http://www.logicinaction.org/) 2 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. Después de poner la leche en el refrigerador, esta se enfriará. (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. Después de poner la leche en el refrigerador, esta se enfriará. Una vez que la manzana caiga al suelo se empezara a descomponer. (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. Después de poner la leche en el refrigerador, esta se enfriará. Una vez que la manzana caiga al suelo se empezara a descomponer. Normalmente el jurado recibirá la solicitud después de que el solicitante la envı́e, pero algunas veces la solicitud puede perderse. (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. Después de poner la leche en el refrigerador, esta se enfriará. Una vez que la manzana caiga al suelo se empezara a descomponer. Normalmente el jurado recibirá la solicitud después de que el solicitante la envı́e, pero algunas veces la solicitud puede perderse. Después de que el profesor hizo una pregunta, los estudiantes permanecieron callados. (http://www.logicinaction.org/) 3 / 25 Acciones en General El efecto de una acción Una acción pueden ser caracterizada de acuerdo a su efecto: Después de apagar la luz, estaremos en la obscuridad. Después de poner la leche en el refrigerador, esta se enfriará. Una vez que la manzana caiga al suelo se empezara a descomponer. Normalmente el jurado recibirá la solicitud después de que el solicitante la envı́e, pero algunas veces la solicitud puede perderse. Después de que el profesor hizo una pregunta, los estudiantes permanecieron callados. Después de no hacer nada, todo sigue igual. (http://www.logicinaction.org/) 3 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: Composición. Ejecuta una acción después de otra: Vierte la mezcla sobre la carne y luego cubre el recipiente. (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: Composición. Ejecuta una acción después de otra: Vierte la mezcla sobre la carne y luego cubre el recipiente. Elección. Elige entre dos acciones: Dame una de las cajas. (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: Composición. Ejecuta una acción después de otra: Vierte la mezcla sobre la carne y luego cubre el recipiente. Elección. Elige entre dos acciones: Dame una de las cajas. Repetición. Realiza la misma acción varias veces: Bate hasta que el azúcar se integre. (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: Composición. Ejecuta una acción después de otra: Vierte la mezcla sobre la carne y luego cubre el recipiente. Elección. Elige entre dos acciones: Dame una de las cajas. Repetición. Realiza la misma acción varias veces: Bate hasta que el azúcar se integre. Verificación. Verifica si cierta condición se cumple: Revisa si está lloviendo. (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Operaciones sobre acciones Las acciones pueden ser combinadas en diversas formas: Composición. Ejecuta una acción después de otra: Vierte la mezcla sobre la carne y luego cubre el recipiente. Elección. Elige entre dos acciones: Dame una de las cajas. Repetición. Realiza la misma acción varias veces: Bate hasta que el azúcar se integre. Verificación. Verifica si cierta condición se cumple: Revisa si está lloviendo. Deshacer. Deshacer una acción: Cierra la ventana que acabas de abrir. (http://www.logicinaction.org/) 4 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A Puede ser definido como el repetir la verificación de ‘P ’ y la ejecución de ‘A’, y luego verificar ‘no A’. (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A Puede ser definido como el repetir la verificación de ‘P ’ y la ejecución de ‘A’, y luego verificar ‘no A’. 2 REPEAT A UNTIL P (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A Puede ser definido como el repetir la verificación de ‘P ’ y la ejecución de ‘A’, y luego verificar ‘no A’. 2 REPEAT A UNTIL P Puede ser definido como la composición de ‘A’ y luego WHILE (not P) do A. (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A Puede ser definido como el repetir la verificación de ‘P ’ y la ejecución de ‘A’, y luego verificar ‘no A’. 2 REPEAT A UNTIL P Puede ser definido como la composición de ‘A’ y luego WHILE (not P) do A. 3 IF P THEN A ELSE B (http://www.logicinaction.org/) 5 / 25 Composición, Elección, Repetición, Verificación Ejemplo: lenguajes de programación Tres estructuras de control en lenguajes de programación: 1 WHILE P do A Puede ser definido como el repetir la verificación de ‘P ’ y la ejecución de ‘A’, y luego verificar ‘no A’. 2 REPEAT A UNTIL P Puede ser definido como la composición de ‘A’ y luego WHILE (not P) do A. 3 IF P THEN A ELSE B Puede ser definido como una elección entre verificar ‘P ’ y luego ejecutar ‘A’, o verificar ‘not P ’ y luego ejecutar ‘B’. (http://www.logicinaction.org/) 5 / 25 Acciones como Relaciones Representando acciones de manera abstracta (1) Las acciones pueden ser representadas como transiciones entre estados: (http://www.logicinaction.org/) 6 / 25 Acciones como Relaciones Representando acciones de manera abstracta (1) Las acciones pueden ser representadas como transiciones entre estados: Luz encendida (http://www.logicinaction.org/) Luz apagada 6 / 25 Acciones como Relaciones Representando acciones de manera abstracta (1) Las acciones pueden ser representadas como transiciones entre estados: Luz encendida (http://www.logicinaction.org/) Oprime el interruptor Luz apagada 6 / 25 Acciones como Relaciones Representando acciones de manera abstracta (1) Las acciones pueden ser representadas como transiciones entre estados: Luz encendida Oprime el interruptor Luz apagada La carta llega a su destino Tengo la carta La carta se pierde (http://www.logicinaction.org/) 6 / 25 Acciones como Relaciones Representando acciones de manera abstracta (1) Las acciones pueden ser representadas como transiciones entre estados: Luz encendida Oprime el interruptor Enviarla Luz apagada La carta llega a su destino Tengo la carta Enviarla (http://www.logicinaction.org/) La carta se pierde 6 / 25 Acciones como Relaciones Representando acciones de manera abstracta (2) Formalmente, si tomamos un conjunto de estados S = {s1 , s2 , . . .}, (http://www.logicinaction.org/) 7 / 25 Acciones como Relaciones Representando acciones de manera abstracta (2) Formalmente, si tomamos un conjunto de estados S = {s1 , s2 , . . .}, s2 s1 s4 (http://www.logicinaction.org/) s3 7 / 25 Acciones como Relaciones Representando acciones de manera abstracta (2) Formalmente, si tomamos un conjunto de estados S = {s1 , s2 , . . .}, podemos representar acciones como relaciones binarias en S. s2 s1 s4 (http://www.logicinaction.org/) s3 7 / 25 Acciones como Relaciones Representando acciones de manera abstracta (2) Formalmente, si tomamos un conjunto de estados S = {s1 , s2 , . . .}, podemos representar acciones como relaciones binarias en S. a a a s1 s4 b s2 b s3 b (http://www.logicinaction.org/) 7 / 25 Acciones como Relaciones Representando acciones de manera abstracta (2) Formalmente, si tomamos un conjunto de estados S = {s1 , s2 , . . .}, podemos representar acciones como relaciones binarias en S. a a a s1 s4 b s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} (http://www.logicinaction.org/) 7 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (1) Sea S un conjunto {s1 , s2 , . . .}. s2 s1 s4 s3 (http://www.logicinaction.org/) 8 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (1) Sea S un conjunto {s1 , s2 , . . .}. La relación de identidad. I := {(s, s) | s ∈ S} s2 s1 s4 s3 (http://www.logicinaction.org/) 8 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (1) Sea S un conjunto {s1 , s2 , . . .}. La relación de identidad. I := {(s, s) | s ∈ S} s2 I = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} s1 s4 s3 (http://www.logicinaction.org/) 8 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (1) Sea S un conjunto {s1 , s2 , . . .}. La relación de identidad. I := {(s, s) | s ∈ S} s2 I = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} s1 s4 s3 (http://www.logicinaction.org/) 8 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (2) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. a a a s1 s4 s2 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 9 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (2) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Composición. Ra ◦ Rb := {(s, s0 ) | existe un s00 ∈ S tal que Ra ss00 y Rb s00 s0 } a a a s1 s4 s2 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 9 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (2) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Composición. Ra ◦ Rb := {(s, s0 ) | existe un s00 ∈ S tal que Ra ss00 y Rb s00 s0 } a a a s1 s4 s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Ra ◦ Rb = {(s1 , s4 ), (s1 , s3 ), (s2 , s3 )} b (http://www.logicinaction.org/) 9 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (2) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Composición. Ra ◦ Rb := {(s, s0 ) | existe un s00 ∈ S tal que Ra ss00 y Rb s00 s0 } a a a s1 s4 s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Ra ◦ Rb = {(s1 , s4 ), (s1 , s3 ), (s2 , s3 )} b (http://www.logicinaction.org/) 9 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (2) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Composición. Ra ◦ Rb := {(s, s0 ) | existe un s00 ∈ S tal que Ra ss00 y Rb s00 s0 } a a a s1 s4 s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Ra ◦ Rb = {(s1 , s4 ), (s1 , s3 ), (s2 , s3 )} b En particular, dada una relación Ra , definimos 0 Ra := I, 1 0 Ra := Ra ◦ Ra , (http://www.logicinaction.org/) 2 1 Ra := Ra ◦ Ra , 3 2 Ra := Ra ◦ Ra , ... 9 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (3) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. a a a s1 s4 s2 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 10 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (3) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Union. Ra ∪ Rb := {(s, s0 ) | Ra ss0 o Rb ss0 } a a a s1 s4 s2 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 10 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (3) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Union. Ra ∪ Rb := {(s, s0 ) | Ra ss0 o Rb ss0 } a a a s1 s4 s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Ra ∪ Rb = {(s1 , s1 ), (s1 , s2 ), (s2 , s2 ) (s1 , s4 ), (s2 , s3 ), (s4 , s3 )} b (http://www.logicinaction.org/) 10 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (3) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Union. Ra ∪ Rb := {(s, s0 ) | Ra ss0 o Rb ss0 } a a a s1 s4 s2 b s3 b Ra := {(s1 , s1 ), (s1 , s2 ), (s2 , s2 )} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Ra ∪ Rb = {(s1 , s1 ), (s1 , s2 ), (s2 , s2 ) (s1 , s4 ), (s2 , s3 ), (s4 , s3 )} b (http://www.logicinaction.org/) 10 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} a a s1 s4 s2 b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} a a s1 s4 s2 b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} b s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rb2 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rb2 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} s3 b b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b s3 b Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rb2 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} Rb3 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} b (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b s3 b b (http://www.logicinaction.org/) Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rb2 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} Rb3 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} .. . 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (4) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Repetición cero o mas veces. ∗ n Ra := {(s, s0 ) | Ra ss0 para algún n ∈ N} Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} a a a s1 s4 s2 b s3 b b Rb0 = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 )} Rb1 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rb2 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} Rb3 = {(s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} .. . Rb∗ = {(s1 , s1 ), (s2 , s2 ), (s3 , s3 ), (s4 , s4 ), (s1 , s4 ), (s2 , s3 ), (s4 , s3 ), (s1 , s3 )} (http://www.logicinaction.org/) 11 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (5) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. a a a s1 s4 s2 b Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 12 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (5) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Opuesta. Rˇa := {(s0 , s) | Ra ss0 } a a a s1 s4 s2 b Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} s3 b b (http://www.logicinaction.org/) 12 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (5) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Opuesta. Rˇa := {(s0 , s) | Ra ss0 } a a a s1 s4 s2 b s3 b Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rˇb = {(s4 , s1 ), (s3 , s2 ), (s3 , s4 )} b (http://www.logicinaction.org/) 12 / 25 Operaciones sobre relaciones Operaciones sobre relaciones (5) Sea S un conjunto {s1 , s2 , . . .}, y sean Ra , Rb relaciones binarias en S. Opuesta. Rˇa := {(s0 , s) | Ra ss0 } a a a s1 s4 s2 b s3 b Rb := {(s1 , s4 ), (s2 , s3 ), (s4 , s3 )} Rˇb = {(s4 , s1 ), (s3 , s2 ), (s3 , s4 )} b (http://www.logicinaction.org/) 12 / 25 Lógica proposicional y acciones: LDP Sintaxis (1) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las fórmulas se construyen mediante la siguiente regla. (http://www.logicinaction.org/) 13 / 25 Lógica proposicional y acciones: LDP Sintaxis (1) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las fórmulas se construyen mediante la siguiente regla. Todo enunciado básico es una fórmula p, (http://www.logicinaction.org/) q, r, ... 13 / 25 Lógica proposicional y acciones: LDP Sintaxis (1) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las fórmulas se construyen mediante la siguiente regla. Todo enunciado básico es una fórmula p, q, r, ... Si ϕ y ψ son fórmulas, también lo son: ¬ϕ, (http://www.logicinaction.org/) ϕ ∧ ψ, ϕ ∨ ψ, ϕ → ψ, ϕ↔ψ 13 / 25 Lógica proposicional y acciones: LDP Sintaxis (1) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las fórmulas se construyen mediante la siguiente regla. Todo enunciado básico es una fórmula p, q, r, ... Si ϕ y ψ son fórmulas, también lo son: ¬ϕ, ϕ ∧ ψ, ϕ ∨ ψ, ϕ → ψ, ϕ↔ψ Si ϕ es una fórmula y α una acción, la siguiente es una fórmula: hαi ϕ (http://www.logicinaction.org/) 13 / 25 Lógica proposicional y acciones: LDP Sintaxis (2) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las acciones se construyen mediante las siguientes reglas (http://www.logicinaction.org/) 14 / 25 Lógica proposicional y acciones: LDP Sintaxis (2) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las acciones se construyen mediante las siguientes reglas Toda acción básica es una acción a, (http://www.logicinaction.org/) b, c, ... 14 / 25 Lógica proposicional y acciones: LDP Sintaxis (2) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las acciones se construyen mediante las siguientes reglas Toda acción básica es una acción a, b, c, ... Si α y β son acciones, también lo son: α; β , (http://www.logicinaction.org/) α∪β, α∗ 14 / 25 Lógica proposicional y acciones: LDP Sintaxis (2) El lenguaje de la lógica dinámica proposicional (LDP) tiene dos partes, fórmulas ϕ y acciones α. Las acciones se construyen mediante las siguientes reglas Toda acción básica es una acción a, b, c, ... Si α y β son acciones, también lo son: α; β , α∪β, α∗ Si ϕ es una fórmula la siguiente es una acción: ?ϕ (http://www.logicinaction.org/) 14 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β α∗ ?ϕ hαi ϕ (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β composición: ejecuta α y luego β. α∪β α∗ ?ϕ hαi ϕ (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ ?ϕ hαi ϕ (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β α∗ composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ hαi ϕ (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ α puede ser ejecutada de forma que, después de hacerlo, ϕ es verdadera. (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ α puede ser ejecutada de forma que, después de hacerlo, ϕ es verdadera. Abreviaremos p ∨ ¬p como >. (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ α puede ser ejecutada de forma que, después de hacerlo, ϕ es verdadera. Abreviaremos p ∨ ¬p como >. Abreviaremos ¬> como ⊥. (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ α puede ser ejecutada de forma que, después de hacerlo, ϕ es verdadera. Abreviaremos p ∨ ¬p como >. Abreviaremos ¬> como ⊥. Abreviaremos ¬hαi ¬ϕ como [α] ϕ. (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Intuiciones y abreviaciones α; β α∪β composición: ejecuta α y luego β. elección no determinista: ejecuta α o β. α∗ repetición: ejecuta α cero, una, o cualquier número finito de veces. ?ϕ verificación: verifica si ϕ es verdadera o no. hαi ϕ α puede ser ejecutada de forma que, después de hacerlo, ϕ es verdadera. Abreviaremos p ∨ ¬p como >. Abreviaremos ¬> como ⊥. Abreviaremos ¬hαi ¬ϕ como [α] ϕ. [α] ϕ Después de cualquier ejecución de α, ϕ es verdadera. (http://www.logicinaction.org/) 15 / 25 Lógica proposicional y acciones: LDP Ejemplos de fórmulas hαi > [α] ⊥ hαi ϕ ∧ ¬[α] ϕ (http://www.logicinaction.org/) 16 / 25 Lógica proposicional y acciones: LDP Ejemplos de fórmulas hαi > α puede ser ejecutada. [α] ⊥ hαi ϕ ∧ ¬[α] ϕ (http://www.logicinaction.org/) 16 / 25 Lógica proposicional y acciones: LDP Ejemplos de fórmulas hαi > α puede ser ejecutada. [α] ⊥ α no puede ser ejecutada. hαi ϕ ∧ ¬[α] ϕ (http://www.logicinaction.org/) 16 / 25 Lógica proposicional y acciones: LDP Ejemplos de fórmulas hαi > α puede ser ejecutada. [α] ⊥ α no puede ser ejecutada. hαi ϕ ∧ ¬[α] ϕ α puede ser ejecutada en al menos dos formas diferentes. (http://www.logicinaction.org/) 16 / 25 Sistemas de Transición Etiquetados Los modelos (1) Las estructuras en las cuales evaluamos fórmulas en LDP, sistemas de transición etiquetados (STE ), tienen tres componentes: M =h , (http://www.logicinaction.org/) , i 17 / 25 Sistemas de Transición Etiquetados Los modelos (1) Las estructuras en las cuales evaluamos fórmulas en LDP, sistemas de transición etiquetados (STE ), tienen tres componentes: S: un conjunto no vació de estados, s2 s1 s3 M = hS, (http://www.logicinaction.org/) , i 17 / 25 Sistemas de Transición Etiquetados Los modelos (1) Las estructuras en las cuales evaluamos fórmulas en LDP, sistemas de transición etiquetados (STE ), tienen tres componentes: S: un conjunto no vació de estados, V : una valuación indicando qué enunciados básicos son verdaderos en cada estado s ∈ S, y pq s2 pq s1 pq s3 M = hS, (http://www.logicinaction.org/) ,V i 17 / 25 Sistemas de Transición Etiquetados Los modelos (1) Las estructuras en las cuales evaluamos fórmulas en LDP, sistemas de transición etiquetados (STE ), tienen tres componentes: S: un conjunto no vació de estados, V : una valuación indicando qué enunciados básicos son verdaderos en cada estado s ∈ S, y Ra : una relación binaria por cada acción básica a. a a pq s2 pq b s1 c c pq b s3 M = hS, Ra , V i (http://www.logicinaction.org/) 17 / 25 Sistemas de Transición Etiquetados The models (2) A un sistema de transición etiquetado en el cual distinguimos un estado (el estado inicial ) se le llama a sistema de transición etiquetado marcado o gráfica de procesos. a a pq s2 pq b s1 c c pq b s3 (http://www.logicinaction.org/) 18 / 25 Sistemas de Transición Etiquetados The models (2) A un sistema de transición etiquetado en el cual distinguimos un estado (el estado inicial ) se le llama a sistema de transición etiquetado marcado o gráfica de procesos. a a pq s2 pq b s1 c c pq b s3 (http://www.logicinaction.org/) 18 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si (http://www.logicinaction.org/) p ∈ V (s) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ Si α no es una acción básica, la relación Rα se define como (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ Si α no es una acción básica, la relación Rα se define como Rα;β := Rα ◦ Rβ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ Si α no es una acción básica, la relación Rα se define como Rα;β := Rα ◦ Rβ Rα∪β := Rα ∪ Rβ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ Si α no es una acción básica, la relación Rα se define como Rα;β := Rα ◦ Rβ Rα∪β := Rα ∪ Rβ Rα∗ := (Rα )∗ (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Evaluando fórmulas Sea (M , s) un sistema de transición etiquetado marcado, con M = hS, Ra , V i: (M , s) |= p si y solo si p ∈ V (s) (M , s) |= ¬ϕ si y solo si no es el caso que (M , s) |= ϕ (M , s) |= ϕ ∨ ψ si y solo si (M , s) |= ϕ o (M , s) |= ψ ... si y solo si ... (M , s) |= hαi ϕ si y solo si existe un t ∈ S tal que Rα st y (M , t) |= ϕ Si α no es una acción básica, la relación Rα se define como Rα;β := Rα ◦ Rβ Rα∪β := Rα ∪ Rβ Rα∗ := (Rα )∗ R?ϕ := {(s, s) ∈ S × S | (M , s) |= ϕ} (http://www.logicinaction.org/) 19 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} Ra∪c = (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} Ra∪c = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} Ra∪c = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} Rc;c = (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} Ra∪c = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} Rc;c = {(s1 , s2 )} (http://www.logicinaction.org/) 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) Rc;a (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) Rc;a (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} = {(s3 , s1 )} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) Rc;a R(c;a)∗ (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} = {(s3 , s1 )} = 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) Rc;a R(c;a)∗ (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} = {(s3 , s1 )} = {(s3 , s1 ), (s1 , s1 ), (s2 , s2 ), (s3 , s3 )} 20 / 25 Semántica de LDP Ejemplo: construyendo relaciones mas complejas s2 a a pq s1 pq c b c pq b Ra := {(s1 , s1 ), (s2 , s1 )} Rb := {(s1 , s2 ), (s3 , s3 )} Rc := {(s1 , s3 ), (s3 , s2 )} s3 Ra∪b Ra∪c Rc;c Rb;b R?¬(p∨q) R?(p∨q) R?¬(p∨q);a;?(p∨q) Rc;a R(c;a)∗ (http://www.logicinaction.org/) = {(s1 , s1 ), (s2 , s1 ), (s1 , s2 ), (s3 , s3 )} = {(s1 , s1 ), (s2 , s1 ), (s1 , s3 ), (s3 , s2 )} = {(s1 , s2 )} ={} = {(s2 , s2 )} = {(s1 , s1 ), (s3 , s3 )} = {(s2 , s1 )} = {(s3 , s1 )} = {(s3 , s1 ), (s1 , s1 ), (s2 , s2 ), (s3 , s3 )} 20 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq s1 pq c b c pq b s3 M (http://www.logicinaction.org/) 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq pq s1 c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p ? (M , s3 ) |= [(c; a)∗ ] p ? (M , s1 ) |= [b] ⊥ (M , s3 ) |= [?p] p ? (M , s2 ) |= hai > → hbi > ? (M , s2 ) |= hc∗ i > ? (http://www.logicinaction.org/) ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq pq s1 c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p ! (M , s3 ) |= [(c; a)∗ ] p ? (M , s1 ) |= [b] ⊥ ? (M , s3 ) |= [?p] p (M , s2 ) |= hai > → hbi > ? (M , s2 ) |= hc∗ i > ? (http://www.logicinaction.org/) ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq pq s1 c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p (M , s1 ) |= [b] ⊥ ! % (M , s2 ) |= hai > → hbi > ? (M , s2 ) |= hc∗ i > ? (http://www.logicinaction.org/) (M , s3 ) |= [(c; a)∗ ] p ? (M , s3 ) |= [?p] p ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq pq s1 c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p (M , s1 ) |= [b] ⊥ (M , s2 ) |= hai > → hbi > (M , s2 ) |= hc∗ i > (http://www.logicinaction.org/) ! % % (M , s3 ) |= [(c; a)∗ ] p ? (M , s3 ) |= [?p] p ? ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq s1 pq c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p (M , s1 ) |= [b] ⊥ (M , s2 ) |= hai > → hbi > (M , s2 ) |= hc∗ i > (http://www.logicinaction.org/) ! % % ! (M , s3 ) |= [(c; a)∗ ] p ? (M , s3 ) |= [?p] p ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq s1 pq c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p (M , s1 ) |= [b] ⊥ (M , s2 ) |= hai > → hbi > (M , s2 ) |= hc∗ i > (http://www.logicinaction.org/) ! % % ! (M , s3 ) |= [(c; a)∗ ] p ! (M , s3 ) |= [?p] p ? 21 / 25 Semántica de LDP Ejemplo: evaluando fórmulas s2 a a pq s1 pq c b c pq b s3 M (M , s1 ) |= ha ∪ bi p ∧ ¬[a ∪ b] p (M , s1 ) |= [b] ⊥ (M , s2 ) |= hai > → hbi > (M , s2 ) |= hc∗ i > (http://www.logicinaction.org/) ! % % ! (M , s3 ) |= [(c; a)∗ ] p (M , s3 ) |= [?p] p ! ! 21 / 25 Sistema de Derivación Sistema de derivación (1) Las fórmulas válidas de LDP pueden ser derivadas a partir de los siguientes principios: (http://www.logicinaction.org/) 22 / 25 Sistema de Derivación Sistema de derivación (1) Las fórmulas válidas de LDP pueden ser derivadas a partir de los siguientes principios: 1 Todas las tautologı́as proposicionales. (http://www.logicinaction.org/) 22 / 25 Sistema de Derivación Sistema de derivación (1) Las fórmulas válidas de LDP pueden ser derivadas a partir de los siguientes principios: 1 Todas las tautologı́as proposicionales. 2 [α] (ϕ → ψ) → ([α] ϕ → [α] ψ) para cualquier acción α. (http://www.logicinaction.org/) 22 / 25 Sistema de Derivación Sistema de derivación (1) Las fórmulas válidas de LDP pueden ser derivadas a partir de los siguientes principios: 1 Todas las tautologı́as proposicionales. 2 [α] (ϕ → ψ) → ([α] ϕ → [α] ψ) para cualquier acción α. 3 Modus ponens (MP): si tienes ϕ y ϕ → ψ, entonces deriva ψ. (http://www.logicinaction.org/) 22 / 25 Sistema de Derivación Sistema de derivación (1) Las fórmulas válidas de LDP pueden ser derivadas a partir de los siguientes principios: 1 Todas las tautologı́as proposicionales. 2 [α] (ϕ → ψ) → ([α] ϕ → [α] ψ) para cualquier acción α. 3 Modus ponens (MP): si tienes ϕ y ϕ → ψ, entonces deriva ψ. 4 Necessitation (Nec): si tienes ϕ entonces deriva [α] ϕ para cualquier acción α. (http://www.logicinaction.org/) 22 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ Elección: [α ∪ β] ϕ ↔ ([α] ϕ ∧ [β] ϕ) (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ Elección: [α ∪ β] ϕ ↔ ([α] ϕ ∧ [β] ϕ) Repetición: (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ Elección: [α ∪ β] ϕ ↔ ([α] ϕ ∧ [β] ϕ) Repetición: Combinación: [α∗ ] ϕ ↔ (ϕ ∧ [α] [α∗ ] ϕ) (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ Elección: [α ∪ β] ϕ ↔ ([α] ϕ ∧ [β] ϕ) Repetición: Combinación: [α∗ ] ϕ ↔ (ϕ ∧ [α] [α∗ ] ϕ) Inducción: “ ” ϕ ∧ [α∗ ] (ϕ → [α] ϕ) → [α∗ ] ϕ (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Sistema de derivación (2) 5 Principios para operaciones sobre acciones: Verificaión: [?ψ] ϕ ↔ (ψ → ϕ) Composición: [α; β] ϕ ↔ [α] [β] ϕ Elección: [α ∪ β] ϕ ↔ ([α] ϕ ∧ [β] ϕ) Repetición: Combinación: [α∗ ] ϕ ↔ (ϕ ∧ [α] [α∗ ] ϕ) Inducción: “ ” ϕ ∧ [α∗ ] (ϕ → [α] ϕ) → [α∗ ] ϕ Un teorema es una fórmula que puede ser derivada en un número finito de pasos siguiendo los principios anteriores. (http://www.logicinaction.org/) 23 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. (http://www.logicinaction.org/) 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: (http://www.logicinaction.org/) 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: 1. [(α ∪ β); γ] ϕ (http://www.logicinaction.org/) Suposición 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: 1. 2. [(α ∪ β); γ] ϕ [α ∪ β] [γ] ϕ (http://www.logicinaction.org/) Suposición Composición sobre paso 1 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: 1. 2. 3. [(α ∪ β); γ] ϕ [α ∪ β] [γ] ϕ [α] [γ] ϕ ∧ [β] [γ] ϕ (http://www.logicinaction.org/) Suposición Composición sobre paso 1 Elección sobre paso 2 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: 1. 2. 3. 4. [(α ∪ β); γ] ϕ [α ∪ β] [γ] ϕ [α] [γ] ϕ ∧ [β] [γ] ϕ [α; γ] ϕ ∧ [β; γ] ϕ (http://www.logicinaction.org/) Suposición Composición sobre paso 1 Elección sobre paso 2 Composición sobre paso 3 24 / 25 Sistema de Derivación Ejemplo Demuestre que [(α ∪ β); γ] ϕ ↔ ([α; γ] ϕ ∧ [β; γ] ϕ) es válida. De izquierda a derecha: 1. 2. 3. 4. [(α ∪ β); γ] ϕ [α ∪ β] [γ] ϕ [α] [γ] ϕ ∧ [β] [γ] ϕ [α; γ] ϕ ∧ [β; γ] ϕ Suposición Composición sobre paso 1 Elección sobre paso 2 Composición sobre paso 3 De derecha a izquierda la demostración es similar. (http://www.logicinaction.org/) 24 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (?ϕ; α)∗ ; ?¬ϕ (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (?ϕ; α)∗ ; ?¬ϕ 2 REPEAT α UNTIL ϕ: (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (?ϕ; α)∗ ; ?¬ϕ 2 REPEAT α UNTIL ϕ: α; (?¬ϕ; α)∗ ; ?ϕ (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (?ϕ; α)∗ ; ?¬ϕ 2 REPEAT α UNTIL ϕ: α; (?¬ϕ; α)∗ ; ?ϕ 3 IF ϕ THEN α ELSE β: (http://www.logicinaction.org/) 25 / 25 Expresividad LDP como lenguaje de programación Con LDP podemos definir acciones representando estructuras de control en lenguajes de programación. 1 WHILE ϕ do α: (?ϕ; α)∗ ; ?¬ϕ 2 REPEAT α UNTIL ϕ: α; (?¬ϕ; α)∗ ; ?ϕ 3 IF ϕ THEN α ELSE β: (?ϕ; α) ∪ (?¬ϕ; β) (http://www.logicinaction.org/) 25 / 25