# 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.1 Formal proof management system
num 0 The Num library for arbitrary-precision integer and rational arithmetic
ocaml 4.03.0 The OCaml compiler (virtual package)
ocaml-base-compiler 4.03.0 Official 4.03.0 release
ocaml-config 1 OCaml Switch Configuration
# 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.5"}
"coq-mathcomp-ssreflect" {>= "1.6" & < "1.7"}
"coq-mathcomp-algebra" {>= "1.6" & < "1.7"}
"coq-mathcomp-field" {>= "1.6" & < "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 Thรฉry"
url {
src: "https://github.com/thery/twoSquare/archive/v1.0.0.zip"
checksum: "md5=98739e31fac7fcda2cb52f40e5901257"
}
trueDry install with the current Coq version:
opam install -y --show-action coq-mathcomp-sum-of-two-square.1.0.0 coq.8.5.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.0 coq.8.5.1opam list; echo; ulimit -Sv 16000000; timeout 4h opam install -y -v coq-mathcomp-sum-of-two-square.1.0.0 coq.8.5.1Total: 2 M
../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.vo../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.glob../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/gauss_int.v../ocaml-base-compiler.4.03.0/lib/coq/user-contrib/mathcomp/contrib/sum_of_two_square/fermat2.vopam remove -y coq-mathcomp-sum-of-two-square.1.0.0