-->
Home » , , , » COQ is a Proof Assistant for a Logical Framework known as the Calculus of Inductive Constructions.
Saturday
29 March 2014

COQ is a Proof Assistant for a Logical Framework known as the Calculus of Inductive Constructions.

Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the formalization of programming languages semantics (e.g. the CompCert compiler certification project or Java Card EAL7 certification in industrial context), the formalization of mathematics (e.g. the full formalization of the 4 color theorem or constructive mathematics at Nijmegen) and teaching.


Coq implements a program specification and mathematical higher-level language called Gallina that is based on an expressive formal language called the Calculus of Inductive Constructions that itself combines both a higher-order logic and a richly-typed functional programming language. Through a vernacular language of commands, Coq allows:

    to define functions or predicates, that can be evaluated efficiently;
    to state mathematical theorems and software specifications;
    to interactively develop formal proofs of these theorems;
    to machine-check these proofs by a relatively small certification "kernel";
    to extract certified programs to languages like Objective Caml, Haskell or Scheme.

coq

As a proof development system, Coq provides interactive proof methods, decision and semi-decision algorithms, and a tactic language for letting the user define its own proof methods. Connection with external computer algebra system or theorem provers is available.

As a platform for the formalization of mathematics or the development of programs, Coq provides support for high-level notations, implicit contents and various other useful kinds of macros.

 

Coq comes with libraries for efficient arithmetics in N, Z and Q, libraries about lists, finite sets and finite maps, libraries on abstract sets, relations, classical analysis, etc.

Coq is released with:

    a graphical user interface based on gtk (CoqIde) (see screenshots),
    documentation tools (coqdoc and coq-tex) and a statistics tool (coqwc),
    dependency and makefile generation tools for Coq (coq_makefile and coqdep),
    a stand-alone proof verifier (coqchk, from Coq 8.2).

The current version: Coq 8.4pl3

coq2

This version features:

    a new modular and uniform extension of the arithmetical libraries by P. Letouzey which systematically provides power, gcd/lcm, square root, base 2 logarithm, division, modulo, bitwise operators, logical shift, comparisons, iterators for all of nat, N, Z, BigN and BigZ on top of a uniform naming layer (e.g. plus and mult are now consistently named add and mul while still remaining mostly compatible with 8.3) (example 1, example 2, example 3);
    a new proof engine by A. Spiwack whose most salient feature is the introduction of bullets (+, -, *) and structured scripts ({ ... }) (example).

The main other changes are:

    addition of eta-conversion to the logic;
    a slightly more flexible guard condition for fixpoints;
    a more systematic support for pattern-matching on dependent types;
    more robust CoqIDE (including a new communication protocol by V. Gross);
    a new library of vectors (lists of a given length);
    support for referring to expressions of the goal using pattern in tactics;
    automatic computation of occurrences to abstract over in destruct/induction (example);
    various improvements to Ltac (timeout, appcontext, constr_eq, is_evar, has_evar, generic match _ with _ => _ end pattern, fine-tuning of simpl);
    implicit arguments in anonymous functions;
    notations with binders (e.g. exists x y z : A, P x y z) (example);
    many bug fixes and improvements of existing features (type classes, setoid rewriting, ring, nsatz, micromega, extraction, Function, module system, coq_makefile, ...);

coq3

For a full log of changes, see the file CHANGES.

Coq 8.4 is not entirely upward compatible with 8.3 (see main incompatibilities)

Sources


coq-8.4pl3.tar.gz
4 MB

Binaries

macos
MacOS
coq-8.4.dmg
75 MB

coqide-8.4pl2.dmg (Coq bundled with CoqIDE interface)
100 MB

The packages require MacOS ≥ 10.5

Documentation

Tutorial.pdf
0.2 MB

Reference-Manual.pdf
1.5 MB

coq4

0 commenti:

Post a Comment

Random Posts

  • Installing KXStudio.
    22.02.2014 - 0 Comments
    There are a few important considerations you must be aware of before installing KXStudio. These include knowing what type of machine you are installing on, how its disks are to be arranged and whether or not you plan to boot any additional…
  • TuxGuitar is a multitrack tablature editor and player.
    02.02.2013 - 0 Comments
    TuxGuitar is a free, open source tablature editor, which includes basic features such as tablature editing, score editing, triplet support and the ability to import and export Guitar Pro gp3, gp4, and gp5 files In addition, TuxGuitar can function…
  • CTKArch an ArchLinux-based lightweight desktop system.
    09.04.2011 - 0 Comments
    CTKArch is a minimalistic Arch Linux setup that comes with a set of carefully selected applications and provides maximum hardware support, exclusively using free open-source software. It aims at providing the indispensable base applications for a…
  • Guides and tutorials for Zorin OS: Unable to Download Zorin OS.
    11.01.2024 - 0 Comments
     What to do if your download of Zorin OS fails or is slow.Download from a different mirror server The Zorin website will try to automatically find the fastest download server based on your general location.However, if you’re having issues…
  • 10 Useful Sar (Sysstat) Examples for UNIX / Linux Performance Monitoring.
    31.07.2013 - 0 Comments
    Using sar you can monitor performance of various Linux subsystems (CPU, Memory, I/O..) in real time. Using sar, you can also collect all performance data on an on-going basis, store them, and do historical analysis to identify bottlenecks. Sar…
  • Toutou Linux is a  variant of Puppy Linux designed for French-speaking users.
    07.02.2010 - 0 Comments
    Toutou Linux is a variant of Puppy Linux designed for French-speaking users. The project's latest version of the fast, lightweight distribution is 4.3.1, released earlier today. Compared to Puppy Linux 4.3.1, the new Toutou comes with a new…
  • Cosmic a new desktop environment.
    13.12.2024 - 0 Comments
    We aim to liberate the computer with a new desktop environment powerful enough to build custom OS experiences — for users, developers, and makers of any device with a screen. Alpha 4: Into the COSMOS The stars are growing brighter as we reach…
  • Calc C-style arbitrary precision calculator.
    05.07.2014 - 0 Comments
    Calc is an interactive calculator which provides for easy large numeric calculations, but which also can be easily programmed for difficult or long calculations. It can accept a command line argument, in which case it executes that single command…
  • Tuquito is an Ubuntu-based Linux distribution created in Tucumán, Argentina
    15.09.2009 - 0 Comments
    Tuquito is an Ubuntu-based Linux distribution created in Tucumán, Argentina, by Ignacio Díaz, Chris Arenas and Mauro Torres, students of The National University of Tucumán. Torres is also the creator of Garfio, a tool designed for the development…
  • Four things you can do today to protect your computer.
    19.02.2020 - 0 Comments
    From the abacus to the iPad, computers have been a part of the human experience for longer than we think. So much so that we forget the vast amounts of personal data we share with our devices on a daily basis. On any given day we could be tackling…

Recent Posts

Recent Posts Widget

Popular Posts

Labels

Archive

page counter follow us in feedly
 
Copyright © 2014 Linuxlandit & The Conqueror Penguin
-->