@@ -0,0 +1,46 @@
1+{ lib, mkCoqDerivation, coq, version ? null }:
2+with lib;
3+
4+mkCoqDerivation {
5+ pname = "aac-tactics";
6+
7+ releaseRev = v: "v${v}";
8+
9+ release."8.13.0".sha256 = "sha256-MAnMc4KzC551JInrRcfKED4nz04FO0GyyyuDVRmnYTY=";
10+ release."8.12.0".sha256 = "sha256-dPNA19kZo/2t3rbyX/R5yfGcaEfMhbm9bo71Uo4ZwoM=";
11+ release."8.11.0".sha256 = "sha256-CKKMiJLltIb38u+ZKwfQh/NlxYawkafp+okY34cGCYU=";
12+ release."8.10.0".sha256 = "sha256-Ny3AgfLAzrz3FnoUqejXLApW+krlkHBmYlo3gAG0JsM=";
13+ release."8.9.0".sha256 = "sha256-6Pp0dgYEnVaSnkJR/2Cawt5qaxWDpBI4m0WAbQboeWY=";
14+ release."8.8.0".sha256 = "sha256-mwIKp3kf/6i9IN3cyIWjoRtW8Yf8cc3MV744zzFM3u4=";
15+ release."8.6.1".sha256 = "sha256-PfovQ9xJnzr0eh/tO66yJ3Yp7A5E1SQG46jLIrrbZFg=";
16+ release."8.5.0".sha256 = "sha256-7yNxJn6CH5xS5w/zsXfcZYORa6e5/qS9v8PUq2o02h4=";
17+
18+ inherit version;
19+ defaultVersion = with versions; switch coq.coq-version [
20+ { case = "8.13"; out = "8.13.0"; }
21+ { case = "8.12"; out = "8.12.0"; }
22+ { case = "8.11"; out = "8.11.0"; }
23+ { case = "8.10"; out = "8.10.0"; }
24+ { case = "8.9"; out = "8.9.0"; }
25+ { case = "8.8"; out = "8.8.0"; }
26+ { case = "8.6"; out = "8.6.1"; }
27+ { case = "8.5"; out = "8.5.0"; }
28+ ] null;
29+
30+ mlPlugin = true;
31+
32+ meta = {
33+ description = "Coq plugin providing tactics for rewriting universally quantified equations";
34+ longDescription = ''
35+ This Coq plugin provides tactics for rewriting universally quantified
36+ equations, modulo associativity and commutativity of some operator.
37+ The tactics can be applied for custom operators by registering the
38+ operators and their properties as type class instances. Many common
39+ operator instances, such as for Z binary arithmetic and booleans, are
40+ provided with the plugin.
41+ '';
42+ maintainers = with maintainers; [ siraben ];
43+ license = licenses.gpl3Plus;
44+ platforms = platforms.unix;
45+ };
46+}