summaryrefslogtreecommitdiffstats
path: root/site/posts/StronglySpecifiedFunctions.org
blob: 83148c6dcc5caf77220a7c62e3b2e17f0d441bdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#+TITLE: A Series on Strongly-Specified Functions in Coq

#+SERIES: ../coq.html
#+SERIES_NEXT: ./Ltac.html

Using dependent types and the ~Prop~ sort, it becomes possible to specify
functions whose arguments and results are constrained by properties.  Using such
a “strongly-specified” function requires to provide a proof that the supplied
arguments satisfy the expected properties, and allows for soundly assuming the
results are correct too. However, implementing dependently-typed functions can
be challenging. In this series, we explore several approaches available to Coq
developers.

- [[./StronglySpecifiedFunctionsRefine.html][Implementing Strongly-Specified Functions with the ~refine~ Tactic]] ::

- [[./StronglySpecifiedFunctionsProgram.html][Implementing Strongly-Specified Functions with the ~Program~ Framework]] ::