• Home
  • Search
  • Parametric higher-order abstract syntax for mechanized semantics
  • Open Access IconOpen Access
  • Cite Icon140
  • https://doi.org/10.1145/1411203.1411226Copy DOI Icon

Parametric higher-order abstract syntax for mechanized semantics

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We presentparametric higher-order abstract syntax (PHOAS), a new approach to formalizing the syntax of programming languages in computer proof assistants based on type theory. Like higher-order abstract syntax (HOAS), PHOAS uses the meta language's binding constructs to represent the object language's binding constructs. Unlike HOAS, PHOAS types are definable in general-purpose type theories that support traditional functional programming, like Coq's Calculus of Inductive Constructions. We walk through how Coq can be used to develop certified, executable program transformations over several statically-typed functional programming languages formalized with PHOAS; that is, each transformation has a machine-checked proof of type preservation and semantic preservation. Our examples include CPS translation and closure conversion for simply-typed lambda calculus, CPS translation for System F, and translation from a language with ML-style pattern matching to a simpler language with no variable-arity binding constructs. By avoiding the syntactic hassle associated with first-order representation techniques, we achieve a very high degree of proof automation.

Similar Papers
  • Research Article
  • Citations3

The calculus of constructions as a framework for proof search with set variable instantiation

  • Feb 01, 2000
  • Theoretical Computer Science
  • Amy Felty
  • Research Article
  • Citations8

Correct and Complete Type Checking and Certified Erasure for Coq , in Coq

  • Jan 27, 2025
  • Journal of the ACM
  • Matthieu Sozeau +5
  • Conference Article
  • Citations11

Program derivation in PowerEpsilon

  • Sep 21, 1992
  • M.-Y Zhu +1
  • Conference Article
  • Citations24

Extending Type Theory with Forcing

  • Apr 04, 2012
  • Guilhem Jaber +2
  • Conference Article
  • Citations6

An Automated Brute Force Method Based on Webpage Static Analysis

  • Feb 01, 2018
  • Zheng Tian +4
  • Research Article

Teaching Foundations of Computation and Deduction Through Literate Functional Programming and Type Theory Formalization

  • Jan 01, 2016
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Gérard Huet
  • Book Chapter
  • Citations11

The Extended Calculus of Constructions

  • Mar 31, 1994
  • Luo, Zhaohui
  • Book Chapter
  • Citations22

Verifying Process Algebra Proofs in Type Theory

  • Jan 01, 1994
  • M P A Sellink
  • Book Chapter
  • Citations19

Mixed-Level Embedding and JIT Compilation for an Iteratively Staged DSL

  • Jan 01, 2011
  • George Giorgidze +1
  • PDF
  • Book Chapter
  • Citations25

Failure is Not an Option

  • Jan 01, 2018
  • Pierre-Marie Pédrot +1
  • Conference Article
  • Citations82

Tagless staged interpreters for typed languages

  • Sep 17, 2002
  • Emir Pašaliε +2
  • Book Chapter
  • Citations9

Theorem-proving support in programming language semantics

  • Sep 24, 2009
  • Yves Bertot
  • Book Chapter
  • Citations33

Higher-Order Abstract Syntax with Induction in Isabelle/HOL: Formalizing the π-Calculus and Mechanizing the Theory of Contexts

  • Jan 01, 2001
  • Christine Röckl +2
  • Conference Article
  • Citations46

Focusing and higher-order abstract syntax

  • Jan 07, 2008
  • Noam Zeilberger
  • Research Article
  • Citations13

The Open Calculus of Constructions (Part I): An Equational Type Theory with Dependent Types for Programming, Specification, and Interactive Theorem Proving

  • Jan 01, 2005
  • Fundamenta Informaticae
  • Mark-Oliver Stehr
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.