símbolos: variables = {x, y} constantes = {1,2} funciones = { f

Anuncio
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.
Descargar