nixpkgs/pkgs/development/coq-modules/HoTT/default.nix
2023-09-04 10:02:59 +02:00

48 lines
2.0 KiB
Nix
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{ lib, mkCoqDerivation, coq, version ? null }:
mkCoqDerivation {
pname = "HoTT";
repo = "Coq-HoTT";
owner = "HoTT";
inherit version;
defaultVersion = with lib.versions; lib.switch coq.coq-version [
{ case = range "8.14" "8.18"; out = coq.coq-version; }
] null;
releaseRev = v: "V${v}";
release."8.14".sha256 = "sha256-7kXk2pmYsTNodHA+Qts3BoMsewvzmCbYvxw9Sgwyvq0=";
release."8.15".sha256 = "sha256-JfeiRZVnrjn3SQ87y6dj9DWNwCzrkK3HBogeZARUn9g=";
release."8.16".sha256 = "sha256-xcEbz4ZQ+U7mb0SEJopaczfoRc2GSgF2BGzUSWI0/HY=";
release."8.17".sha256 = "sha256-GjTUpzL9UzJm4C2ilCaYEufLG3hcj7rJPc5Op+OMal8=";
release."8.18".sha256 = "sha256-URoUoQOsG0432wg9i6pTRomWQZ+ewutq2+V29TBrVzc=";
# versions of HoTT for Coq 8.17 and onwards will use dune
# opam-name = if lib.versions.isLe "8.17" coq.coq-version then "coq-hott" else null;
opam-name = "coq-hott";
useDune = lib.versions.isGe "8.17" coq.coq-version;
patchPhase = ''
patchShebangs etc
'';
meta = {
homepage = "https://homotopytypetheory.org/";
description = "The Homotopy Type Theory library";
longDescription = ''
Homotopy Type Theory is an interpretation of Martin-Löfs intensional
type theory into abstract homotopy theory. Propositional equality is
interpreted as homotopy and type isomorphism as homotopy equivalence.
Logical constructions in type theory then correspond to
homotopy-invariant constructions on spaces, while theorems and even
proofs in the logical system inherit a homotopical meaning. As the
natural logic of homotopy, type theory is also related to higher
category theory as it is used e.g. in the notion of a higher topos.
The HoTT library is a development of homotopy-theoretic ideas in the Coq
proof assistant. It draws many ideas from Vladimir Voevodsky's
Foundations library (which has since been incorporated into the Unimath
library) and also cross-pollinates with the HoTT-Agda library.
'';
maintainers = with lib.maintainers; [ alizter siddharthist ];
};
}