Mtac: A monad for typed tactic programming in Coq
- Autores
- Ziliani, Luis Francisco; Dreyer, Derek; Krishnaswami, Neelakantan R.; Nanevski, Aleksandar; Vafeiadis, Viktor
- Año de publicación
- 2015
- Idioma
- inglés
- Tipo de recurso
- artículo
- Estado
- versión publicada
- Descripción
- Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tactics within the base logic of the accompanying theorem prover, or (b) rely on advanced type-theoretic machinery that is not easily integrated into established theorem provers. We present Mtac, a lightweight but powerful extension to Coq that supports dependently typed tactic programming. Mtac tactics have access to all the features of ordinary Coq programming, as well as a new set of typed tactical primitives. We avoid the need to touch the trusted kernel typechecker of Coq by encapsulating uses of these new tactical primitives in a monad, and instrumenting Coq so that it executes monadic tactics during type inference.
Fil: Ziliani, Luis Francisco. Max Planck Institute for Software Systems; Alemania. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina
Fil: Dreyer, Derek. Max Planck Institute for Software Systems; Alemania
Fil: Krishnaswami, Neelakantan R.. University of Birmingham; Reino Unido
Fil: Nanevski, Aleksandar. IMDEA Software Institute; España
Fil: Vafeiadis, Viktor. Max Planck Institute for Software Systems; Alemania - Materia
-
Interactive Theorem Proving
Custom Proof Automation
Coq
Monads
Typed Meta-Programming
Tactics - Nivel de accesibilidad
- acceso abierto
- Condiciones de uso
- https://creativecommons.org/licenses/by-nc-sa/2.5/ar/
- Repositorio
- Institución
- Consejo Nacional de Investigaciones Científicas y Técnicas
- OAI Identificador
- oai:ri.conicet.gov.ar:11336/69680
Ver los metadatos del registro completo
id |
CONICETDig_19b5db5a04ed9d015f48430a7c385d9c |
---|---|
oai_identifier_str |
oai:ri.conicet.gov.ar:11336/69680 |
network_acronym_str |
CONICETDig |
repository_id_str |
3498 |
network_name_str |
CONICET Digital (CONICET) |
spelling |
Mtac: A monad for typed tactic programming in CoqZiliani, Luis FranciscoDreyer, DerekKrishnaswami, Neelakantan R.Nanevski, AleksandarVafeiadis, ViktorInteractive Theorem ProvingCustom Proof AutomationCoqMonadsTyped Meta-ProgrammingTacticshttps://purl.org/becyt/ford/1.2https://purl.org/becyt/ford/1Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tactics within the base logic of the accompanying theorem prover, or (b) rely on advanced type-theoretic machinery that is not easily integrated into established theorem provers. We present Mtac, a lightweight but powerful extension to Coq that supports dependently typed tactic programming. Mtac tactics have access to all the features of ordinary Coq programming, as well as a new set of typed tactical primitives. We avoid the need to touch the trusted kernel typechecker of Coq by encapsulating uses of these new tactical primitives in a monad, and instrumenting Coq so that it executes monadic tactics during type inference.Fil: Ziliani, Luis Francisco. Max Planck Institute for Software Systems; Alemania. Consejo Nacional de Investigaciones Científicas y Técnicas; ArgentinaFil: Dreyer, Derek. Max Planck Institute for Software Systems; AlemaniaFil: Krishnaswami, Neelakantan R.. University of Birmingham; Reino UnidoFil: Nanevski, Aleksandar. IMDEA Software Institute; EspañaFil: Vafeiadis, Viktor. Max Planck Institute for Software Systems; AlemaniaCambridge University Press2015-08info:eu-repo/semantics/articleinfo:eu-repo/semantics/publishedVersionhttp://purl.org/coar/resource_type/c_6501info:ar-repo/semantics/articuloapplication/pdfapplication/pdfhttp://hdl.handle.net/11336/69680Ziliani, Luis Francisco; Dreyer, Derek; Krishnaswami, Neelakantan R.; Nanevski, Aleksandar; Vafeiadis, Viktor; Mtac: A monad for typed tactic programming in Coq; Cambridge University Press; Journal Of Functional Programming; 25; 8-2015; 1-54; e120956-7968CONICET DigitalCONICETenginfo:eu-repo/semantics/altIdentifier/doi/10.1017/S0956796815000118info:eu-repo/semantics/altIdentifier/url/https://www.cambridge.org/core/journals/journal-of-functional-programming/article/mtac-a-monad-for-typed-tactic-programming-in-coq/75B49F20037D8A0F718EAB21C662ABA0info:eu-repo/semantics/openAccesshttps://creativecommons.org/licenses/by-nc-sa/2.5/ar/reponame:CONICET Digital (CONICET)instname:Consejo Nacional de Investigaciones Científicas y Técnicas2025-09-29T09:58:42Zoai:ri.conicet.gov.ar:11336/69680instacron:CONICETInstitucionalhttp://ri.conicet.gov.ar/Organismo científico-tecnológicoNo correspondehttp://ri.conicet.gov.ar/oai/requestdasensio@conicet.gov.ar; lcarlino@conicet.gov.arArgentinaNo correspondeNo correspondeNo correspondeopendoar:34982025-09-29 09:58:42.724CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicasfalse |
dc.title.none.fl_str_mv |
Mtac: A monad for typed tactic programming in Coq |
title |
Mtac: A monad for typed tactic programming in Coq |
spellingShingle |
Mtac: A monad for typed tactic programming in Coq Ziliani, Luis Francisco Interactive Theorem Proving Custom Proof Automation Coq Monads Typed Meta-Programming Tactics |
title_short |
Mtac: A monad for typed tactic programming in Coq |
title_full |
Mtac: A monad for typed tactic programming in Coq |
title_fullStr |
Mtac: A monad for typed tactic programming in Coq |
title_full_unstemmed |
Mtac: A monad for typed tactic programming in Coq |
title_sort |
Mtac: A monad for typed tactic programming in Coq |
dc.creator.none.fl_str_mv |
Ziliani, Luis Francisco Dreyer, Derek Krishnaswami, Neelakantan R. Nanevski, Aleksandar Vafeiadis, Viktor |
author |
Ziliani, Luis Francisco |
author_facet |
Ziliani, Luis Francisco Dreyer, Derek Krishnaswami, Neelakantan R. Nanevski, Aleksandar Vafeiadis, Viktor |
author_role |
author |
author2 |
Dreyer, Derek Krishnaswami, Neelakantan R. Nanevski, Aleksandar Vafeiadis, Viktor |
author2_role |
author author author author |
dc.subject.none.fl_str_mv |
Interactive Theorem Proving Custom Proof Automation Coq Monads Typed Meta-Programming Tactics |
topic |
Interactive Theorem Proving Custom Proof Automation Coq Monads Typed Meta-Programming Tactics |
purl_subject.fl_str_mv |
https://purl.org/becyt/ford/1.2 https://purl.org/becyt/ford/1 |
dc.description.none.fl_txt_mv |
Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tactics within the base logic of the accompanying theorem prover, or (b) rely on advanced type-theoretic machinery that is not easily integrated into established theorem provers. We present Mtac, a lightweight but powerful extension to Coq that supports dependently typed tactic programming. Mtac tactics have access to all the features of ordinary Coq programming, as well as a new set of typed tactical primitives. We avoid the need to touch the trusted kernel typechecker of Coq by encapsulating uses of these new tactical primitives in a monad, and instrumenting Coq so that it executes monadic tactics during type inference. Fil: Ziliani, Luis Francisco. Max Planck Institute for Software Systems; Alemania. Consejo Nacional de Investigaciones Científicas y Técnicas; Argentina Fil: Dreyer, Derek. Max Planck Institute for Software Systems; Alemania Fil: Krishnaswami, Neelakantan R.. University of Birmingham; Reino Unido Fil: Nanevski, Aleksandar. IMDEA Software Institute; España Fil: Vafeiadis, Viktor. Max Planck Institute for Software Systems; Alemania |
description |
Effective support for custom proof automation is essential for large-scale interactive proof development. However, existing languages for automation via tactics either (a) provide no way to specify the behavior of tactics within the base logic of the accompanying theorem prover, or (b) rely on advanced type-theoretic machinery that is not easily integrated into established theorem provers. We present Mtac, a lightweight but powerful extension to Coq that supports dependently typed tactic programming. Mtac tactics have access to all the features of ordinary Coq programming, as well as a new set of typed tactical primitives. We avoid the need to touch the trusted kernel typechecker of Coq by encapsulating uses of these new tactical primitives in a monad, and instrumenting Coq so that it executes monadic tactics during type inference. |
publishDate |
2015 |
dc.date.none.fl_str_mv |
2015-08 |
dc.type.none.fl_str_mv |
info:eu-repo/semantics/article info:eu-repo/semantics/publishedVersion http://purl.org/coar/resource_type/c_6501 info:ar-repo/semantics/articulo |
format |
article |
status_str |
publishedVersion |
dc.identifier.none.fl_str_mv |
http://hdl.handle.net/11336/69680 Ziliani, Luis Francisco; Dreyer, Derek; Krishnaswami, Neelakantan R.; Nanevski, Aleksandar; Vafeiadis, Viktor; Mtac: A monad for typed tactic programming in Coq; Cambridge University Press; Journal Of Functional Programming; 25; 8-2015; 1-54; e12 0956-7968 CONICET Digital CONICET |
url |
http://hdl.handle.net/11336/69680 |
identifier_str_mv |
Ziliani, Luis Francisco; Dreyer, Derek; Krishnaswami, Neelakantan R.; Nanevski, Aleksandar; Vafeiadis, Viktor; Mtac: A monad for typed tactic programming in Coq; Cambridge University Press; Journal Of Functional Programming; 25; 8-2015; 1-54; e12 0956-7968 CONICET Digital CONICET |
dc.language.none.fl_str_mv |
eng |
language |
eng |
dc.relation.none.fl_str_mv |
info:eu-repo/semantics/altIdentifier/doi/10.1017/S0956796815000118 info:eu-repo/semantics/altIdentifier/url/https://www.cambridge.org/core/journals/journal-of-functional-programming/article/mtac-a-monad-for-typed-tactic-programming-in-coq/75B49F20037D8A0F718EAB21C662ABA0 |
dc.rights.none.fl_str_mv |
info:eu-repo/semantics/openAccess https://creativecommons.org/licenses/by-nc-sa/2.5/ar/ |
eu_rights_str_mv |
openAccess |
rights_invalid_str_mv |
https://creativecommons.org/licenses/by-nc-sa/2.5/ar/ |
dc.format.none.fl_str_mv |
application/pdf application/pdf |
dc.publisher.none.fl_str_mv |
Cambridge University Press |
publisher.none.fl_str_mv |
Cambridge University Press |
dc.source.none.fl_str_mv |
reponame:CONICET Digital (CONICET) instname:Consejo Nacional de Investigaciones Científicas y Técnicas |
reponame_str |
CONICET Digital (CONICET) |
collection |
CONICET Digital (CONICET) |
instname_str |
Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.name.fl_str_mv |
CONICET Digital (CONICET) - Consejo Nacional de Investigaciones Científicas y Técnicas |
repository.mail.fl_str_mv |
dasensio@conicet.gov.ar; lcarlino@conicet.gov.ar |
_version_ |
1844613747605241856 |
score |
13.070432 |