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: 11 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 10 years ago)
- Default Branch: master
- Last Pushed: 2023-11-03T13:25:44.000Z (over 2 years ago)
- Last Synced: 2024-10-11T21:51:26.827Z (over 1 year 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/actions/workflows/docker-action.yml/badge.svg?branch=master
[docker-action-link]: https://github.com/thery/grobner/actions/workflows/docker-action.yml
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.19 or later
- Additional dependencies:
- [MathComp ssreflect 2.3 or later](https://math-comp.github.io)
- [MathComp algebra 2.3 or later](https://math-comp.github.io)
- [MathComp Multinomials 2.3 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
```