Results 1  10
of
11
HighLevel Theories ⋆
, 2008
"... Abstract. We introduce highlevel theories in analogy with highlevel programming languages. The basic point is that even though one can define many theories via simple, lowlevel axiomatizations, that is neither an effective nor a comfortable way to work with such theories. We present an approach w ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
Abstract. We introduce highlevel theories in analogy with highlevel programming languages. The basic point is that even though one can define many theories via simple, lowlevel axiomatizations, that is neither an effective nor a comfortable way to work with such theories. We present an approach which is closer to what users of mathematics employ, while still being based on formal structures. 1
LFP – A Logical Framework with External Predicates
"... The LFP Framework is an extension of the HarperHonsellPlotkin’s Edinburgh Logical Framework LF with external predicates. This is accomplished by defining lock type constructors, which are a sort of ⋄modality constructors, releasing their argument under the condition that a possibly external predi ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
The LFP Framework is an extension of the HarperHonsellPlotkin’s Edinburgh Logical Framework LF with external predicates. This is accomplished by defining lock type constructors, which are a sort of ⋄modality constructors, releasing their argument under the condition that a possibly external predicate is satisfied on an appropriate typed judgement. Lock types are defined using the standard pattern of constructive type theory, i.e. via introduction, elimination, and equality rules. Using LFP, one can factor out the complexity of encoding specific features of logical systems which, otherwise, would be awkwardly encoded in LF, e.g. sideconditions in the application of rules in Modal Logics, and substructural rules, as in noncommutative Linear Logic. The idea of LFP is that these conditions need only to be specified, while their verification can be delegated to an external proof engine, in the style of the Poincaré Principle. We investigate and characterize the metatheoretical properties of the calculus underpinning LFP: strong normalization, confluence, and subject reduction. This latter property holds under the assumption that the predicates are wellbehaved, i.e. closed under weakening, permutation, substitution, and reduction in the arguments.
HigherOrder Encodings with Constructors
, 2008
"... As programming languages become more complex, there is a growing call in the research community for machinechecked proofs about programming languages. A key obstacle to this goal is in formalizing name binding, where a new name is created in a limited scope. Name binding is used in almost every pro ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
As programming languages become more complex, there is a growing call in the research community for machinechecked proofs about programming languages. A key obstacle to this goal is in formalizing name binding, where a new name is created in a limited scope. Name binding is used in almost every programming language to refer to the formal arguments to a function. For example, the function f (x) = x ∗ 2, which doubles its argument, binds the name x for its formal argument. Though this concept is intuitively straightforward, it is complex to define precisely because of the intended properties of name binding. For example, the above function is considered “syntactically equivalent ” to f (y) = y ∗ 2. It is the goal of this dissertation to posit a new technique for encoding name binding, called HigherOrder Encodings with Constructors or HOEC. HOEC encodes name binding with a construct called the νabstraction, which binds new constructors in a limited scope. These constructors can then be used to encode names. νabstractions already have the required properties of name bindings, so name binding need only be ii formalized once, in the definition of the νabstraction. The user thus then gets name
Team Pareo Formal Islands: Foundations and Applications
"... c t i v it y e p o r t 2008 Table of contents ..."
An Open Logical Framework ⋆
"... on the occasion of his 60th birthday Abstract. The LFP Framework is an extension of the HarperHonsellPlotkin’s Edinburgh Logical Framework LF with external predicates, hence the name Open Logical Framework. This is accomplished by defining lock type constructors, which are a sort of ⋄modality con ..."
Abstract
 Add to MetaCart
on the occasion of his 60th birthday Abstract. The LFP Framework is an extension of the HarperHonsellPlotkin’s Edinburgh Logical Framework LF with external predicates, hence the name Open Logical Framework. This is accomplished by defining lock type constructors, which are a sort of ⋄modality constructors, releasing their argument under the condition that a possibly external predicate is satisfied on an appropriate typed judgement. Lock types are defined using the standard pattern of constructive type theory, i.e. via introduction, elimination, and equality rules. Using LFP, one can factor out the complexity of encoding specific features of logical systems which would otherwise be awkwardly encoded in LF, e.g. sideconditions in the application of rules in Modal Logics, and substructural rules, as in noncommutative Linear Logic. The idea of LFP is that these conditions need only to be specified, while their verification can be delegated to an external proof engine, in the style of the Poincaré Principle or Deduction Modulo. Indeed such paradigms can be adequately formalized in LFP. We investigate and characterize the metatheoretical properties of the calculus underpinning LFP: strong normalization, confluence, and subject reduction. This latter property holds under the assumption that the predicates are wellbehaved, i.e. closed under weakening, permutation, substitution, and reduction in the arguments. Moreover, we
Abstract VeriML: A dependentlytyped, userextensible and languagecentric approach to proof assistants
, 2013
"... Software certification is a promising approach to producing programs which are virtually free of bugs. It requires the construction of a formal proof which establishes that the code in question will behave according to its specification – a higherlevel description of its functionality. The construc ..."
Abstract
 Add to MetaCart
Software certification is a promising approach to producing programs which are virtually free of bugs. It requires the construction of a formal proof which establishes that the code in question will behave according to its specification – a higherlevel description of its functionality. The construction of such formal proofs is carried out in tools called proof assistants. Advances in the current stateoftheart proof assistants have enabled the certification of a number of complex and realistic systems software. Despite such success stories, largescale proof development is an arcane art that requires significant manual effort and is extremely timeconsuming. The widely accepted best practice for limiting this effort is to develop domainspecific automation procedures to handle all but the most essential steps of proofs. Yet this practice is rarely followed or needs comparable development effort as well. This is due to a profound architectural shortcoming of existing proof assistants: developing automation procedures is currently overly complicated and errorprone. It involves the use of an amalgam of extension languages, each with a different programming model and a set of limitations, and with significant interfacing problems between them. This thesis posits that this situation can be significantly improved by designing a proof assistant with extensibility as the central focus. Towards that effect, I have designed a novel programming language called