símbolos: variables = {x, y} constantes = {1,2} funciones = { f(. .) } predicados = { P(.), Q(.), R(. .) } 1) ¿Qué fórmulas están “bien escritas” y cuáles no? x P(x) f(x, y) P(x) ∧ f(x, y) P(x) ∧ Q(x) ∀x P(x) → Q(x) x ∀ P(x) → Q(x) ∀x → Q(x) ∀(x P(x) → (x)) R(P(x),y) ∀x P(x) → Q(x) ∨ y ∀x P(x) → Q(y) ∨ P(y) ∀x (P(x) → Q(y) ∨ P(y)) ∀x P(R(x,y)) → Q(y) ∀x ¬P(x) ¬∀x P(x) ∀x P(¬x) ∀x P(x) → ∃x ∃y (R(x, y) ∨ P(x)) ∀x P(x) → ∃x (∃y (R(x, y) ∨ P(x))) Un término no es una FBF Una función no es una FBF Una función no es una FBF FBF mal construida FBF mal construida FBF mal construida Un predicado no es un término Una variable no es una FBF Un predicado no es un término Una variable no es un predicado 2) ¿Alcance de los cuantificadores? ∀x P(x) ∧ R(x,y) ¿cantidad de variables? ¿abierta? 3 3 ∀x (P(x) → Q(x)) ∨ ¬P(x) 2 3 ∀x(P(x) → Q(x)) ∨ ¬P(y) 2 3 ∃x (R(x, y) ∨ P(x)) 2 3 ∃x ∃y (R(x, y) ∨ P(x)) 2 3 R(f(1,1),2) 0 3 Q(1,2) NO FBF ∀x R(x,y) 2 ∀x ∀y R(x,y) 2 R(P(x),y) NO FBF ∀x P(R(x,y)) → Q(y) NO FBF ∀x (P(x) → Q(x)) ∨ ∀x ¬P(x) ¿cerrada? 2 3 3 3 T1) Marca las afirmaciones correctas U U U D D U D U U D U D U Si una fórmula tiene ocurrencias de variable ligadas la fórmula es cerrada Si una fórmula tiene ocurrencias de variable libres y ligadas la fórmula es cerrada Si una fórmula tiene ocurrencias de variable libres la fórmula es cerrada Si una fórmula tiene ocurrencias de variable libres la fórmula es abierta Si una fórmula tiene ocurrencias de variable libres y ligadas la fórmula es abierta la FBF más simple es un término la FBF más simple es un átomo el átomo más simple es un símbolo de variable, constante o función el átomo más simple es un símbolo de predicado el átomo más simple es un símbolo de predicado con n términos como argumentos Dado un lenguaje sólo puedo definir una interpretación Dado un lenguaje puedo definir tantas interpretaciones como quiera Dado un lenguaje puedo definir todas las interpretaciones que quiera, por tanto, interpretación y LPO son independientes y puedo tener una interpretación sin definir un LPO 3) Evalúa las fórmulas de acuerdo a la interpretación siguiente: Sea A el alfabeto de un lenguaje de primer orden: Variables = { x, y } Constantes = { a, b, c } Predicados = { P( . ), Q( . ), R( . , . ) } Sea I(D, K, H, E) definida como sigue D = {1, 2, 3} K(a) = 1, K(b) = 2, K(c) = 3 E(P)={2}, E(Q)={1, 3}, E(R)={(1,1), (1,2), (1,3)} 4) Ahora la interpretación ha cambiado, evalúa de nuevo las fórmulas: D = {1, 2, 3} K(a) = 1, K(b) = 2, K(c) = 3 E(P)={1, 2}, E(Q)={1}, E(R)={(1,1)} 5) Ahora la interpretación ha cambiado, evalúa de nuevo las fórmulas: D = {m, n, o} K(a) = m, K(b) = n, K(c) = o E(P)={n}, E(Q)={m, o}, E(R)={(m,m), (m,n), (m,o)} F1 F2 F3 F4 F5 F6 F7 F8 Q(x) Q(x) ∧ ∀y R(x, y) ∃x Q(x) ∧ ∀y R(x, y) ∃x (Q(x) ∧ ∀y R(x, y)) ∀x(P(x) → ¬Q(x)) ∀x(P(x) → ∃y R(x, y)) ∃x(P(x) ∨ ∃y R(x, y)) ∃x(P(x) ∨ R(a, y)) 3) {1,3} {1} {1} CIERTO CIERTO FALSO CIERTO {1,2,3}=CIERTO 3b) ¿Es I modelo para { F4, F5, F6 } 4b) ¿Es I modelo para { F4, F5, F6 } NO NO 4) {1} {}=FALSO {}=FALSO FALSO FALSO FALSO CIERTO {1,2,3}=CIERTO 5) {m,o} {m} {m} CIERTO CIERTO FALSO CIERTO {m,n,o}=CIERTO 5b) ¿Es I modelo para { F4, F5, F6 } NO 6)Sea el siguiente conjunto de fórmulas bien formadas: ∀ x (¬P(x) → ∃ y Q(x , y)) ∀ x (P(x) → ∃ y Q(x , y)) ∀ y ∃ x (¬Q(x, y) ∧ R(x) ∧ P(x) ) Definir una interpretación (es necesario definir el alfabeto del lenguaje de primer orden) que sea modelo para dicho conjunto, teniendo en cuenta que el dominio de discurso está formado por los elementos: “ROJO”,”VERDE”. Sea A el alfabeto de un lenguaje de primer orden: Variables = { ROJO , VERDE } Constantes = { a, b } Predicados = { P( . ), Q( . , . ), R( . ) } Sea I(D, K, H, E) definida como sigue D = {ROJO , VERDE} K(a) = ROJO, K(b) = VERDE E(P)={ROJO,VERDE}, E(Q)={(ROJO,VERDE),(VERDE,ROJO)}, E(R)={(ROJO, VERDE)} T2) Marca las afirmaciones correctas 8 8 9 9 Una constante es un valor del universo de discurso (es un símbolo, no un valor) Hay tantos universos de discurso como dominios particulares se definan para cada variable (el universo de discurso es único) No hay tipos de datos, todos los valores posibles están definidos en un único conjunto. El concepto de fórmulas seguras se define para el cálculo relacional Esquema de la base de datos BDR1: CONDUCTOR ( número : cadena(2), añoNac : entero ) CP: número VEHÍCULO ( matrícula : cadena(9), marca : cadena(30), añoFab: entero ) CP: matrícula CONDUCE ( conductor : cadena(2), vehículo : cadena(9) ) CP: ( conductor, vehículo ) CAj: conductor → CONDUCTOR CAj: vehículo → VEHÍCULO Extensión de las relaciones: CONDUCTOR VEHÍCULO número añoNac matrícula marca añoFab C1 1950 A-0000-A SEAT 1980 C2 1950 A-1111-BM SEAT 1990 C3 1972 A-2222-CB VOLKSWAGEN 1994 C4 1970 A-3333-CN AUDI 1995 CONDUCE conductor C1 C2 C1 C4 vehículo A-0000-A A-0000-A A-2222-CB A-3333-CN Esquema de la base de datos BDR2: PROVINCIA ( NOMBRE:dom_nombre, HABITANTES:dom_num ) CP: NOMBRE CIUDAD ( PROVINCIA:dom_nombre, NOMBRE:dom_nombre ) CP: (PROVINCIA, NOMBRE) CAj: PROVINCIA → PROVINCIA ES_FRONTERA_DE ( NOMBRE1:dom_nombre, NOMBRE2: dom_nombre, KM:dom_num ) cp: ( nombre1, nombre2 ) caj: nombre1 → provincia caj: nombre2 → provincia Extensión de las relaciones: PROVINCIA nombre habitantes Asturias 1000 Lugo 500 Santander 300 Madrid 3000 CIUDAD provincia nombre Asturias Gijón Madrid Madrid Alicante Rojales ES_FRONTERA_DE nombre1 nombre2 km Asturias Santander 120 Lugo Asturias 53 Asturias Lugo 53 Dada la BDR1, evalúa las siguientes fórmulas: F1 F2 F3 F4 F5 F6 CONDUCTOR( x, 1950 ) CONDUCE(‘C2’, y) ∃y (CONDUCTOR(x, y) ∧ ¬∃z (CONDUCE(x, z)) ∀x ∀y (CONDUCE(x, y) → ∃z CONDUCTOR(x, z)) ∀y ∀x (CONDUCE(x, y) → ∃z ∃t VEHÍCULO(y, z, t)) ∀x ∀y ∀z (VEHÍCULO(x, y, z) → ∃t CONDUCE(t, x)) {C1,C2} {A-0000-A} {C3} CIERTO CIERTO FALSO Escribe un enunciado para cada una de las consultas que describen las fórmulas F1 Conductores nacidos en 1950 F2 Automóviles conducidos por el conductor C2 F3 Conductores que no conducen ningún vehículo F4 Sólo pueden conducir vehículos los conductores F5 Sólo se pueden conducir vehículos F6 Todos los vehículos son conducidos ¿Por qué has podido evaluar las fórmulas anteriores? Porque son FBF con las que se puede interrogar de forma natural una Base de Datos Relacional vista como una interpretación de un Lenguaje de Primer Orden Describe BDR1 y BDR2 desde la perspectiva de la lógica BDR1 · Símbolos de constante: C = {a : a es una cadena(2) } ∪ { a : a es una cadena(9) } ∪ {a : a es una cadena(30)} ∪ { a : a es un entero } · Símbolos de predicado: P = { CONDUCTOR( . , . ) , VEHÍCULO ( . , . , . ) , CONDUCE ( . , . ) } · Dominio de la interpretación: D = {a : a es una cadena(2) } ∪ { a : a es una cadena(9) } ∪ {a : a es una cadena(30) } ∪ { a : a es un entero } · Asignación a las constantes: K : C Æ D tal que K = { (c, d) : c ∈ C y d ∈ D y c=d }[ · Asignación a las predicados: E(CONDUCTOR) = Ext (CONDUCTOR) E(VEHÍCULO ) = Ext (VEHÍCULO) E(CONDUCE) = Ext (CONDUCE) BDR2 · Símbolos de constante: C = {a : a es un nombre } ∪ { a : a es un número } · Símbolos de predicado: P = { PROVINCIA( . , . ) , ES_FRONTERA_DE ( . , . , . ) , CIUDAD ( . , . ) } · Dominio de la interpretación: D = {a : a es un nombre } ∪ { a : a es una número } · Asignación a las constantes: K : C Æ D tal que K = { (c, d) : c ∈ C y d ∈ D y c=d }[ · Asignación a las predicados: E(PROVINCIA) = Ext (PROVINCIA) E(ES_FRONTERA_DE) = Ext (ES_FRONTERA_DE) E(CIUDAD) = Ext (CIUDAD) Alinea los siguientes conceptos atributos: consulta: dominios: esquema: estado de base de datos: extensión de la relación: relación: restricción de integridad: valor de un dominio: 1 4 9 7 6 3 8 5 2 1 2 3 4 5 6 7 8 9 argumentos de predicado constante extensión del predicado FBF abierta FBF cerrada interpretación LPO predicado universo del discurso ¿Son seguras las siguientes fórmulas? J1 J2 J3 P(x) ∃x P(x) ∀x ( P(x) → Q(x) ) SEGURA SEGURA SEGURA J4 J5 ¬P(x) ∀x ( ¬P(x) → Q(x) ) NO SEGURA NO SEGURA J6 ∀x (P(x) → ¬Q(x) ) SEGURA J7 ∀x ( R(x, y) → P(x) ) NO SEGURA J8 ∃x P(x) ∧ ∃y R(x1, y) SEGURA J9 ∃x ( P(x) ∧ ∃y R(x, y) ) SEGURA J10 ∀x ( P(x) → ∃y R(x, y) ) SEGURA J11 ∀x ( P(x) ∧ ∃y R(x, y) ) NO SEGURA J12 ∀x ( P(x) → ∃y R(x, y) ) ∧ ∀x ( Q(x) → ∃y R(y, x) ) SEGURA si x ∉ Dom(J1) entonces no la hace cierta si x ∉ Dom(G), G=P(x), entonces no la hace cierta si x ∉ Dom(G), G=P(x) → Q(x), entonces P(x)=FALSO y FALSO→? es CIERTO siempre por lo que no la hace falsa si x ∉ Dom(J4) entonces la hace cierta siempre si x ∉ Dom(G), G=¬P(x) → Q(x), entonces ¬P(x)=CIERTO y Q(x)=FALSO y CIERTO→FALSO la hace falsa siempre si x ∉ Dom(G), G=P(x) → ¬Q(x), entonces P(x)=FALSO y FALSO→? la hace cierta siempre si y ∉ Dom(J7), R(x,y) será falsa “para todo x”, por lo que la J7 se evaluará a cierto si x ∉ Dom(G), G=P(x), entonces G es falsa. Por otro lado, si y ∉ Dom(H), H=R(x,y), H es falsa. Además, si x1 ∉ Dom(J8), ∃yR(x,y) es falso, y ?∧falso es falso si x ∉ Dom(G), G=P(x)∧R(x,y), G es falsa. Por otro lado, si y ∉ Dom(H), H=R(x,y), H es falsa si x ∉ Dom(G), G= P(x) →R(x,y) entonces G es cierta. Si y ∉ Dom(H), H=R(x,y), entonces H es falsa. si x ∉ Dom(J11) entonces P(x)=FALSO y FALSO∧? la hace falsa siempre Aquí tenemos 4 variables, la prueba para cada una de ellas es como las anteriormente vistas (J10) ¿Son seguras las siguientes fórmulas? G1 ∀x ∀y (CONDUCTOR(x, y) → ∃z CONDUCE(x, z)) SEGURA G2 ∀x ∀y (CONDUCTOR(x, y) ∧ ∃z CONDUCE(x, z)) NO SEGURA G3 ∃y CONDUCTOR(x, y) ∧ ¬∃z CONDUCE(x, z) SEGURA si x ∉ Dom(G11), G11=∀y(CONDUCTOR(x,y)→∃zCONDUCE(x,z)), entonces CONDUCTOR(x,y)=FALSO para todo 'y', y FALSO→? es cierto, luego G11 es cierta. Si y ∉ Dom(G12) , G12=∀x(CONDUCTOR(x,y)→∃zCONDUCE(x,z)), entonces G12 es cierta. Si z ∉ Dom(G13), G13=CONDUCE(x,z), G13 es falsa. Si y ∉ Dom(G21), G21=∀x(CONDUCTOR(x,y)∧∃zCONDUCE(x,z)), entonces CONDUCTOR(x,y)=FALSO sea cual sea x, FALSO∧? es falso (en este caso incluso sabemos que CONDUCE(x,z) es también falso si y ∉ Dom(G31), G31= CONDUCTOR(x, y) ∧ ¬∃zCONDUCE(x, z), entonces CONDUCTOR(x,y) es falso, y G31 es falsa. Si z ∉ Dom(G32), G32=CONDUCE(x,z), entonces G32 es falso. Si x ∉ Dom(G3), para cualquier 'y' CONDUCTOR(x,y) es falso, luego ∃yCONDUCTOR(x, y)=falso, luego falso∧? = falso, luego G3=falso.