# 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.0 Formal proof management system num 1.4 The legacy Num library for arbitrary-precision integer and rational arithmetic ocaml 4.09.1 The OCaml compiler (virtual package) ocaml-base-compiler 4.09.1 Official release 4.09.1 ocaml-config 1 OCaml Switch Configuration ocamlfind 1.9.3 A library manager for OCaml # opam file: opam-version: "2.0" maintainer: "llee454@gmail.com" homepage: "https://github.com/llee454/functional-algebra" dev-repo: "git+https://github.com/llee454/functional-algebra.git" bug-reports: "https://github.com/llee454/functional-algebra/issues" authors: ["Larry D. Lee Jr."] license: "LGPLv3" build: [ [make "-j%{jobs}%"] ] install: [ [make "install"] ] remove: ["rm" "-R" "%{lib}%/coq/user-contrib/functional_algebra"] depends: [ "ocaml" "coq" {>= "8.4" & < "8.13~"} ] tags: [ "keyword:algebra" "keyword:abstract algebra" "category:Miscellaneous/Coq Extensions" "date:2018-08-11" "logpath:functional-algebra" ] synopsis: "This package provides a Coq formalization of abstract algebra using" description: """ a functional programming style. The modules contained within the package span monoids, groups, rings, and fields and provides both axiom definitions for these structures and proofs of foundational results. The current package contains over 800 definitions and proofs. This module is unique in that it eschews the tactic-oriented style of traditional Coq developments. As pointed out by others, programs written in that style are brittle, hard to read, and generally inefficient. While tactic driven development is useful for sketching out proofs, these disadvantages should dissuade us from publising proofs in this form. In this library, I provide a worked example of using Gallina directly and demonstrate both the feasibility of this approach and its advantages in terms of clarity, maintainability, and compile-time efficiency. In addition, this module includes two expression simplifiers. The first, defined in monoid_expr.v simplifies monoid expressions. The second, defined in group_expr.v simplifies group expressions. These functions allow us to automate many of the steps involved in proving algebraic theorems directly in Gallina, and represent an alternative to relying on tactics such as auto, omega, etc. For more information about this package, please read its Readme file, which can be found here: https://github.com/llee454/functional-algebra.""" flags: light-uninstall url { src: "https://github.com/llee454/functional-algebra/archive/1.0.2.tar.gz" checksum: "md5=669f85d5dd1aa2fa235e5518432896a1" }
true
Dry install with the current Coq version:
opam install -y --show-action coq-functional-algebra.1.0.2 coq.8.8.0
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-functional-algebra.1.0.2 coq.8.8.0
opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-functional-algebra.1.0.2 coq.8.8.0
Total: 1 M
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/field.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/field.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/ring.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_expr.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_group.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/commutative_ring.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/ring.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_expr.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/commutative_ring.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/abelian_group.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/field.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_group.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group_expr.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/abelian_group.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/ring.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/commutative_ring.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_expr.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/monoid_group.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group_expr.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/abelian_group.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/function.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/base.vo
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/group_expr.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/function.glob
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/base.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/function.v
../ocaml-base-compiler.4.09.1/lib/coq/user-contrib/functional_algebra/base.glob
opam remove -y coq-functional-algebra.1.0.2