# Packages matching: installed # Name # Installed # Synopsis base-bigarray base 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.8.2 Formal proof management system num 1.4 The legacy Num library for arbitrary-precision integer and rational arithmetic ocaml 4.07.1 The OCaml compiler (virtual package) ocaml-base-compiler 4.07.1 Official release 4.07.1 ocaml-config 1 OCaml Switch Configuration ocamlfind 1.9.5 A library manager for OCaml # opam file: opam-version: "2.0" maintainer: "Hugo.Herbelin@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.8" & < "8.9~"} ] tags: [ "keyword: Hoare logic" "keyword: imperative program" "keyword: weakest precondition" "keyword: reflection" "category: Mathematics/Logic" "category: Computer Science/Semantics and Compilation/Semantics" "date: 2007" ] authors: [ "Sylvain Boulmé <Sylvain.Boulme@imag.fr> [http://www-verimag.imag.fr/~boulme]" ] 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: """ http://www-verimag.imag.fr/~boulme/HOARE_LOGIC_TUTORIAL/ 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.8.0.tar.gz" checksum: "md5=31d7a345fbab2173d5771d6e52b55cba" }
true
Dry install with the current Coq version:
opam install -y --show-action coq-hoare-tut.8.8.0 coq.8.8.2
Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:
true
opam list; echo; ulimit -Sv 4000000; timeout 4h opam install -y --deps-only coq-hoare-tut.8.8.0 coq.8.8.2
opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-hoare-tut.8.8.0 coq.8.8.2
Total: 424 K
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/exgcd.vo
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/totalhoarelogic.vo
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.vo
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogic.vo
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/partialhoarelogic.vo
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/totalhoarelogic.glob
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/exgcd.glob
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.glob
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogic.glob
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/totalhoarelogic.v
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/partialhoarelogic.glob
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogicsemantics.v
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/exgcd.v
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/partialhoarelogic.v
../ocaml-base-compiler.4.07.1/lib/coq/user-contrib/HoareTut/hoarelogic.v
opam remove -y coq-hoare-tut.8.8.0