In una recente interrogazione (How to define (and name) the corresponding safe term comparison predicates in ISO Prolog?) @false chiesto un'implementazione del termine ordinamento predicato lt/2
, una variante della norma ISO incorporato (@<)/2
.Testing predicato "ordine sicura termine"
Il valore di verità di lt(T1,T2)
deve essere stabile w.r.t. associazioni variabili arbitrarie in T1
e T2
.
In varie risposte, sono state proposte diverse implementazioni (basate su traversal a termine implicito/esplicito). Alcuni commenti e avvertenze sono stati sollevati nei commenti, così come controesempi.
Quindi la mia domanda: come possono essere testate le implementazioni dei candidati? Qualche approccio a forza bruta? O qualcosa di più intelligente?
In ogni caso, si prega di condividere le macchine di prova automatica per lt/2
! È per il bene maggiore!
C'è già un 400 bounty per la domanda correlata .. – false