(2020-07-24 01:10:59 UTC)
# Packages matching: installed
# Name # Installed # Synopsis
base-bigarray base
base-num base Num library distributed with the OCaml compiler
base-threads base
base-unix base
conf-findutils 1 Virtual package relying on findutils
conf-m4 1 Virtual package relying on m4
coq 8.11.dev Formal proof management system
num 0 The Num library for arbitrary-precision integer and rational arithmetic
ocaml 4.05.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.05.0 Official 4.05.0 release
ocaml-config 1 OCaml Switch Configuration
ocamlfind 1.8.1 A library manager for OCaml
# opam file:
opam-version: "2.0"
authors: [
"Sylvain Boulmé"
]
maintainer: "kartiksinghal@gmail.com"
homepage: "https://github.com/coq-community/hoare-tut"
dev-repo: "git+https://github.com/coq-community/hoare-tut.git"
bug-reports: "https://github.com/coq-community/hoare-tut/issues"
license: "LGPL-3.0-or-later"
synopsis: "A Tutorial on Reflecting in Coq the generation of Hoare proof obligations"
description: """
Hoare logics are "program logics" suitable for reasoning about
imperative programs.
This work is both an introduction to Hoare logic and a demo
illustrating Coq nice features. It formalizes the generation of PO
(proof obligations) in a Hoare logic for a very basic imperative
programming language. It proves the soundness and the completeness of
the PO generation both in partial and total correctness. At last, it
examplifies on a very simple example (a GCD computation) how the PO
generation can simplify concrete proofs. Coq is indeed able to compute
PO on concrete programs: we say here that the generation of proof
obligations is reflected in Coq. Technically, the PO generation is
here performed through Dijkstra's weakest-precondition calculus.
"""
build: [make "-j%{jobs}%" ]
install: [make "install"]
depends: [
"coq" {>= "8.8"}
]
tags: [
"category:Mathematics/Logic/See also"
"category:Computer Science/Semantics"
"category:Compilation/Semantics"
"keyword:Hoare logic"
"keyword:imperative program"
"keyword:weakest precondition"
"keyword:reflection"
"logpath:HoareTut"
]
url {
src: "https://github.com/coq-community/hoare-tut/archive/v8.11.1.tar.gz"
checksum: [
"md5=a7d240c73b36b91d4e703dfa75de7aaf"
"sha512=146bf09aea7bb98b430148113426c6c85e9b69c9d5b8c9c509bb56a1e85392f7511568b37a091b1384ced9f866b75bd7e2b49dc6cfac2309fab5383e0443698f"
]
}
trueDry install with the current Coq version:
opam install -y --show-action coq-hoare-tut.8.11.1 coq.8.11.devDry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:
trueopam list; echo; ulimit -Sv 4000000; timeout 2h opam install -y --deps-only coq-hoare-tut.8.11.1 coq.8.11.devopam list; echo; ulimit -Sv 16000000; timeout 2h opam install -y -v coq-hoare-tut.8.11.1 coq.8.11.devTotal: 439 K
../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/exgcd.vo../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.vo../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.vo../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogic.vo../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.vo../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.glob../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/exgcd.glob../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.glob../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogic.glob../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.v../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.glob../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.v../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/exgcd.v../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.v../ocaml-base-compiler.4.05.0/lib/coq/user-contrib/HoareTut/hoarelogic.vopam remove -y coq-hoare-tut.8.11.1