Na lógica de primeira ordem, como normalmente representamos uma afirmação?
-
29-09-2020 - |
Pergunta
Eu queria um exemplo como:
Todo mundo tem uma mãe.
Eu vi que é representado no FOL como: $\forall x \existe y:$ Mãe (x, y)
Estou vendo isso como: Para todo x, existe um y, tal que y é mãe de x.
Quero saber por que o seguinte não é adequado:
$\para todos x:$ temMãe(x)
O que sinto pode ser dito como:Para cada x, x tem uma mãe.
Solução
Esta é uma boa pergunta e se resume ao que você deseja alcançar com o Mother
entidade.
No seu primeiro exemplo, Mother(x, y)
é um (binário) relação.Isso significa que você pode ter tantos y
é como você gostaria por x
.Com Mother
como uma relação, você também pode criar uma fórmula que verifique se você tem dois y
é que satisfaz a maternidade para x
.
Em seu outro exemplo, hasMother(x)
é um predicado isso só pode ser verdadeiro ou falso.Quantas mães fazem x
ter?Impossível dizer.Quem é x
'sufocar?Não podemos dizer.
Você também poderia conceber um mother(x) → y
função que mapeia um x
para sua mãe y
, mas então você pode ter apenas uma mãe, e cada x
precisa ter mãe (no modelo).
Tudo se resume a (a) o que é uma representação natural do “mundo” (o que quer que você queira modelar) e (b) o que você deseja alcançar (o que quer que você queira obter com seu modelo).