Comments (5)
Here's a draft. Feedback welcome!
The Coq-HoTT library\footnote{\url{https://github.com/HoTT/Coq-HoTT}}
originated during the 2012--13 Special Year for HoTT/UF at IAS. Its
goal is to formalize mathematics in HoTT/UF, with a particular
emphasis on subjects that are impossible in traditional foundations
(such as synthetic homotopy theory), or that have interesting and
novel features when done in HoTT/UF relative to traditional
foundations. However, this emphasis is not exclusive; we are
happy to include any mathematics formalized in HoTT/UF.
Our foundational theory is essentially ``Book HoTT'': intensional MLTT
with univalence and HITs as axioms, plus definitional computation
rules for point-constructors of HITs. We use Coq, with univalence and
other axioms tracked as typeclasses, and the ``private inductive
types'' hack for HITs. We also make heavy use of other features of
Coq, such as general inductive definitions, type classes, general
record-types, universe polymorphism. We use tactics to automate some
proofs, such as ``rearrangements'' between nested $\Sigma$-types.
Topics of note include: idempotent monadic modalities and
localizations; synthetic homotopy theory; the Blakers--Massey theorem;
HIIT surreal numbers; splitting of idempotents; undergraduate algebra
of groups and rings, including the Chinese remainder theorem; a novel
definition of $\mathrm{Ext}^1$ and some homological algebra; exact
sequences relative to a general modality; construction of the
syllepsis; H-spaces and the Cayley-Dickson construction; and a toolbox
for ``wild categories'' used throughout the library.
from coq-hott.
Some things come to mind. We have:
- Basic undergraduate algebra: Groups (Abelianization, ...), Rings (Chinese reminader theorem, ...) etc.
- A novel definition of Ext^1 and some homological algeba
- Formalization of Syllepsis
You could also mention that this library has acted as a catalyst/stimulant for the development of Coq and related tools. For example https://github.com/ejgallego/coq-lsp
Some downsides of this library would include:
- Lack of time to develop ideas. I personally burnt out on formalising many things which would be possible if I had more time.
- HIT compuations are hard, proof assistants like cubical agda do a better job (no fault of ours tho)
- Coming from mathematics, people are typically surprised how much thought needs to go into the engineering and layout of formal proofs. You could of course do everything in a single .v file but you would have a terrible time. We try to do good engineering practices, but there is plenty of room for improvement.
- I could never get my teeth into serious homotopy theory due to the difficulty of trying to formalize things like 3x3. I am also aware I am not the only one who has felt this in this library.
from coq-hott.
Regarding 1, I think Mike's description is pretty good, but maybe we should emphasize that we're also happy to include things that are not novel in HoTT/UF.
Mike's answer for 2 also sounds good. We could also say that we make serious use of type classes, records, universe polymorphism, and other features of Coq.
The union of Mike's and Ali's answers for 3 covers most things I can think of. The only thing I would add is H-spaces (especially since there is more to come). (I also expect that Jarl and I will be adding some interesting results on other topics in the near future.)
from coq-hott.
I like the suggested 1 and 2. For 2, one could mention that tactics like pointed_reduce
and make_equiv
simplify our lives. For 3, one could also mention the Cayley-Dickson construction, and that we have pretty good tools for working with exactness and long exact sequences with respect to a general modality.
from coq-hott.
@mikeshulman Can this be closed now?
from coq-hott.
Related Issues (20)
- Change definition of smash HOT 2
- Project: coherence for monoidal categories HOT 4
- Please pick the version you prefer for Coq 8.19 in Coq Platform 2024.01 HOT 5
- Add missing lemmas in PathGroupoids
- Use `Attributes` command to deprecate usage of certain .v files HOT 2
- Make pos and int unary HOT 25
- Opposite ring HOT 9
- Use ViCaR to visualize terms in monoidal categories HOT 3
- dune frequently making full builds HOT 9
- Tensor products of modules
- Add break hints to =, ==, $==, $->
- Add `_ $== _ :> _` notation exposing the underlying type of homs
- Homological algebra lemmas HOT 3
- Spectral sequences HOT 5
- Experiment with redefining bifunctors as uncurried functors
- Work out why test/WildCat/Opposite.v is slow HOT 2
- Remove redundant fields from Ring
- Generalize lhs, lhs_V, rhs and rhs_V to all transitive relations HOT 2
- Define matrices as functions HOT 2
- Define matrices as a collection of columns rather than a collection of rows
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coq-hott.