• Home
  • Search
  • ANF preserves dependent types up to extensional equality
  • Cite Icon3
  • https://doi.org/10.1017/s0956796822000090Copy DOI Icon

ANF preserves dependent types up to extensional equality

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

Abstract Many programmers use dependently typed languages such as Coq to machine-verify high-assurance software. However, existing compilers for these languages provide no guarantees after compiling, nor when linking after compilation. Type-preserving compilers preserve guarantees encoded in types and then use type checking to verify compiled code and ensure safe linking with external code. Unfortunately, standard compiler passes do not preserve the dependent typing of commonly used (intensional) type theories. This is because assumptions valid in simpler type systems no longer hold, and intensional dependent type systems are highly sensitive to syntactic changes, including compilation. We develop an A-normal form (ANF) translation with join-point optimization—a standard translation for making control flow explicit in functional languages—from the Extended Calculus of Constructions (ECC) with dependent elimination of booleans and natural numbers (a representative subset of Coq). Our dependently typed target language has equality reflection, allowing the type system to encode semantic equality of terms. This is key to proving type preservation and correctness of separate compilation for this translation. This is the first ANF translation for dependent types. Unlike related translations, it supports the universe hierarchy, and does not rely on parametricity or impredicativity.

Loading PDF

Similar Papers
  • Conference Article
  • Citations42

Safe functional reactive programming through dependent types

  • Aug 31, 2009
  • Neil Sculthorpe +1
  • Book Chapter
  • Citations11

The Extended Calculus of Constructions

  • Mar 31, 1994
  • Luo, Zhaohui
  • Research Article
  • Citations14

Fibrational Modal Type Theory

  • Jul 01, 2016
  • Electronic Notes in Theoretical Computer Science
  • Valeria De Paiva +1
  • Book Chapter
  • Citations9

Dependent Event Types

  • Jan 01, 2017
  • Zhaohui Luo +1
  • Research Article
  • Citations10

Dependent Information Flow Types

  • Jan 14, 2015
  • ACM SIGPLAN Notices
  • Luísa Lourenço +1
  • Supplementary Content

Quotients in Dependent Type Theory (Invited Talk)

  • Jan 01, 2020
  • DROPS (Schloss Dagstuhl – Leibniz Center for Informatics)
  • Andrew M Pitts
  • Book Chapter
  • Citations39

A Logical Framework with Dependently Typed Records

  • Jan 01, 2003
  • Thierry Coquand +2
  • Book Chapter
  • Citations75

Interactive Programs in Dependent Type Theory

  • Jan 01, 2000
  • Peter Hancock +1
  • Conference Article
  • Citations39

Verifying haskell programs using constructive type theory

  • Sep 30, 2005
  • Andreas Abel +4
  • Book Chapter
  • Citations3

Kripke Semantics for Martin-Löf’s Extensional Type Theory

  • Jan 01, 2009
  • Steve Awodey +1
  • Research Article
  • Citations17

The Extended Calculus of Constructions (ECC) with inductive types

  • Aug 01, 1992
  • Information and Computation
  • Christian-Emil Ore
  • Book Chapter

Dependent and second order types

  • Jul 02, 1998
  • Roberto M Amadio +1
  • Research Article
  • Citations46

Modal dependent type theory and dependent right adjoints

  • Dec 12, 2019
  • Mathematical Structures in Computer Science
  • Lars Birkedal +5
  • Book Chapter
  • Citations8

Towards Ontological Correctness of Part-whole Relations with Dependent Types

  • Jan 01, 2010
  • Frontiers in artificial intelligence and applications
  • Dapoigny Richard +1
  • Conference Article
  • Citations2

Imperative objects with dependent types

  • Jul 07, 2015
  • Joana Campos +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.