Results 11  20
of
20
Specifying in Coq inheritance used in Computer Algebra Libraries
, 2000
"... This paper is part of FOC[3] a project for developing Computer Algebra libraries, certified in Coq [2]. FOC has developed a methodology for programming Computer Algebra libraries, using modules and objects in Ocaml. In order to specify modularity features used by FOC in Ocaml, we are coding in Coq a ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This paper is part of FOC[3] a project for developing Computer Algebra libraries, certified in Coq [2]. FOC has developed a methodology for programming Computer Algebra libraries, using modules and objects in Ocaml. In order to specify modularity features used by FOC in Ocaml, we are coding in Coq a theory for extensible records with dependent fields. This theory intends to express especially the kind of inheritance with method redefinition and late binding, that FOC uses in its Ocaml programs. The unit of FOC are coded as records. As we want to encode semantic information on units, the fields of our records may be proofs. Thus, our fields may depend on each others. We called them Drecords. Then, we introduce a new datatype, called mixDrec, to represent FOC classes. Actually, mixDrecs are useful for describing a hierarchy of Drecords in a incremental way. In mixDrecs, fields can be only declared or they can be redefined. MixDrecs can be extended by inheritance.
Certifying Term Rewriting Proofs in ELAN
, 2001
"... Term rewriting has been shown to be a good environment for both programming and proving. For analysing and debugging rulebased programs, we propose in this work a formalism based on the rewriting calculus with explicit substitutions ( calculus). This formalism also allows us to build the proof ter ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Term rewriting has been shown to be a good environment for both programming and proving. For analysing and debugging rulebased programs, we propose in this work a formalism based on the rewriting calculus with explicit substitutions ( calculus). This formalism also allows us to build the proof terms of rewriting derivations. Therefore, term rewriting proofs can be exported to other systems by translating them into the corresponding syntaxes. That is, using a proof checker, one can certify these proofs and vice versa, this method allows us to get term rewriting in proof assistants using an external system. Our method not only works with syntactic rewriting but also with rewriting modulo a set of axioms (e.g. associativitycommutativity).
Practical Inference for TypedBased Termination in a Polymorphic Setting
"... We introduce a polymorphic #calculus that features inductive types and that enforces termination of recursive definitions through typing. Then, we define a sound and complete type inference algorithm that computes a set of constraints to be satisfied for terms to be typable. ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We introduce a polymorphic #calculus that features inductive types and that enforces termination of recursive definitions through typing. Then, we define a sound and complete type inference algorithm that computes a set of constraints to be satisfied for terms to be typable.
Formalizing Arrow’s theorem
"... Abstract. We present a small project in which we encoded a proof of Arrow’s theorem – probably the most famous results in the economics field of social choice theory – in the computer using the Mizar system. We both discuss the details of this specific project, as well as describe the process of for ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. We present a small project in which we encoded a proof of Arrow’s theorem – probably the most famous results in the economics field of social choice theory – in the computer using the Mizar system. We both discuss the details of this specific project, as well as describe the process of formalization (encoding proofs in the computer) in general. Keywords: formalization of mathematics, Mizar, social choice theory, Arrow’s theorem, GibbardSatterthwaite theorem, proof errors.
Extracting a normalization algorithm in Isabelle/HOL
 TYPES FOR PROOFS AND PROGRAMS, INTERNATIONAL WORKSHOP, TYPES 2004, JOUYENJOSAS
, 2004
"... We present a formalization of a constructive proof of weak normalization for the simplytyped λcalculus in the theorem prover Isabelle/HOL, and show how a program can be extracted from it. Unlike many other proofs of weak normalization based on Tait’s strong computability predicates, which require ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We present a formalization of a constructive proof of weak normalization for the simplytyped λcalculus in the theorem prover Isabelle/HOL, and show how a program can be extracted from it. Unlike many other proofs of weak normalization based on Tait’s strong computability predicates, which require a logic supporting strong eliminations and can give rise to dependent types in the extracted program, our formalization requires only relatively simple proof principles. Thus, the program obtained from this proof is typable in simplytyped higherorder logic as implemented in Isabelle/HOL, and a proof of its correctness can automatically be derived within the system.
A certified implementation of ML with structural polymorphism
 In Proceedings of the 8th Asian conference on Programming Languages and Systems, APLAS’10
, 2010
"... Abstract. The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. We ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Abstract. The type system of Objective Caml has many unique features, which make ensuring the correctness of its implementation difficult. One of these features is structurally polymorphic types, such as polymorphic object and variant types, which have the extra specificity of allowing recursion. We implemented in Coq a certified interpreter for Core ML extended with structural polymorphism and recursion. Along with type soundness of evaluation, soundness and principality of type inference are also proved. 1
UITP 2010 Pollackinconsistency
"... For interactive theorem provers a very desirable property is consistency: it should not be possible to prove false theorems. However, this is not enough: it also should not be possible to think that a theorem that actually is false has been proved. More precisely: the user should be able to know wha ..."
Abstract
 Add to MetaCart
For interactive theorem provers a very desirable property is consistency: it should not be possible to prove false theorems. However, this is not enough: it also should not be possible to think that a theorem that actually is false has been proved. More precisely: the user should be able to know what it is that the interactive theorem prover is proving. To make these issues concrete we introduce the notion of Pollackconsistency. This property is related to a system being able to correctly parse formulas that it printed itself. In current systems it happens regularly that this fails. We argue that a good interactive theorem prover should be Pollackconsistent. We show with examples that many interactive theorem provers currently are not Pollackconsistent. Finally we describe a simple approach for making a system Pollackconsistent, which only consists of a small modification to the printing code of the system. The most intelligent creature in the universe is a rock. None would know it because they have lousy I/O. — quote from the Internet