From b47ee36ceab517ba84234bf09e3bb01035450a9a Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Sun, 16 Feb 2020 22:35:11 +0100 Subject: Automatically generate a revision table from git history --- site/posts/StronglySpecifiedFunctions.v | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) (limited to 'site/posts/StronglySpecifiedFunctions.v') diff --git a/site/posts/StronglySpecifiedFunctions.v b/site/posts/StronglySpecifiedFunctions.v index 6564413..3adfe50 100644 --- a/site/posts/StronglySpecifiedFunctions.v +++ b/site/posts/StronglySpecifiedFunctions.v @@ -1,13 +1,9 @@ -(** # -

Strongly-Specified Functions in Coq, part 1: using the refine Tactic

+(** #

Strongly-Specified Functions in Coq, part 1: using the refine Tactic

# -

- This is the first article (initially published on January - 11, 2015) of a series of two on how to write strongly-specified - functions in Coq. You can read the next part here. -

-# *) + This is the first article (initially published on #January + 11, 2015#) of a series of two on how to write strongly-specified + functions in Coq. You can read the next part #here#. *) (** I started to play with Coq, the interactive theorem prover developed by Inria, a few weeks ago. It is a very powerful tool, @@ -23,16 +19,18 @@ return value is the list passed in argument in which the first element has been removed for example. - But since we will manipulate lists in this article, we first + #
# + + #
site/posts/StronglySpecifiedFunctions.v
# *) + +(** ** Is this list empty? *) + +(** Since we will manipulate lists in this article, we first enable several notations of the standard library. *) From Coq Require Import List. Import ListNotations. -(** #
# *) - -(** ** Is this list empty? *) - (** It's the first question to deal with when manipulating lists. There are some functions that require their arguments not to be empty. It's the case for the [pop] function, for instance: -- cgit v1.2.3