summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore3
-rw-r--r--site/index.org8
-rw-r--r--site/posts/StronglySpecifiedFunctions.org17
-rw-r--r--site/posts/StronglySpecifiedFunctionsProgram.v2
-rw-r--r--site/posts/StronglySpecifiedFunctionsRefine.v (renamed from site/posts/StronglySpecifiedFunctions.v)2
5 files changed, 23 insertions, 9 deletions
diff --git a/.gitignore b/.gitignore
index 678fb8b..55cbaf2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -35,7 +35,7 @@ site/posts/AlgebraicDatatypes.html
site/posts/StronglySpecifiedFunctionsProgram.html
site/posts/LtacPatternMatching.html
site/posts/ClightIntroduction.html
-site/posts/StronglySpecifiedFunctions.html
+site/posts/StronglySpecifiedFunctionsRefine.html
site/posts/RewritingInCoq.html
site/posts/LtacMetaprogramming.html
site/posts/MixingLtacAndGallina.html
@@ -51,6 +51,7 @@ site/cleopatra.html
site/projects/index.html
site/posts/Thanks.html
site/posts/DiscoveringCommonLisp.html
+site/posts/StronglySpecifiedFunctions.html
site/posts/ExtensibleTypeSafeErrorHandling.html
site/posts/CleopatraV1.html
site/posts/Ltac.html
diff --git a/site/index.org b/site/index.org
index 22fa452..263395e 100644
--- a/site/index.org
+++ b/site/index.org
@@ -22,17 +22,13 @@ Coq is a formal proof management system which provides a pure functional
language with nice dependent types together with an environment for writing
machine-checked proofs.
-- A Series on Strongly-Specified Funcions in Coq ::
+- [[./posts/StronglySpecifiedFunctions.org][A Series on Strongly-Specified Funcions in Coq]] ::
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.
-
- 1. [[./posts/StronglySpecifiedFunctions.html][Using the ~refine~ Tactics]]
- 2. [[./posts/StronglySpecifiedFunctionsProgram.html][Using the ~Program~ Framework]]
+ functions can be challenging.
- [[./posts/Ltac.org][A Series on Ltac]] ::
Ltac is the “tactic language” of Coq. It is commonly advertised as the common
diff --git a/site/posts/StronglySpecifiedFunctions.org b/site/posts/StronglySpecifiedFunctions.org
new file mode 100644
index 0000000..9bd488d
--- /dev/null
+++ b/site/posts/StronglySpecifiedFunctions.org
@@ -0,0 +1,17 @@
+#+OPTIONS: toc:nil num:nil
+
+#+BEGIN_EXPORT html
+<h1>A Series on Strongly-Specified Functions in Coq</h1>
+#+END_EXPORT
+
+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][Using the ~refine~ Tactics]] ::
+
+- [[./StronglySpecifiedFunctionsProgram.html][Using the ~Program~ Framework]] ::
diff --git a/site/posts/StronglySpecifiedFunctionsProgram.v b/site/posts/StronglySpecifiedFunctionsProgram.v
index f7f84df..8ffb70c 100644
--- a/site/posts/StronglySpecifiedFunctionsProgram.v
+++ b/site/posts/StronglySpecifiedFunctionsProgram.v
@@ -3,7 +3,7 @@
This is the second article (initially published on #<span
id="original-created-at">January 01, 2017</span>#) of a series of two on how
to write strongly-specified functions in Coq. You can read the previous part
- #<a href="./StronglySpecifiedFunctions.html">here</a>#. # *)
+ #<a href="./StronglySpecifiedFunctionsRefine.html">here</a>#. # *)
(** #<div id="generate-toc"></div>#
diff --git a/site/posts/StronglySpecifiedFunctions.v b/site/posts/StronglySpecifiedFunctionsRefine.v
index 5d0e69a..d9bb3aa 100644
--- a/site/posts/StronglySpecifiedFunctions.v
+++ b/site/posts/StronglySpecifiedFunctionsRefine.v
@@ -21,7 +21,7 @@
#<div id="generate-toc"></div>#
- #<div id="history">site/posts/StronglySpecifiedFunctions.v</div># *)
+ #<div id="history">site/posts/StronglySpecifiedFunctionsRefine.v</div># *)
(** ** Is this list empty? *)