Pergunta

Usando apenas esses predicados .....

child(X)            X is a child
unwell(X,Y) X is unwell on day Y
location(X,Y,Z)     Location of X on day Y is Z (school, park, home)
sunny(X)            X is a sunny day

Generally, children do not go to school whenever they are unwell
∄x [Child(x) ∧ location(X,y,home) → Child(x) ∧ unwell(X,y)]

Não tenho certeza se o que escrevi é certo ou errado

Também não tenho certeza, como converter esta linha ...

On sunny days Julie goes to the park, otherwise she stays at home.

Apreciaria a ajuda ... obrigado ...

Foi útil?

Solução

Talvez algo assim:

 ((child(Julie) ^ location(Julie,Y,park)) -> sunny(Y)) ^ ((child(Julie) ^ location(Julie,Y,home)) -> ~sunny(Y))

Vou editar isso ainda mais se conseguir pensar em alguma coisa. Faz um tempo desde que toquei a lógica de primeira ordem :)

Outras dicas

Sua primeira resposta não está correta, mas não é realmente traduzível para FOL porque descreve não descreve uma regra estrita, mas apenas algo que geralmente é o caso. Para descrever esse tipo de coisa, você precisaria de algum tipo de lógica não monotônica.

Mas mesmo se deixarmos isso de fora, e apenas assumir, é uma regra estrita e ignorarmos todo o comportamento excepcional que você diz aqui que não há uma entidade X que, se for uma criança e em casa, está doente e uma criança. Eu acho que você pretendia ser o segundo precedente da implicação a ser $ local (x, y, escola) $

A renderização da segunda frase de Sagar V parece boa, mas talvez você queira reverter a implicação (depende de qual relação causal você deseja ter) e sua sentença força Julie a ser uma criança que não está na sua declaração de problema

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top