Aiutare con conversione in logica del primo ordine
-
26-09-2019 - |
Domanda
Utilizzando solo questi predicati .....
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)]
Non sono sicuro se quello che ho scritto è giusto o sbagliato
Inoltre non è sicuro, come convertire questa linea ...
On sunny days Julie goes to the park, otherwise she stays at home.
apprezzerebbe l'aiuto ... Grazie ...
Soluzione
Forse qualcosa di simile:
((child(Julie) ^ location(Julie,Y,park)) -> sunny(Y)) ^ ((child(Julie) ^ location(Julie,Y,home)) -> ~sunny(Y))
I permetterà di modificare questo ulteriore se mi viene in mente qualcosa. Stato un po 'da quando ho toccato la logica del primo ordine:)
Altri suggerimenti
la tua prima risposta non è corretta, ma in realtà non è traducibile per FOL perché descrive non descrive una regola rigida, ma solo qualcosa che è generalmente il caso. Per descrivere questo tipo di cose che si avrebbe bisogno di un qualche tipo di logica non monotona.
Ma anche se lasciamo che fuori, e proprio asume Si tratta di una regola ferrea e ignorare tutto il comportamento eccezionale qui dire che non ci sia un'entità x che, se si tratta di un bambino che a casa è malato e un bambino. Penso che si intende essere il secondo precedente della implicazione di essere $ posizione (X, Y, scuola) $
il rendering della seconda frase da Sagar V sembra bello ma forse si vuole invertire l'implicazione (dipende da cosa relazione causale che si desidera avere) e le sue forze di frase Julie di essere un bambino che non è nella sua dichiarazione problema