User:Boris Tsirelson/Sandbox1

For a mathematical theory, correctness means formalizability. "In practice, the mathematician ... is content to bring the exposition to a point where his experience and mathematical flair tell him that translation into formal language would be no more than an exercise of patience (though doubtless a very tedious one)." Reliability of these experience and flair appears to be high but not perfect. Formalization is especially desirable in complicated cases, but feasible only in very simple cases, unless computers help. (Similarly, without computers a programmer is able to debug only very simple programs.)

A proof assistant is a computer program used interactively for developing human-readable reliable mathematical documents in a formal language.

Nowadays (about 2010) the most successful project of this class combines
 * Isabelle, a generic system for implementing logical formalisms;
 * Isar (Intelligible SemiAutomated Reasoning), a versatile language environment for structured formal proofs;
 * Proof General, a configurable user interface (front-end) for proof assistants;
 * HOL (Higher-Order Logic).

This combination is meant below (unless otherwise stated explicitly), and called just Isabelle (rather than Isabelle/Isar/HOL/Proof General).

Top 100 theorems in Isabelle + Formalizing 100 Theorems + Isabelle + Download and installation + Projects + The Isabelle2009-2 Library + IsarMathLib: A library of formalized mathematics for Isabelle/ZF

Example session
An existing file, verified before, is used as the source text in this example. Thus, the session is not really interactive. However, this fact is not known to Isabelle. The proof assistant treats the session as interactive, and the text as created anew.

We start Proof General (Fig. 1) and enter the source text (Fig. 2).



For now, Proof General does not send the text to Isabelle; we still can edit the text.

--

Definitions are processed; the formulation of the first lemma is being processed.

The formulation of the first lemma is processed; the goal is pending.