• Home
  • Search
  • Verifying haskell programs using constructive type theory
  • Cite Icon39
  • https://doi.org/10.1145/1088348.1088355Copy DOI Icon

Verifying haskell programs using constructive type theory

  • Sep 30, 2005
  • Andreas Abel +4 more
Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

Proof assistants based on dependent type theory are closely related to functional programming languages, and so it is tempting to use them to prove the correctness of functional programs. In this paper, we show how Agda, such a proof assistant, can be used to prove theorems about Haskell programs. Haskell programs are translated into an Agda model of their semantics, by translating via GHC's Core language into a monadic form specially adapted to represent Haskell's polymorphism in Agda's predicative type system. The translation can support reasoning about either total values only, or total and partial values, by instantiating the monad appropriately. We claim that, although these Agda models are generated by a relatively complex translation process, proofs about them are simple and natural, and we offer a number of examples to support this claim.

Similar Papers
  • Research Article
  • Citations14

Fibrational Modal Type Theory

  • Jul 01, 2016
  • Electronic Notes in Theoretical Computer Science
  • Valeria De Paiva +1
  • Research Article
  • Citations6

Machine-checked Proof of the Church-Rosser Theorem for the Lambda Calculus Using the Barendregt Variable Convention in Constructive Type Theory

  • Oct 01, 2018
  • Electronic Notes in Theoretical Computer Science
  • Ernesto Copello +2
  • Book Chapter
  • Citations3

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

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

Quotient topologies in constructive set theory and type theory

  • Dec 20, 2005
  • Annals of Pure and Applied Logic
  • Hajime Ishihara +1
  • Book Chapter
  • Citations37

Indexed Induction-Recursion

  • Jan 01, 2001
  • Peter Dybjer +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
  • Citations1

Preliminary Remarks

  • Jan 05, 1995
  • Aarne Ranta
  • Research Article

Touring the MetaCoq Project (Invited Paper)

  • Jul 16, 2021
  • Electronic Proceedings in Theoretical Computer Science
  • Matthieu Sozeau
  • Research Article
  • Citations31

A Simple Nominal Type Theory

  • Jan 01, 2009
  • Electronic Notes in Theoretical Computer Science
  • James Cheney
  • Research Article
  • Citations46

Modal dependent type theory and dependent right adjoints

  • Dec 12, 2019
  • Mathematical Structures in Computer Science
  • Lars Birkedal +5
  • Research Article
  • Citations25

External Rewriting for Skeptical Proof Assistants

  • Sep 01, 2002
  • Journal of Automated Reasoning
  • Quang Huy Nguyen +2
  • Research Article
  • Citations1

Constructive Notions of Set. Part I. Sets in Martin-Löf Type Theory

  • Oct 01, 2005
  • Laura Crosilla
  • Book Chapter
  • Citations75

Interactive Programs in Dependent Type Theory

  • Jan 01, 2000
  • Peter Hancock +1
  • PDF
  • Research Article
  • Citations3

ANF preserves dependent types up to extensional equality

  • Jan 01, 2022
  • Journal of Functional Programming
  • Paulette Koronkevich +3
  • Book Chapter
  • Citations16

Formalization of Formal Topology by Means of the Interactive Theorem Prover Matita

  • Jan 01, 2011
  • Andrea Asperti +4
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.