Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/coq-community/topology
General topology in Coq [maintainers=@amiloradovsky,@Columbus240,@stop-cran]
https://github.com/coq-community/topology
coq coq-library topology
Last synced: 6 days ago
JSON representation
General topology in Coq [maintainers=@amiloradovsky,@Columbus240,@stop-cran]
- Host: GitHub
- URL: https://github.com/coq-community/topology
- Owner: coq-community
- License: other
- Created: 2016-04-27T17:54:49.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-10-19T07:40:41.000Z (3 months ago)
- Last Synced: 2025-01-08T23:15:08.107Z (13 days ago)
- Topics: coq, coq-library, topology
- Language: Coq
- Homepage:
- Size: 770 KB
- Stars: 47
- Watchers: 8
- Forks: 10
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Topology
[![Docker CI][docker-action-shield]][docker-action-link]
[![Contributing][contributing-shield]][contributing-link]
[![Code of Conduct][conduct-shield]][conduct-link]
[![Zulip][zulip-shield]][zulip-link][docker-action-shield]: https://github.com/coq-community/topology/actions/workflows/docker-action.yml/badge.svg?branch=master
[docker-action-link]: https://github.com/coq-community/topology/actions/workflows/docker-action.yml[contributing-shield]: https://img.shields.io/badge/contributions-welcome-%23f7931e.svg
[contributing-link]: https://github.com/coq-community/manifesto/blob/master/CONTRIBUTING.md[conduct-shield]: https://img.shields.io/badge/%E2%9D%A4-code%20of%20conduct-%23f15a24.svg
[conduct-link]: https://github.com/coq-community/manifesto/blob/master/CODE_OF_CONDUCT.md[zulip-shield]: https://img.shields.io/badge/chat-on%20zulip-%23c1272d.svg
[zulip-link]: https://coq.zulipchat.com/#narrow/stream/237663-coq-community-devs.20.26.20usersThis library develops some of the basic concepts
and results of general topology in Coq.## Meta
- Author(s):
- Daniel Schepler (initial)
- Coq-community maintainer(s):
- Andrew Miloradovsky ([**@amiloradovsky**](https://github.com/amiloradovsky))
- stop-cran ([**@stop-cran**](https://github.com/stop-cran))
- Columbus240 ([**@Columbus240**](https://github.com/Columbus240))
- License: [GNU Lesser General Public License v2.1 or later](LICENSE)
- Compatible Coq versions: Coq 8.16 or later (use the corresponding branch or release for other Coq versions)
- Additional dependencies:
- Zorn's Lemma (set library that is part of this repository)
- Coq namespace: `Topology`
- Related publication(s): none## Building and installation instructions
The easiest way to install the latest released version of Topology
is via [OPAM](https://opam.ocaml.org/doc/Install.html):```shell
opam repo add coq-released https://coq.inria.fr/opam/released
opam install coq-topology
```To instead build both Topology and Zorn's Lemma manually, do:
``` shell
git clone https://github.com/coq-community/topology.git
cd topology
make # or make -j
```## Contents of Topology, roughly grouped in related categories:
### Basic definitions
- `TopologicalSpaces.v`
- `InteriorsClosures.v`
- `Neighborhoods.v`
- `OpenBases.v`
- `NeighborhoodBases.v`
- `Subbases.v`
- `Continuity.v`
- `Homeomorphisms.v`### Filters and nets
- `FilterLimits.v`
- `Nets.v`
- `FiltersAndNets.v` - various transformations between filters and nets### Properties
- `Compactness.v`
- `Connectedness.v`
- `CountabilityAxioms.v` - first countable, second countable, separable, Lindelof
- `SeparatednessAxioms.v` - T0, T1, Hausdorff, etc.### General constructions of topologies
- `OrderTopology.v`
- `StrongTopology.v` - strong topology induced by a family of maps from
topological spaces
- `WeakTopology.v` - weak topology induced by a family of maps to
topological spaces
- `ProductTopology.v`
- `SumTopology.v` - also called "disjoint union" or "coproduct"
- `SubspaceTopology.v`
- `QuotientTopology.v`
- `ContinuousFactorization.v` - a continuous map factors through its image### Metric spaces
- `MetricSpaces.v`
- `Completeness.v`
- `Completion.v`
- `UniformTopology.v` - the topology of uniform convergence### Real analysis
- `SupInf.v`
- `RationalsInReals.v`
- `RTopology.v` - definition and properties of topology on R
- `RFuncContinuity.v` - reproof of continuity of basic functions on R### "First nontrivial results of topology"
- `UrysohnsLemma.v`
- `TietzeExtension.v`## Contents of Zorn's Lemma
In alphabetical order, except where related files are grouped together:
- `Cardinals.v` - collects the files in the folder `Cardinals`
- `Cardinals/Cardinals.v` defines cardinal comparisons for types
- `Cardinals/CardinalsEns.v` defines cardinal comparisons for ensembles
- `Cardinals/Combinatorics.v` defines some elementary bijections
- `Cardinals/Comparability.v` given choice, cardinals form a total order
- `Cardinals/CSB.v` prove Cantor-Schröder-Bernstein theorem
- `Cardinals/Diagonalization.v` Cantor's diagonalization and corollaries
- `Cardinals/LeastCardinalsEns.v` the cardinal orders are well-founded- `Classical_Wf.v` - proofs of the classical equivalence of wellfoundedness, the minimal element property, and the descending sequence property
- `CSB.v` - the Cantor-Schroeder-Bernstein theorem
- `DecidableDec.v` - `classic_dec: forall P: Prop, {P} + {~P}.`
- `DependentTypeChoice.v` - choice on a relation (`forall a: A, B a -> Prop`)
- `DirectedSets.v` - basics of directed sets
- `Filters.v` - basics of filters- `EnsembleProduct.v` - products of ensembles, living in the type `A * B`
- `EnsemblesImplicit.v` - settings for appropriate implicit parameters for the standard library's Ensembles functions
- `FiniteImplicit.v` - same for the standard library's Sets/Finite_sets
- `ImageImplicit.v` - same for the standard library's Sets/Image
- `Relation_Definitions_Implicit.v` - same for the standard library's Relation_Definitions
- `EnsemblesExplicit.v` - clears the implicit parameters set in the above files- `EnsemblesSpec.v` - defines a notation for e.g. `[ n: nat | n > 5 /\ even n ] : Ensemble nat.`
- `EnsemblesTactics.v` - defines tactics that help in proofs about Ensembles
- `EnsemblesUtf8.v` - optional UTF-8 notations for set operations
- `Families.v` - operations on families of subsets of `X`, i.e. `Ensemble (Ensemble X)`
- `IndexedFamilies.v` - same for indexed families `A -> Ensemble X`- `FiniteIntersections.v` - defines the finite intersections of a family of subsets
- `FiniteTypes.v` - definitions and results about finite types
- `CountableTypes.v` - same for countable types
- `InfiniteTypes.v` - same for infinite types- `FunctionProperties.v` - injective, surjective, etc.
- `FunctionProperitesEns.v` - same but definitions restricted to ensembles- `Image.v` - images of subsets under functions
- `InverseImage.v` - inverse images of subsets under functions- `Ordinals.v` - a construction of the ordinals without reference to well-orders
- `Powerset_facts.v` - some lemmas about the operations on subsets that the stdlib is missing
- `Proj1SigInjective.v` - inclusion of `{ x: X | P x }` into `X` is injective
- `Quotients.v` - quotients by equivalence relations, and induced functions on them
- `ReverseMath` - a folder with some results in constructive reverse mathematics
- `WellOrders.v` - some basic properties of well-orders, including a proof that Zorn's Lemma implies the well-ordering principle
- `ZornsLemma.v` - proof that choice implies Zorn's Lemma
## Bibliography
- Cunningham, D. W. (2016). "Set theory : a first course". Cambridge University Press. ISBN: 9781107120327
- Munkres, J. R. (2000). "Topology" (2nd ed.). Prentice-Hall. ISBN: 9780131816299
- Pradic, C. and Brown, C. E. (2019). "Cantor-Bernstein implies Excluded Middle". arXiv: https://arxiv.org/abs/1904.09193
- Preuss, G. (1975). "Allgemeine Topologie" (2., korr. Aufl.). Springer. ISBN: 3540074279