# 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
camlp5 7.14 Preprocessor-pretty-printer of OCaml
conf-findutils 1 Virtual package relying on findutils
conf-perl 2 Virtual package relying on perl
coq 8.5.0 Formal proof management system
num 0 The Num library for arbitrary-precision integer and rational arithmetic
ocaml 4.03.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.03.0 Official 4.03.0 release
ocaml-config 1 OCaml Switch Configuration
# opam file:
opam-version: "2.0"
maintainer: "matej.kosik@inria.fr"
homepage: "https://github.com/coq-contribs/hoare-tut"
license: "GNU LGPL"
build: [make "-j%{jobs}%"]
install: [make "install"]
remove: ["rm" "-R" "%{lib}%/coq/user-contrib/HoareTut"]
depends: [
"ocaml"
"coq" {>= "8.5" & < "8.6~"}
]
tags: [
"keyword:Hoare logic"
"keyword:imperative program"
"keyword:weakest precondition"
"keyword:reflection"
"category:Computer Science/Semantics and Compilation/Semantics"
"date:2007"
]
authors: [ "Sylvain Boulmé <Sylvain.Boulme@imag.fr>" ]
bug-reports: "https://github.com/coq-contribs/hoare-tut/issues"
dev-repo: "git+https://github.com/coq-contribs/hoare-tut.git"
synopsis: "A Tutorial on Reflecting in Coq the generation of Hoare proof obligations"
description: """
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."""
flags: light-uninstall
url {
src: "https://github.com/coq-contribs/hoare-tut/archive/v8.5.0.tar.gz"
checksum: "md5=de2ae9bce949f357c214f486a71aa685"
}
trueDry install with the current Coq version:
opam install -y --show-action coq-hoare-tut.8.5.0 coq.8.5.0Dry 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 4h opam install -y --deps-only coq-hoare-tut.8.5.0 coq.8.5.0opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-hoare-tut.8.5.0 coq.8.5.0Total: 566 K
../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/exgcd.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogic.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/exgcd.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogic.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/totalhoarelogic.v../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.v../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/exgcd.v../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/partialhoarelogic.v../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/HoareTut/hoarelogic.vopam remove -y coq-hoare-tut.8.5.0