4,980 research outputs found
Representing Isabelle in LF
LF has been designed and successfully used as a meta-logical framework to
represent and reason about object logics. Here we design a representation of
the Isabelle logical framework in LF using the recently introduced module
system for LF. The major novelty of our approach is that we can naturally
represent the advanced Isabelle features of type classes and locales.
Our representation of type classes relies on a feature so far lacking in the
LF module system: morphism variables and abstraction over them. While
conservative over the present system in terms of expressivity, this feature is
needed for a representation of type classes that preserves the modular
structure. Therefore, we also design the necessary extension of the LF module
system.Comment: In Proceedings LFMTP 2010, arXiv:1009.218
Encoding a Dependent-Type Lambda-Calculus in a Logic Programming Language
Various forms of typed λ-calculi have been proposed as specification languages for representing wide varieties of object logics. The logical framework, LF, is an example of such a dependent-type λ-calculus. A small subset of intuitionistic logic with quantification over simply typed λ-calculus has also been proposed as a framework for specifying general logics. The logic of hereditary Harrop formulas with quantification at all non-predicate types, denoted here as hhω, is such a meta-logic that has been implemented in both the Isabelle theorem prover and the λProlog logic programming language. Both frameworks provide for specifications of logics in which details involved with free and bound variable occurrences, substitutions, eigenvariables, and the scope of assumptions within object logics are handled correctly and elegantly at the meta level. In this paper, we show how LF can be encoded into hhω in a direct and natural way by mapping the typing judgments in LF into propositions in the logic of hhω. This translation establishes a very strong connection between these two languages: the order of quantification in an LF signature is exactly the order of a set of hhω clauses, and the proofs in one system correspond directly to proofs in the other system. Relating these two languages makes it possible to provide implementations of proof checkers and theorem provers for logics specified in LF by using standard logic programming techniques which can be used to implement hhω
Towards MKM in the Large: Modular Representation and Scalable Software Architecture
MKM has been defined as the quest for technologies to manage mathematical
knowledge. MKM "in the small" is well-studied, so the real problem is to scale
up to large, highly interconnected corpora: "MKM in the large". We contend that
advances in two areas are needed to reach this goal. We need representation
languages that support incremental processing of all primitive MKM operations,
and we need software architectures and implementations that implement these
operations scalably on large knowledge bases.
We present instances of both in this paper: the MMT framework for modular
theory-graphs that integrates meta-logical foundations, which forms the base of
the next OMDoc version; and TNTBase, a versioned storage system for XML-based
document formats. TNTBase becomes an MMT database by instantiating it with
special MKM operations for MMT.Comment: To appear in The 9th International Conference on Mathematical
Knowledge Management: MKM 201
Translating HOL to Dedukti
Dedukti is a logical framework based on the lambda-Pi-calculus modulo
rewriting, which extends the lambda-Pi-calculus with rewrite rules. In this
paper, we show how to translate the proofs of a family of HOL proof assistants
to Dedukti. The translation preserves binding, typing, and reduction. We
implemented this translation in an automated tool and used it to successfully
translate the OpenTheory standard library.Comment: In Proceedings PxTP 2015, arXiv:1507.0837
Workshop on Verification and Theorem Proving for Continuous Systems (NetCA Workshop 2005)
Oxford, UK, 26 August 200
Encoding a dependent-type -calculus in a logic programming language
Various forms of typed l-calculi have been proposed as specification languages for representing wide varieties of object logics. The logical framework, LF is an example of such a dependent-type l-calculus. A small subset of intuitionistic logic with quantification over simply typed l-calculus has also been proposed as a framework for specifying general logics. The logic of hereditary Harrop formulas with quantification at all non-predicate types, denoted here as hhw is such a meta-logic that has been implemented in both the Isabelle theorem prover and the lProlog logic programming language. In this paper, we show how LF can be encoded into hhw in a direct and natural way by mapping the typing judgments in LF into propositions in the logic of hhw. This translation establishes a strong connection between these two languages : the order of quantification in an LF signature is exactly the order of a set of hhw clauses and the proofs in one system correspond directly to proofs in the other system
A Case Study on Logical Relations using Contextual Types
Proofs by logical relations play a key role to establish rich properties such
as normalization or contextual equivalence. They are also challenging to
mechanize. In this paper, we describe the completeness proof of algorithmic
equality for simply typed lambda-terms by Crary where we reason about logically
equivalent terms in the proof environment Beluga. There are three key aspects
we rely upon: 1) we encode lambda-terms together with their operational
semantics and algorithmic equality using higher-order abstract syntax 2) we
directly encode the corresponding logical equivalence of well-typed
lambda-terms using recursive types and higher-order functions 3) we exploit
Beluga's support for contexts and the equational theory of simultaneous
substitutions. This leads to a direct and compact mechanization, demonstrating
Beluga's strength at formalizing logical relations proofs.Comment: In Proceedings LFMTP 2015, arXiv:1507.0759
- …