Coder Social home page Coder Social logo

ejahren / hott Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hott/coq-hott

0.0 3.0 0.0 7.29 MB

Homotopy type theory

Home Page: http://homotopytypetheory.org/

License: Other

Shell 2.66% Emacs Lisp 0.09% Coq 94.14% Verilog 0.01% CSS 1.09% Python 1.43% TeX 0.59%

hott's Introduction

Build Status

Homotopy Type Theory is an interpretation of Martin-Löf’s intensional type theory into abstract homotopy theory. Propositional equality is interpreted as homotopy and type isomorphism as homotopy equivalence. Logical constructions in type theory then correspond to homotopy-invariant constructions on spaces, while theorems and even proofs in the logical system inherit a homotopical meaning. As the natural logic of homotopy, type theory is also related to higher category theory as it is used e.g. in the notion of a higher topos.

The HoTT library is a development of homotopy-theoretic ideas in the Coq proof assistant. It draws many ideas from Vladimir Voevodsky's Foundations library.

INSTALLATION

Installation details are explained in the file INSTALL.txt. You will need to compile a custom version of Coq which supports the -indices-matter flag, universe polymorphism, and private types. We hope to have these pushed into standard Coq, but in the meanwhile the Coq version is available at https://github.com/HoTT/coq/branches/trunk. The particular version of Coq which the current version of this repository is compatible is bundled as a git submodule.

If you are looking for an older version of HoTT which works with standard Coq, have a look at the one tagged as pure-coq-8.3. Note however that we do not support the old library anymore.

USAGE

It is possible to use the HoTT library directly on the command line with the hoqtop script, but who does that?

It is probably better to use Proof General and Emacs. When Proof General asks you where to find the coqtop executable, just point it to the hoqtop script. If Emacs runs a coqtop without asking, you should probably customize set the variable proof-prog-name-ask to nil (in Emacs type C-h v proof-prog-name-ask RET to see what this is about).

At the moment there is no hoqide equivalent of coqide, but getting one is high on our to-do list.

CONTRIBUTING

Contributions to the HoTT library are very welcome! We use the “fork and pull” model: to contribute, please create your own fork and issue a pull request when you have code ready to join the main library. When you make large changes, feel free to include timing information in your commit message; run ./etc/timing/make-pretty-timed-diff.sh && git commit -at ./time-of-build-both.log, or see the comments at the top of etc/timing/make-pretty-timed-diff.sh for more detailed instructions and caveats. Note that if you create a new file, you must update Makefile_targets.mk. We suggest running make strict rather than just make, so that you will get an error if you forget.

LICENSING

The library is released under the permissive BSD 2-clause license, see the file LICENSE.txt for further information. In brief, this means you can do whatever you like with it, as long as you preserve the Copyright messages. And of course, no warranty!

hott's People

Contributors

andrejbauer avatar jasongross avatar mikeshulman avatar peterlefanulumsdaine avatar amahboubi avatar spitters avatar dangrayson avatar mattam82 avatar awodey avatar ejahren avatar marcbezem avatar cohencyril avatar benediktahrens avatar ezyang avatar lambdaterm avatar skyskimmer avatar stupidpeasant avatar wires avatar mdnahas avatar jcmckeown avatar

Watchers

 avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.