# Packages matching: installed # Name # Installed # Synopsis base-bigarray base base-threads base base-unix base conf-findutils 1 Virtual package relying on findutils conf-gmp 4 Virtual package relying on a GMP lib system installation coq 8.15.2 Formal proof management system dune 3.6.2 Fast, portable, and opinionated build system ocaml 4.13.1 The OCaml compiler (virtual package) ocaml-base-compiler 4.13.1 Official release 4.13.1 ocaml-config 2 OCaml Switch Configuration ocaml-options-vanilla 1 Ensure that OCaml is compiled with no special options enabled ocamlfind 1.9.5 A library manager for OCaml zarith 1.12 Implements arithmetic and logical operations over arbitrary-precision integers # 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" & < "8.13~"} ] tags: [ "category:Mathematics/Logic" "category:Computer Science/Semantics and 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" ] }
true
Dry install with the current Coq version:
opam install -y --show-action coq-hoare-tut.8.11.1 coq.8.15.2
[NOTE] Package coq is already installed (current version is 8.15.2). The following dependencies couldn't be met: - coq-hoare-tut -> coq < 8.13~ -> ocaml < 4.12 base of this switch (use `--unlock-base' to force) No solution found, exiting
Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:
opam remove -y coq; opam install -y --show-action --unlock-base coq-hoare-tut.8.11.1
true
true
No files were installed.
true