Questo in realtà è molto profondo. Strano che Wikipedia non lo menzioni mai.
Quello che stai cercando sono prove molto dure che possono, probabilmente, essere raggiunte con cose come le prove Fitch . Quindi stiamo provando a dedurre le cose dai nostri dati dati. Ci sono molti costruttori a prova di Fitch che fanno molto lavoro per te. Ma alcuni esercizi non sono solo per provare.
Non so se l'utente dovrebbe fare i calcoli. In tal caso, prestare attenzione a cose come 3SAT , che sono problemi inevitabili per il tempo polinomiale.
Per quanto riguarda le strutture di dati che vuoi usare, penso che tu voglia avere un qualche tipo di Rule
classe. La regola può essere qualsiasi, a seconda del tipo. Non ci sono molte regole nelle logiche predicate , quindi questo può essere superato ereditando (if, iff, e, o, no ...). Queste regole devono solo essere valutate. E l'unica cosa che una regola può fare è restituire vero o falso. Perché è quello che fai con le logiche predicate. All'università, mi è stato consigliato di leggere questo libro di John Kelly .
Tornando alle lezioni: dovresti vedere questi problemi come se dovessi vedere l'implementazione di calcoli normali con la matematica. Che cos'è un +
operatore? Contiene due parametri, che può essere una nuova equazione da solo o solo un numero. Penso che tu abbia lo stesso con le Regole. Possono avere nuove regole come parametro o solo un valore booleano (cosiddetto predicato).
Spero che questo ti aiuti molto, specialmente i riferimenti. Se vuoi saperne di più o se sto andando nella direzione sbagliata, per favore dimmelo.