Question

Si je comprends bien (principalement de l'existence de la applyTactic la fonction), il est possible d'écrire personnalisé tactiques pour le prouveur de l'Idris.Ce qui (ou que) en sont quelques exemples que je pourrais utiliser pour apprendre comment faire cela?

Était-ce utile?

La solution

Il existe deux mécanismes pour la rédaction de la coutume de tactiques de l'Idris:de haut niveau et de bas niveau de la réflexion.

À l'aide de haut-niveau de la réflexion, de vous écrire une fonction qui s'exécute sur la syntaxe plutôt que sur les données évaluées - il ne réduira pas son argument.Ces fonctions renvoient une nouvelle tactique, définie à l'aide de la pré-existant de tactiques de l'Idris.Si vous voulez retourner une preuve terme directement, vous pouvez toujours l'utiliser Exact.Un exemple de ce type de réflexion peut être trouvé dans la bibliothèque d'effets.Haut niveau de réflexion tactiques sont appelés à l'aide byReflection dans la preuve de mode.

Dans les bas-niveau de réflexion, vous travaillez directement avec la cité des termes de l'Idris de base de théorie des types.Une tactique est alors une fonction dans TT -> List (TTName, TT) -> Tactic où le premier argument est le type d'objectif, la seconde est la preuve contexte, et le résultat obtenu est le même que dans le haut-niveau de la réflexion.C'est ce que laughadelic lié à ci-dessus.Ces sont appelés à l'aide applyTactic dans la preuve de mode.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top