Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thery/grobner
A fornalisation of Grobner basis in ssreflect
https://github.com/thery/grobner
coq coq-formalization grobner-basis mathcomp polynomial
Last synced: 3 months ago
JSON representation
A fornalisation of Grobner basis in ssreflect
- Host: GitHub
- URL: https://github.com/thery/grobner
- Owner: thery
- Created: 2015-09-25T08:10:39.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2023-11-03T13:25:44.000Z (about 1 year ago)
- Last Synced: 2024-10-11T21:51:26.827Z (3 months ago)
- Topics: coq, coq-formalization, grobner-basis, mathcomp, polynomial
- Language: Coq
- Size: 89.8 KB
- Stars: 12
- Watchers: 2
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Grobner
[![Docker CI][docker-action-shield]][docker-action-link]
[docker-action-shield]: https://github.com/thery/grobner/workflows/Docker%20CI/badge.svg?branch=master
[docker-action-link]: https://github.com/thery/grobner/actions?query=workflow:"Docker%20CI"A fornalisation of Grobner basis in ssreflect.
It contains one file``grobner.v``
It defines
```coq
From mathcomp Require Import all_ssreflect all_algebra.
From SsrMultinomials Require Import ssrcomplements freeg mpoly.
From mathcomp.contrib.grobner Require Import grobner.Print ideal.
(*
ideal =
fun (R : ringType) (n : nat) (L : seq {mpoly R[n]}) (p : {mpoly R[n]})
=>
exists t, p = sum_(i < size L) t`_i * L`_i
*)(* it is decidable *)
Check idealfP.
(*
idealfP
: forall (R : fieldType) (n : nat) (p : {mpoly R[n]})
(l : seq {mpoly R[n]}),
reflect (ideal l p) (idealf l p)
*)
```## Meta
- Author(s):
- Laurent Théry
- License: [MIT License](LICENSE)
- Compatible Coq versions: 8.17 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 Multinomials 2.1.0 or later](https://github.com/math-comp/multinomials)
- Coq namespace: `grobner`
- Related publication(s): none## Building and installation instructions
To build and install manually, do:
``` shell
git clone https://github.com/thery/grobner.git
cd grobner
make # or make -j
make install
```