Git Product home page Git Product logo

largecatmodules's Introduction

DOI

Univalent Mathematics

This Coq library aims to formalize a substantial body of mathematics using the univalent point of view.

Trying out UniMath

You can try out UniMath in the browser by clicking here. For instance, you can run the files from the School on Univalent Mathematics in the browser.

Using UniMath on your computer

To install UniMath on your computer, there are two options:

  • Install a released binary version of UniMath via the Coq Platform.
  • To develop, and contribute to, UniMath, you should compile the latest version of UniMath yourself - see INSTALL.md.

Usage

See USAGE.md

Contents

The UniMath subdirectory contains various packages of formalized mathematics. For more information, see the UniMath Table of Contents.

Some scientific articles describing the contents of the UniMath library or work using it are listed in the wiki.

Contributing to UniMath

To contribute to UniMath, submit a pull request. Your code will be subject to the copyright and license agreement in LICENSE.md.

For the style guide and other instructions, see UniMath/README.md.

Discussing UniMath & Getting Help

Citing UniMath

To cite UniMath in your article, you can use the following bibtex item:

@Misc{UniMath,
    author = {Voevodsky, Vladimir and Ahrens, Benedikt and Grayson, Daniel and others},
    title = {UniMath --- a computer-checked library of univalent mathematics},
    url = {https://github.com/UniMath/UniMath},
    howpublished = {available at \url{http://unimath.org}},
    doi          = {10.5281/zenodo.10849216},
    url          = {https://doi.org/10.5281/zenodo.10849216}
 }

Note that this requires \usepackage{url} or \usepackage{hyperref}.

The UniMath Coordinating Committee

The UniMath project was started in 2014 by merging the repository Foundations, by Vladimir Voevodsky (written in 2010), with two repositories based on it: rezk_completion, by Benedikt Ahrens, and Ktheory, by Daniel Grayson. Vladimir Voevodsky was a member of the team until his death in September, 2017.

The current members of the UniMath Coordinating Committee are:

  • Benedikt Ahrens
  • Daniel Grayson
  • Michael Lindgren
  • Peter LeFanu Lumsdaine
  • Ralph Matthes
  • Niels van der Weide

Acknowledgments

The UniMath development team gratefully acknowledges the great work by the Coq development team in providing the Coq proof assistant, as well as their support in keeping UniMath compatible with Coq.

largecatmodules's People

Contributors

amblafont avatar arnoudvanderleer avatar benediktahrens avatar m-lindgren avatar maggesi avatar peterlefanulumsdaine avatar rmatthes avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

largecatmodules's Issues

Make a small summary file

The summary file should state the main theorems outside any section, that is, with all the hypotheses inside the statement of the theorem.

For its proof, it can apply the theorem proved in another file.

how can I do the Dune build on my local machine?

To be more precise, how do I tell the satellite repository where the UniMath build resides?
Currently, there is only an instruction for using make, based on an "installed" UniMath (and I know how to "install" UniMath from the Dune build by creating a TAR file of the .vo files and injecting it).

Axiom of choice

Here is the type of our main thm for elementary equations (Cf Summary.v):

`
Check (@elementary_equations_preserve_initiality :

(Sig : SIGNATURE)
(** The 1-signature must be an epi-signature )
(epiSig : sig_preservesNatEpiMonad Sig)
(
* this is implied by the axiom of choice )
(SR_epi : ∏ R : Monad SET, preserves_Epi (Sig R))
(
* A family of equations )
(O : UU) (eq : O → elementary_equation (Sig := Sig))
(eq' := fun o => soft_equation_from_elementary_equation epiSig SR_epi (eq o)),
(
* If the category of 1-models has an initial object, .. )
∏ (R : Initial (rep_fiber_category Sig)) ,
(
* preserving epis (implied by the axiom of choice )
preserves_Epi (InitialObject R : model Sig)
(
* .. then the category of 2-models has an initial object *)
→ Initial (precategory_model_equations eq')).

`
Can we show that some of the hypotheses which requires the axiom of choice are true for some cases?

For example, maybe SR_epi cannot be shown, but SR_epi' supposing that R preserves epis can be shown is Sig is algebraic, which may be enough for the theorem.

The initial model of an algebraic signature should also preserves epis I think.

compilation error due to changes to `foldr1`?

I am seeing this:

$ make
COQC Modules/Signatures/BindingSig.v
File "./Modules/Signatures/BindingSig.v", line 205, characters 8-31:
Error:
Found no subterm matching "foldr1_map ?M43 ?M44 ?M45
                             (cons ?M46 (cons ?M47 ?M48))" in the current goal.

make[1]: *** [build/CoqMakefile.make:848: Modules/Signatures/BindingSig.vo] Error 1
make[1]: *** [Modules/Signatures/BindingSig.vo] Deleting file 'Modules/Signatures/BindingSig.glob'
make: *** [build/CoqMakefile.make:417: all] Error 2

@rmatthes : do you see the same?

Compilation error

COQC Modules/Prelims/LModulesCoproducts.v
File "./Modules/Prelims/LModulesCoproducts.v", line 218, characters 4-25:
Error: The reference LModule_same_func_Mor was not found in the current
environment.

Compilation error after upgrade of Coq version

Compilation error after upgrade to Coq 8.11:

File "./Modules/Signatures/ModelCat.v", line 726, characters 14-79:
Error: Cannot infer this placeholder of type "Monad C" in
environment:
C : category
bc : BinCoproducts C
Sig : signature C
R : model Sig
iR : isInitial (rep_fiber_category Sig) R
fR := iscontrpr1 (iR (mod_id_model R)) : rep_fiber_mor R (mod_id_model R)
h1 : fR · mod_id_model_mor R = identity R
c : C

@amblafont : can you fix this?

Formalize examples

We should use the main result to construct some initial objects, e.g., the initial object of the signature LC+beta+eta.

This will show if our definitions are chosen well.

Factor out definition of quotient monad

Like the definition of a quotient functor, a quotient monad (on sets) only seems to rely on two pieces of input:

  • a monad
  • a pointwise relation

Factor out this construction.

Compilation error after changes to UniMath

Error:
Ltac call to "simple refine (uconstr)" failed.
In environment
C : category
F := left_adjoint TwoSignature_To_One_right_adjoint
 : signature_category ⟶ total_precategory two_signature_disp
The term "F" has type
 "signature_category ⟶ total_precategory two_signature_disp"
while it is expected to have type "signature_category ⟶ ?D".

The problem here is that isounit_coreflection requires a functor between categories, whereas left_adjoint only gives a functor between precategories.

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.