# 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.1 Formal proof management system
num 1.4 The legacy Num library for arbitrary-precision integer and rational arithmetic
ocaml 4.06.1 The OCaml compiler (virtual package)
ocaml-base-compiler 4.06.1 Official 4.06.1 release
ocaml-config 1 OCaml Switch Configuration
ocamlfind 1.9.6 A library manager for OCaml
# opam file:
opam-version: "2.0"
maintainer: "Laurent.Thery@inria.fr"
homepage: "https://github.com/thery/twoSquare"
bug-reports: "https://github.com/thery/twoSquare/issues"
license: "MIT"
build: [
["./configure.sh"]
[make "-j%{jobs}%"]
]
install: [make "install"]
depends: [
"ocaml"
"coq" {>= "8.8"}
"coq-mathcomp-ssreflect" {>= "1.7" & < "1.9~"}
"coq-mathcomp-algebra" {>= "1.7"}
"coq-mathcomp-field" {>= "1.7"}
]
tags: [
"logpath:mathcomp.contrib.sum_of_two_square"
]
synopsis:
"A proof of Fermat's theorem on sum of two squares. It is the proof that uses gaussian integers. This is done in ssreflect. It contains two file :"
description: """
gauss_int.v : the definition of gaussian integers
fermat2.v : the proof of Fermat's theorem
The final statement reads:
===================================================
From mathcomp
Require Import all_ssreflect.
From mathcomp.contrib.sum_of_two_square
Require Import gauss_int fermat2.
Check sum2stest.
sum2stest
: forall n : nat,
reflect
(forall p : nat,
prime p ->
odd p -> p %| n -> odd (logn p n) -> p %% 4 = 1)
(n \\is a sum_of_two_square)
==================================================="""
authors: "Laurent Thery"
url {
src: "https://github.com/thery/twoSquare/archive/v1.0.1.zip"
checksum: "md5=1633745a81e8e3941d00ffb7e6e89883"
}
trueDry install with the current Coq version:
opam install -y --show-action coq-mathcomp-sum-of-two-square.1.0.1 coq.8.8.1Dry install without Coq/switch base, to test if the problem was incompatibility with the current Coq/OCaml version:
trueopam list; echo; ulimit -Sv 4000000; timeout 4h opam install -y --deps-only coq-mathcomp-sum-of-two-square.1.0.1 coq.8.8.1opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-mathcomp-sum-of-two-square.1.0.1 coq.8.8.1Total: 2 M
../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.glob../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.vo../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.vo../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.glob../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.v../ocaml-base-compiler.4.06.1/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.vopam remove -y coq-mathcomp-sum-of-two-square.1.0.1