
arXiv: 1508.00455
This paper presents a case study of formalizing a normalization proof for Leivant's Predicative System F using the Equations package. Leivant's Predicative System F is a stratified version of System F, where type quantification is annotated with kinds representing universe levels. A weaker variant of this system was studied by Stump & Eades, employing the hereditary substitution method to show normalization. We improve on this result by showing normalization for Leivant's original system using hereditary substitutions and a novel multiset ordering on types. Our development is done in the Coq proof assistant using the Equations package, which provides an interface to define dependently-typed programs with well-founded recursion and full dependent pattern- matching. Equations allows us to define explicitly the hereditary substitution function, clarifying its algorithmic behavior in presence of term and type substitutions. From this definition, consistency can easily be derived. The algorithmic nature of our development is crucial to reflect languages with type quantification, enlarging the class of languages on which reflection methods can be used in the proof assistant.
In Proceedings LFMTP 2015, arXiv:1507.07597. www: http://equations-fpred.gforge.inria.fr/
FOS: Computer and information sciences, Computer Science - Logic in Computer Science, Computer Science - Programming Languages, Electronic computers. Computer science, QA1-939, QA75.5-76.95, Mathematics, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], Logic in Computer Science (cs.LO), Programming Languages (cs.PL)
FOS: Computer and information sciences, Computer Science - Logic in Computer Science, Computer Science - Programming Languages, Electronic computers. Computer science, QA1-939, QA75.5-76.95, Mathematics, [INFO.INFO-PL] Computer Science [cs]/Programming Languages [cs.PL], Logic in Computer Science (cs.LO), Programming Languages (cs.PL)
| selected citations These citations are derived from selected sources. This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | 15 | |
| popularity This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network. | Average | |
| influence This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically). | Top 10% | |
| impulse This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network. | Top 10% |
