{"id":21193200,"url":"https://github.com/math-comp/real-closed","last_synced_at":"2025-09-12T10:41:56.797Z","repository":{"id":41574711,"uuid":"130033035","full_name":"math-comp/real-closed","owner":"math-comp","description":"Theorems for Real Closed Fields","archived":false,"fork":false,"pushed_at":"2025-09-05T08:46:15.000Z","size":466,"stargazers_count":14,"open_issues_count":9,"forks_count":11,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-09-05T10:27:50.177Z","etag":null,"topics":["coq","mathcomp","real-closed-fields","ssreflect"],"latest_commit_sha":null,"homepage":"","language":"Rocq Prover","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/math-comp.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2018-04-18T08:51:18.000Z","updated_at":"2025-09-05T08:46:20.000Z","dependencies_parsed_at":"2024-12-09T22:29:26.067Z","dependency_job_id":"52606e30-3316-46d8-b343-1a6ffbc14f5f","html_url":"https://github.com/math-comp/real-closed","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/math-comp/real-closed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-comp%2Freal-closed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-comp%2Freal-closed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-comp%2Freal-closed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-comp%2Freal-closed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/math-comp","download_url":"https://codeload.github.com/math-comp/real-closed/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/math-comp%2Freal-closed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274799900,"owners_count":25352172,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-12T02:00:09.324Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coq","mathcomp","real-closed-fields","ssreflect"],"created_at":"2024-11-20T19:13:27.365Z","updated_at":"2025-09-12T10:41:56.755Z","avatar_url":"https://github.com/math-comp.png","language":"Rocq Prover","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003c!---\nThis file was generated from `meta.yml`, please do not edit manually.\nFollow the instructions on https://github.com/coq-community/templates to regenerate.\n---\u003e\n# Real closed fields\n\n[![Docker CI][docker-action-shield]][docker-action-link]\n\n[docker-action-shield]: https://github.com/math-comp/real-closed/actions/workflows/docker-action.yml/badge.svg?branch=master\n[docker-action-link]: https://github.com/math-comp/real-closed/actions/workflows/docker-action.yml\n\n\n\n\nThis library contains definitions and theorems about real closed\nfields, with a construction of the real closure and the algebraic\nclosure (including a proof of the fundamental theorem of\nalgebra). It also contains a proof of decidability of the first\norder theory of real closed field, through quantifier elimination.\n\n## Meta\n\n- Author(s):\n  - Cyril Cohen (initial)\n  - Assia Mahboubi (initial)\n- License: [CeCILL-B](CECILL-B)\n- Compatible Coq versions: Coq 9.0 or later\n- Additional dependencies:\n  - [MathComp ssreflect 2.3 or later](https://math-comp.github.io)\n  - [MathComp algebra](https://math-comp.github.io)\n  - [MathComp field](https://math-comp.github.io)\n  - [MathComp bigenough 1.0.0 or later](https://github.com/math-comp/bigenough)\n- Coq namespace: `mathcomp.real_closed`\n- Related publication(s):\n  - [Formal proofs in real algebraic geometry: from ordered fields to quantifier elimination](https://hal.inria.fr/inria-00593738v4) doi:[10.2168/LMCS-8(1:2)2012](https://doi.org/10.2168/LMCS-8(1:2)2012)\n  - [Construction of real algebraic numbers in Coq](https://hal.inria.fr/hal-00671809v2) doi:[10.1007/978-3-642-32347-8_6](https://doi.org/10.1007/978-3-642-32347-8_6)\n\n## Building and installation instructions\n\nThe easiest way to install the latest released version of Real closed fields\nis via [OPAM](https://opam.ocaml.org/doc/Install.html):\n\n```shell\nopam repo add coq-released https://coq.inria.fr/opam/released\nopam install coq-mathcomp-real-closed\n```\n\nTo instead build and install manually, do:\n\n``` shell\ngit clone https://github.com/math-comp/real-closed.git\ncd real-closed\nmake   # or make -j \u003cnumber-of-cores-on-your-machine\u003e \nmake install\n```\n\n\n\n## Documentation\nThe repository contains\n- the decision procedure `rcf_sat` and its corectness lemma [`rcf_satP`](https://github.com/math-comp/real-closed/blob/3721886fffb13ea9c80824043f119ffed0c780f2/theories/qe_rcf.v#L991) for the first order theory of real closed fields through\n[certified quantifier elimination](https://hal.inria.fr/inria-00593738v4)\n- the definition `{realclosure F}` , a [construction of the real closure of an archimedean field](https://hal.inria.fr/hal-00671809v2), which is canonically a [`rcfType`](https://github.com/math-comp/math-comp/blob/c1ec9cd8e7e50f73159613c492aad4c6c40bc3aa/mathcomp/algebra/ssrnum.v#L63) when `F` is an archimedean field, and the characteristic theorems of section [`RealClosureTheory`](https://github.com/math-comp/real-closed/blob/3721886fffb13ea9c80824043f119ffed0c780f2/theories/realalg.v#L1477).\n- the definition `complex R`,  a construction of the algebraic closure of a real closed field, which is canonically a [`numClosedFieldType`](https://github.com/math-comp/math-comp/blob/c1ec9cd8e7e50f73159613c492aad4c6c40bc3aa/mathcomp/algebra/ssrnum.v#L73) that additionally satisfies [`complexalg_algebraic`](https://github.com/math-comp/real-closed/blob/3721886fffb13ea9c80824043f119ffed0c780f2/theories/complex.v#L1324).\n\nExcept for the end-results listed above, one should not rely on anything.\n\nThe formalization is based on the [Mathematical Components](https://github.com/math-comp/math-comp)\nlibrary for the [Coq](https://coq.inria.fr) proof assistant.\n\n\n## Development instructions\n\n### With nix.\n\n1. Install nix:\n  - To install it on a single-user unix system where you have admin\n    rights, just type:\n\n    \u003e sh \u003c(curl https://nixos.org/nix/install)\n\n    You should run this under your usual user account, not as\n    root. The script will invoke `sudo` as needed.\n\n    For other configurations (in particular if multiple users share\n    the machine) or for nix uninstallation, go to the [appropriate\n    section of the nix\n    manual](https://nixos.org/nix/manual/#ch-installing-binary).\n\n  - You need to **log out of your desktop session and log in again** before you proceed to step 2.\n\n  - Step 1. only need to be done once on a same machine.\n\n2. Open a new terminal. Navigate to the root of the Abel repository. Then type:\n   \u003e nix-shell\n\n   - This will download and build the required packages, wait until\n     you get a shell.\n   - You need to type this command every time you open a new terminal.\n   - You can call `nixEnv` after you start the nix shell to see your\n     work environemnet (or call `nix-shell` with option `--arg\n     print-env true`).\n\n3. You are now in the correct work environment. You can do\n   \u003e make\n\n   and do whatever you are accustomed to do with Coq.\n\n4. In particular, you can edit files using `emacs` or `coqide`.\n\n   - If you were already using emacs with proof general, make sure you\n     empty your `coq-prog-name` variables and any other proof general\n     options that used to be tied to a previous local installation of\n     Coq.\n   - If you do not have emacs installed, but want to use it, you can\n     go back to step 2. and call `nix-shell` with the following option\n     \u003e nix-shell --arg withEmacs true\n\n     in order to get a temporary installation of emacs and\n     proof-general.  Make sure you add `(require 'proof-site)` to your\n     `$HOME/.emacs`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmath-comp%2Freal-closed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmath-comp%2Freal-closed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmath-comp%2Freal-closed/lists"}