Attualmente sto cercando di generare il codice Haskell dal mio programma di verifica lemma, che assomiglia a questo:codice Generazione Haskell da COQ: Valore logico o arity utilizzato
Lemma the_thing_is_ok : forall (e:Something), Matches e (calculate_value e).
destro dopo aver terminato la mia sezione, lo faccio:
Extraction Language Haskell.
Recursive Extraction the_thing_is_ok
E non sembra essere molto felice per qualcosa, dal momento che restituisce il seguente errore:
__ = Prelude.error "Logical or arity value used"
Ho un altro Lemma che sembra esportare bene ma non sono riuscito a capire quale fosse esattamente il problema. Eventuali indizi su come aggirare quell'errore?
Il tuo Lemma è in Prop, come di solito è il caso? Credo che Coq scarti tutte le informazioni di Prop durante l'estrazione. Per esempio. se estrai '{n: nat | somePredicate n} 'otterrai un risultato naturale, ma senza la prova del predicato. – chi