ยซ Up

coqutil 0.0.3 Not compatible ๐Ÿ‘ผ

Context

# 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.3       Formal proof management system
num                 0           The Num library for arbitrary-precision integer and rational arithmetic
ocaml               4.04.2      The OCaml compiler (virtual package)
ocaml-base-compiler 4.04.2      Official 4.04.2 release
ocaml-config        1           OCaml Switch Configuration
# opam file:
opam-version: "2.0"
authors: [
  "Massachusetts Institute of Technology"
]
maintainer: "Jason Gross <jgross@mit.edu>"
homepage: "https://github.com/mit-plv/coqutil"
bug-reports: "https://github.com/mit-plv/coqutil/issues"
license: "MIT"
build: [
  [make "-j%{jobs}%"]
]
install: [make "install"]
depends: [
  "conf-findutils" {build}
  "coq" {>= "8.15~"}
]
conflict-class: [
  "coq-coqutil"
]
dev-repo: "git+https://github.com/mit-plv/coqutil.git"
synopsis: "Coq library for tactics, basic definitions, sets, maps"
description: """
### coqutil -- Various Coq Utilities
Contents:
* [Datatypes](https://github.com/mit-plv/coqutil/tree/master/src/coqutil/Datatypes): Some utilities for existing datatypes, and new datatypes.
* [Decidable](https://github.com/mit-plv/coqutil/blob/master/src/coqutil/Decidable.v): `BoolSpec`-based decidability typeclasses. Allows one to write `if MyType_eqb a b then ... else ...` where `MyType_eqb a b` returns a `bool`, instead of writing `if MyType_eq_dec a b then ... else ...` where `MyType_eq_dec a b` returns a `sumbool`, while still getting `a = b` and `a <> b` as hypotheses (as opposed to `MyType_eqb a b = true` and `MyType_eqb a b = false`) after destructing the `if` (need to use [`destr`](https://github.com/mit-plv/coqutil/blob/master/src/coqutil/Tactics/destr.v) instead of `destruct`). So one gets the benefits of `Sumbool` without getting its disadvantage of having to carry around proof terms, which can cause a blow-up under reduction if one is not careful.
* [Map](https://github.com/mit-plv/coqutil/tree/master/src/coqutil/Map): A typeclass based map library allowing one to abstract over the concrete implementation of maps. The implementations have to be extensional, which excludes certain efficient implementations, but simplifies proofs, because one can `replace mapA with mapB` if one can prove that `mapA` and `mapB` have the same contents. Comes with a [solver](https://github.com/mit-plv/coqutil/blob/master/src/coqutil/Map/Solver.v) which works reasonably fast on most map goals we have encountered so far.
* [Tactics](https://github.com/mit-plv/coqutil/tree/master/src/coqutil/Tactics): A collection of useful general-purpose tactics.
* [Word](https://github.com/mit-plv/coqutil/tree/master/src/coqutil/Word): Fixed width words for any width, in the same typeclass based style as the map library. Designed for the case where all words have the same (potentially abstract) bit width. Therefore, it does not provide functions to concatenate and split words, which is better addressed by [bbv](https://github.com/mit-plv/bbv/).
* [Z](https://github.com/mit-plv/coqutil/tree/master/src/coqutil/Z): Utilities to work with the `Z` type from Coq's standard library, including a tactic to prove `Z` equalities by splitting the equality into equalities on bit index ranges, a tactic to make `lia` capable of reasoning about goals with division and modulo, and a tactic to simplify expressions containing nested occurrences of `mod`, and more misc utilities.
* Various macros, notations, and desirable default settings.
Each feature is intended to be as minimal and as independent of the other features as possible, so that users can pick just what they need.
"""
tags: ["logpath:coqutil"]
url {
  src: "https://github.com/mit-plv/coqutil/archive/refs/tags/v0.0.3.tar.gz"
  checksum: "sha512=3e24a56daa7f10d4dd507ada0be1581c238156bcbbfa642ab4f1b535106c501bafa271320b09d6b3de888a11f97381fda8394d466c9dd5906db3cf5b65509309"
}

Lint

Command
true
Return code
0

Dry install ๐Ÿœ๏ธ

Dry install with the current Coq version:

Command
opam install -y --show-action coq-coqutil.0.0.3 coq.8.5.3
Return code
5120
Output
[NOTE] Package coq is already installed (current version is 8.5.3).
The following dependencies couldn't be met:
  - coq-coqutil -> coq >= 8.15~ -> ocaml >= 4.05.0
      base of this switch (use `--unlock-base' to force)
  - coq-coqutil -> coq >= 8.15~ -> coq-core -> ocaml >= 4.09.0
      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:

Command
opam remove -y coq; opam install -y --show-action --unlock-base coq-coqutil.0.0.3
Return code
0

Install dependencies

Command
true
Return code
0
Duration
0 s

Install ๐Ÿš€

Command
true
Return code
0
Duration
0 s

Installation size

No files were installed.

Uninstall ๐Ÿงน

Command
true
Return code
0
Missing removes
none
Wrong removes
none