Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thery/twosquare

A proof of Fermat's theorem on sum of two squares with mathcom using gaussian integers.
https://github.com/thery/twosquare

coq coq-formalization fermat-theorem sum-of-squares

Last synced: 8 days ago
JSON representation

A proof of Fermat's theorem on sum of two squares with mathcom using gaussian integers.

Awesome Lists containing this project

README

        

# twoSquare

[![Docker CI][docker-action-shield]][docker-action-link]

[docker-action-shield]: https://github.com/thery/twoSquare/workflows/Docker%20CI/badge.svg?branch=master
[docker-action-link]: https://github.com/thery/twoSquare/actions?query=workflow:"Docker%20CI"

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 files :

********************************

gauss_int.v : the definition of gaussian integers

fermat2.v : the proof of Fermat's theorem

********************************

The final statement reads:

From mathcomp.contrib.sum_of_two_square
Require Import fermat2.

Check sum2stest.

sum2stest :

reflect
(forall p, prime p -> odd p -> p %| n -> odd (logn p n) -> p %% 4 = 1)
(n is a sum_of_two_square).

## Meta

- Author(s):
- Laurent Théry
- License: [MIT License](LICENSE)
- Compatible Coq versions: 8.18 or later
- Additional dependencies:
- [MathComp ssreflect 2.1 or later](https://math-comp.github.io)
- [MathComp algebra 2.1 or later](https://math-comp.github.io)
- [MathComp field 2.1 or later](https://math-comp.github.io)
- Coq namespace: `twoSquare`
- Related publication(s): none

## Building and installation instructions

To build and install manually, do:

``` shell
git clone https://github.com/thery/twoSquare.git
cd twoSquare
make # or make -j
make install
```