Giter Site home page Giter Site logo

coq-community / coq-art Goto Github PK

View Code? Open in Web Editor NEW
105.0 8.0 21.0 551 KB

Coq code and exercises from the Coq'Art book [maintainers=@ybertot,@Casteran]

Home Page: https://coq-community.org/coq-art/

License: MIT License

Makefile 0.05% Coq 78.70% HTML 21.25%
coq coq-art exercises docker-coq-action

coq-art's Introduction

Coq'Art

Docker CI Contributing Code of Conduct Zulip DOI

Coq'Art is the familiar name for the first book on the Coq proof assistant and its underlying theory, the Calculus of Inductive Constructions. This project contains the Coq sources of all examples and the solution to 170 out of over 200 exercises from the book.

Meta

Building instructions

git clone https://github.com/coq-community/coq-art
cd coq-art
make   # or make -j <number-of-cores-on-your-machine>

Documentation

For more information, see the book website and the publisher's website. The repository is also used as the source for this website.

Book chapters

The repository is structured as follows.

  1. A Brief Presentation of Coq
  2. Gallina: Coq as a Programming Language
  3. Propositions and Proofs
  4. Dependent Product
  5. Everyday Logic
  6. Inductive Data Structures
  7. Tactics and automation
  8. Inductive Predicates
  9. Functions and their specification
  10. Extraction and imperative programming
  11. A Case Study: binary search trees
  12. The Module System
  13. Infinite Objects and Proofs
  14. Foundations of Inductive Types
  15. General Recursion
  16. Proof by reflection

Additional material

coq-art's People

Contributors

anton0xf avatar casteran avatar durbatuluk1701 avatar ghasshee avatar palmskog avatar ybertot avatar yoshihiro503 avatar zimmi48 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

coq-art's Issues

Repository organization for different Coq versions?

I believe this repository will create the most value when the default branch (when browsing GitHub and cloning) supports the latest stable Coq version. This is in contrast to many other Coq projects, where the default branch (typically master) supports the development branch of Coq, i.e., Coq's master.

At the same time, I don't believe it's desirable to try to support as many Coq versions as possible in one branch either, since pedagogical conventions and idioms may change across versions, and I think the sources here should follow "recent" conventions (and even serve as documentation for past conventions).

Hence, one way to organize the project may be to have named branches like Coq plugins (e.g., v8.9, v8.10), but without a master branch, and have the latest stable version branch set as the default branch.

So for example, we could rename master to v8.9, and then eventually create a v8.10 branch but only set it as default when 8.10.0 is released.

@Zimmi48 what do you think about this idea?

add link the hosted html

I saw this repo contained html files, but I couldn't find the link to the where it was hosted.
I took a chance and hacked the github url https://coq-community.github.io/coq-art/
Maybe I just missed it and it already is somewhere obvious, but is it possible to add the link to the top of the readme or the project description or about section?

Thank you for maintaining this.
A group of us are finding this repo very useful.

Changes for Coq 8.13.0

@ybertot @palmskog

I will do the following changes:
Fix the warnings about Hints locallity attributes and unused match variables.
Remove the Admitted in chap7.v (replace with small proofs). They prevented us from making coq-art a library ?

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.