Document Type
Conference Paper
Publication Date
2020
DOI
10.5281/zenodo.3653388
Publication Title
Proceedings of the 28th International Meshing Roundtable
Pages
148-158
Conference Name
28th International Meshing Roundtable (IMR), October 14-17, 2019, Buffalo, New York
Abstract
Formal methods allow for building correct-by-construction software with provable guarantees. The formal development presented here resulted in certified executable functions for mesh generation. The term certified means that their correctness is established via an artifact, or certificate, which is a statement of these functions in a formal language along with the proofs of their correctness. The term is meaningful only when qualified by a specific set of properties that are proven. This manuscript elaborates on the precise statements of the properties being proven and their role in an implementation of a version of the Isosurface Stuffing algorithm by Labelle and Shewchuk. This work makes use of the Calculus of Inductive Constructions for defining executable functions, stating their properties, and proving these properties via a direct examination of these functions (the property of liveness). The certificate is made available for inspection and execution using the Coq proof assistant.
Rights
© 2019 Sandia National Laboratories and the Author.
This article is published under a Creative Commons Attribution 4.0 International (CC BY 4.0) License.
Original Publication Citation
Chernikov, A. N. (2020). Certified functions for mesh generation. In 28th International Meshing Roundtable (IMR), Buffalo, New York, USA (pp. 148-158). Sandia National Laboratories. https://doi.org/10.5281/zenodo.3653388
Repository Citation
Chernikov, Andrey N., "Certified Functions for Mesh Generation" (2020). Chemistry & Biochemistry Faculty Publications. 265.
https://digitalcommons.odu.edu/chemistry_fac_pubs/265
Included in
Applied Mathematics Commons, Artificial Intelligence and Robotics Commons, Theory and Algorithms Commons
Comments
ISBN of proceedings: 978-1-7334890-0-3