En lógica de primer orden, ¿cómo representamos normalmente un enunciado?
-
29-09-2020 - |
Pregunta
Quería un ejemplo como:
Todo el mundo tiene una madre.
He visto que está representado en FOL como: $\forall x \existe y:$ Madre(x,y)
Lo veo como: Para cada x, existe una y, tal que y es madre de x.
Quiero saber por qué no es adecuado lo siguiente:
$\para todos x:$ tieneMadre(x)
Lo que creo que se puede decir como:Por cada x, x tiene una madre.
Solución
Esta es una buena pregunta y se reduce a lo que desea lograr con el Mother
entidad.
En tu primer ejemplo, Mother(x, y)
es un (binario) relación.Eso significa que puedes tener tantos y
s como te gustaría por x
.Con Mother
como relación, también puedes hacer una fórmula que verifique si tienes dos y
s que satisface la maternidad para x
.
En tu otro ejemplo, hasMother(x)
es un predicado eso solo puede ser verdadero o FALSO.cuantas madres hacen x
¿tener?Imposible decirlo.Quién es x
¿La madre?No podemos decirlo.
También se podría concebir una mother(x) → y
función que mapea un x
a su madre y
, pero entonces sólo puedes tener una madre, y cada x
necesita tener una madre (en el modelo).
Todo se reduce a (a) qué es una representación natural del "mundo" (lo que sea que quieras modelar) y (b) lo que quieres lograr (lo que sea que quieras obtener de tu modelo).