Results 1  10
of
18
Proofassistants using Dependent Type Systems
, 2001
"... this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs ..."
Abstract

Cited by 50 (4 self)
 Add to MetaCart
this article we will not attempt to describe all the dierent possible choices of type theories. Instead we want to discuss the main underlying ideas, with a special focus on the use of type theory as the formalism for the description of theories including proofs
Equational Reasoning via Partial Reflection
"... We modify the reection method to enable it to deal with partial functions like division. The idea behind reflection is to program a tactic for a theorem prover not in the implementation language but in the object language of the theorem prover itself. The main ingredients of the reflection metho ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
We modify the reection method to enable it to deal with partial functions like division. The idea behind reflection is to program a tactic for a theorem prover not in the implementation language but in the object language of the theorem prover itself. The main ingredients of the reflection method are a syntactic encoding of a class of problems, an interpretation function (mapping the encoding to the problem) and a decision function, written on the encodings. Together with a correctness proof of the decision function, this gives a fast method for solving problems. The contribution of this work lies in the extension of the reflection method to deal with equations in algebraic structures where some functions may be partial. The primary example here is the theory of fields. For the reflection method, this yields the problem that the interpretation function is not total. In this paper we show how this can be overcome by defining the interpretation as a relation. We give the precise details, both in mathematical terms and in Coq syntax. It has been used to program our own tactic `Rational', for verifying equations between field elements.
Universal Algebra in Type Theory
 Theorem Proving in Higher Order Logics, 12th International Conference, TPHOLs '99, volume 1690 of LNCS
, 1999
"... We present a development of Universal Algebra inside Type Theory, formalized using the proof assistant Coq. We define the notion of a signature and of an algebra over a signature. We use setoids, i.e. ... ..."
Abstract

Cited by 8 (6 self)
 Add to MetaCart
We present a development of Universal Algebra inside Type Theory, formalized using the proof assistant Coq. We define the notion of a signature and of an algebra over a signature. We use setoids, i.e. ...
ComputerAssisted Mathematics at Work  The HahnBanach Theorem in Isabelle/Isar
 TYPES FOR PROOFS AND PROGRAMS: TYPES’99, LNCS
, 2000
"... We present a complete formalization of the HahnBanach theorem in the simplytyped settheory of Isabelle/HOL, such that both the modeling of the underlying mathematical notions and the full proofs are intelligible to human readers. This is achieved by means of the Isar environment, which provides ..."
Abstract

Cited by 7 (4 self)
 Add to MetaCart
We present a complete formalization of the HahnBanach theorem in the simplytyped settheory of Isabelle/HOL, such that both the modeling of the underlying mathematical notions and the full proofs are intelligible to human readers. This is achieved by means of the Isar environment, which provides a framework for highlevel reasoning based on natural deduction. The final result is presented as a readable formal proof document, following usual presentations in mathematical textbooks quite closely. Our case study demonstrates that Isabelle/Isar is capable to support this kind of application of formal logic very well, while being open for an even larger scope.
Congruence Types
 Proceedings of CSL'95
, 1996
"... . We introduce a typetheoretical framework in which canonical term rewriting systems can be represented faithfully both from the logical and the computational points of view. The framework is based on congruence types, a new syntax which combines inductive, algebraic and quotient types. Congruence ..."
Abstract

Cited by 5 (5 self)
 Add to MetaCart
. We introduce a typetheoretical framework in which canonical term rewriting systems can be represented faithfully both from the logical and the computational points of view. The framework is based on congruence types, a new syntax which combines inductive, algebraic and quotient types. Congruence types improve on existing work to combine type theories with algebraic rewriting by making explicit the fact that the termrewriting systems under consideration are initial models of an equational theory. As a result, the interaction gustavo:thesisween the type theory and the algebraic types (rewriting systems) is much more powerful than in previous work. Congruence types can be used (i) to introduce initial models of canonical termrewriting systems (ii) to obtain a suitable computational behavior of a definable operation (iii) to provide an elegant solution to the problem of equational reasoning in type theory. 1 Introduction The combination of type systems with algebraic rewriting system...
Theorem proving support in programming language semantics, in "From Semantics to Computer Science, essays in Honour of Gilles Kahn
 Proceedings Editing
"... apport de recherche ..."
Proof by Computation in the Coq system
 in Theoretical Computer Science
, 2000
"... In informal mathematics, statements involving computations are seldom proved. Instead, it is assumed that readers of the proof can carry out the computations on their own. However, when using an automated proof development system based on type theory, the user is forced to nd proofs for all claimed ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
In informal mathematics, statements involving computations are seldom proved. Instead, it is assumed that readers of the proof can carry out the computations on their own. However, when using an automated proof development system based on type theory, the user is forced to nd proofs for all claimed propositions, including computational statements. This paper presents a method to automatically prove statements from primitive recursive arithmetic. The method replaces logical formulas by boolean expressions. A correctness proof is constructed, which states that the original formula is derivable, if and only if the boolean expression equals true. Because the boolean expression reduces to true, the conversion rule yields a trivial proof of the equality. By combining this proof with the correctness proof, we get a proof for the original statement. 1 Introduction This paper presents a method to automatically prove statements from rst order primitive recursive arithmetic, in the context o...
Hints in unification
"... Abstract. Several mechanisms such as Canonical Structures [14], Type Classes [16,13], or Pullbacks [10] have been recently introduced with the aim to improve the power and flexibility of the type inference algorithm for interactive theorem provers. We claim that all these mechanisms are particular i ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Abstract. Several mechanisms such as Canonical Structures [14], Type Classes [16,13], or Pullbacks [10] have been recently introduced with the aim to improve the power and flexibility of the type inference algorithm for interactive theorem provers. We claim that all these mechanisms are particular instances of a simpler and more general technique, just consisting in providing suitable hints to the unification procedure underlying type inference. This allows a simple, modular and not intrusive implementation of all the above mentioned techniques, opening at the same time innovative and unexpected perspectives on its possible applications. 1
An interactive driver for goal directed proof strategies
 In Proc. of User Interfaces for Theorem Provers
, 2008
"... Interactive Theorem Provers (ITPs) are tools meant to assist the user during the formal development of mathematics. Automatic proof searching procedures are a desirable aid, and most ITPs supply the user with an extensive set of facilities to improve automation. However, the blackbox nature of most ..."
Abstract

Cited by 2 (2 self)
 Add to MetaCart
Interactive Theorem Provers (ITPs) are tools meant to assist the user during the formal development of mathematics. Automatic proof searching procedures are a desirable aid, and most ITPs supply the user with an extensive set of facilities to improve automation. However, the blackbox nature of most automatic procedure conflicts with the interactive nature of these tools: a newcomer running an automatic procedure learns nothing by its execution (especially in case of failure), and a trained user has no opportunities to interactively guide the procedure towards the solution, e.g. pruning wrong or not promising branches of the search tree. In this paper we discuss the implementation of the resolution based automatic procedure of the Matita ITP, explicitly conceived to be interactively driven by the user through a suitable, simple graphical interface. Keywords: Interactive theorem proving, SLD resolution, automation
Tactics for reasoning modulo AC in Coq
 In First International Conf. on Certified Programs and Proofs
, 2011
"... Abstract. We present a set of tools for rewriting modulo associativity and commutativity (AC) in Coq, solving a longstanding practical problem. We use two building blocks: first, an extensible reflexive decision procedure for equality modulo AC; second, an OCaml plugin for pattern matching modulo ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Abstract. We present a set of tools for rewriting modulo associativity and commutativity (AC) in Coq, solving a longstanding practical problem. We use two building blocks: first, an extensible reflexive decision procedure for equality modulo AC; second, an OCaml plugin for pattern matching modulo AC. We handle associative only operations, neutral elements, uninterpreted function symbols, and userdefined equivalence relations. By relying on typeclasses for thereification phase, we can infer these properties automatically, so that endusers do not need to specify which operation is A or AC, or which constant is a neutral element. 1