Results 1  10
of
17
SemanticsBased Translation Methods for Modal Logics
, 1991
"... A general framework for translating logical formulae from one logic into another logic is presented. The framework is instantiated with two different approaches to translating modal logic formulae into predicate logic. The first one, the well known ‘relational’ translation makes the modal logic’s po ..."
Abstract

Cited by 40 (1 self)
 Add to MetaCart
A general framework for translating logical formulae from one logic into another logic is presented. The framework is instantiated with two different approaches to translating modal logic formulae into predicate logic. The first one, the well known ‘relational’ translation makes the modal logic’s possible worlds structure explicit by introducing a distinguished predicate symbol to represent the accessibility relation. In the second approach, the ‘functional ’ translation method, paths in the possible worlds structure are represented by compositions of functions which map worlds to accessible worlds. On the syntactic level this means that every flexible symbol is parametrized with particular terms denoting whole paths from the initial world to the actual world. The ‘target logic’ for the translation is a firstorder manysorted logic with built in equality. Therefore the ‘source logic’ may also be firstorder manysorted with built in equality. Furthermore flexible function symbols are allowed. The modal operators may be parametrized with arbitrary terms and particular properties of the accessibility relation may be specified within the
Ordersorted polymorphism in isabelle
 Logical Environments
, 1993
"... MLstyle polymorphism can be generalized from a singlesorted algebra of types to an ordersorted one by adding a partially ordered layer of “sorts ” on top of the types. Type inference proceeds as in the Hindley/Milner system, except that ordersorted unification of types is used. The resulting sys ..."
Abstract

Cited by 33 (2 self)
 Add to MetaCart
MLstyle polymorphism can be generalized from a singlesorted algebra of types to an ordersorted one by adding a partially ordered layer of “sorts ” on top of the types. Type inference proceeds as in the Hindley/Milner system, except that ordersorted unification of types is used. The resulting system has been implemented in Isabelle to permit type variables to range over userdefinable subsets of all types. Ordersorted polymorphism allows a simple specification of type restrictions in many logical systems. It accommodates userdefined parametric overloading and allows for a limited form of abstract axiomatic reasoning. It can also explain type inference with Standard ML’s equality types and Haskell’s type classes. 1
A bidirectional refinement type system for LF
 Electronic Notes in Theoretical Computer Science, 196:113–128, January 2008. [NPP07] [Pfe92] [Pfe93] [Pfe01] Aleksandar Nanevski, Frank Pfenning, and Brigitte
"... We present a system of refinement types for LF in the style of recent formulations where only canonical forms are welltyped. Both the usual LF rules and the rules for type refinements are bidirectional, leading to a straightforward proof of decidability of typechecking even in the presence of inter ..."
Abstract

Cited by 14 (8 self)
 Add to MetaCart
We present a system of refinement types for LF in the style of recent formulations where only canonical forms are welltyped. Both the usual LF rules and the rules for type refinements are bidirectional, leading to a straightforward proof of decidability of typechecking even in the presence of intersection types. Because we insist on canonical forms, structural rules for subtyping can now be derived rather than being assumed as primitive. We illustrate the expressive power of our system with several examples in the domain of logics and programming languages.
Constructive type classes in Isabelle
 TYPES FOR PROOFS AND PROGRAMS
, 2007
"... We reconsider the wellknown concept of Haskellstyle type classes within the logical framework of Isabelle. So far, axiomatic type classes in Isabelle merely account for the logical aspect as predicates over types, while the operational part is only a convention based on raw overloading. Our more e ..."
Abstract

Cited by 13 (6 self)
 Add to MetaCart
We reconsider the wellknown concept of Haskellstyle type classes within the logical framework of Isabelle. So far, axiomatic type classes in Isabelle merely account for the logical aspect as predicates over types, while the operational part is only a convention based on raw overloading. Our more elaborate approach to constructive type classes provides a seamless integration with Isabelle locales, which are able to manage both operations and logical properties uniformly. Thus we combine the convenience of type classes and the flexibility of locales. Furthermore, we construct dictionary terms derived from notions of the type system. This additional internal structure provides satisfactory foundations of type classes, and supports further applications, such as code generation and export of theories and theorems to environments without type classes.
A code generator framework for Isabelle/HOL
 Department of Computer Science, University of Kaiserslautern
, 2007
"... Abstract. We present a code generator framework for Isabelle/HOL. It formalizes the intermediate stages between the purely logical description in terms of equational theorems and a programming language. Correctness of the translation is established by giving the intermediate languages (a subset of H ..."
Abstract

Cited by 10 (4 self)
 Add to MetaCart
Abstract. We present a code generator framework for Isabelle/HOL. It formalizes the intermediate stages between the purely logical description in terms of equational theorems and a programming language. Correctness of the translation is established by giving the intermediate languages (a subset of Haskell) an equational semantics and relating it back to the logical level. To allow code generation for SML, we present and prove correct a (dictionarybased) translation eliminating type classes. The design of our framework covers different functional target languages. 1 Introduction and related work Executing formal specifications is a wellestablished topic and many theorem provers support this activity by generating code in a standard programming language from a logical description, typically by translating an internal functional language to an external one:
A Note on Assumptions about Skolem Functions
, 1997
"... . Skolemization is not an equivalence preserving transformation. For the purposes of refutational theorem proving it is suÆcient that Skolemization preserves satisability and unsatis ability. Therefore there is sometimes some freedom in interpreting Skolem functions in a particular way. We show tha ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
. Skolemization is not an equivalence preserving transformation. For the purposes of refutational theorem proving it is suÆcient that Skolemization preserves satisability and unsatis ability. Therefore there is sometimes some freedom in interpreting Skolem functions in a particular way. We show that in certain cases it is possible to exploit this freedom for simplifying formulae considerably. Examples for cases where this occurs systematically are the relational translation from modal logics to predicate logic and the relativization of rstorder logics with sorts. Key words: Skolemization, Refutational Theorem Proving 1. Introduction Refutational theorem proving has a certain degree of freedom which so far is not very often exploited. All kinds of transformations preserving satisability and unsatisability of the formulae to be refuted are allowed. Skolemization is a typical transformation which is not equivalence preserving but satisability and unsatis ability preserving. Bu...
About Real Time, Calendar Systems and Temporal Notions
 Advances in Temporal Logic
, 1997
"... A specification language is presented for describing every day temporal notions, like weekends, holidays, office hours etc. The time model underlying this language exploits in a particular way the well investigated algorithms for calendar systems currently in use. All peculiarities and irregularitie ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
A specification language is presented for describing every day temporal notions, like weekends, holidays, office hours etc. The time model underlying this language exploits in a particular way the well investigated algorithms for calendar systems currently in use. All peculiarities and irregularities of the calendar systems, like time zones, leap years, daylight savings time are respected. The specification language and the underlying temporal model allows us to convert between arbitrary calendar systems and to decide a number of questions, for example whether a certain point in time is within the time intervals specified by a term in this language. Besides neglecting the phenomena of relativity theory, there are no idealizing assumptions. The language is the basis for a temporal logic with quantifiers over real time temporal notions.
Higherorder unification, polymorphism, and subsorts (extended abstract
 Proceedings of the 2nd International Workshop on Conditional and Typed Rewriting Systems
, 1990
"... This paper analyzes the problems that arise in extending Huet’s higherorder unification algorithm from the simply typed λcalculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet’s algorithm is discussed. This extension takes an abstract view of types ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
This paper analyzes the problems that arise in extending Huet’s higherorder unification algorithm from the simply typed λcalculus to one with type variables. A simple, incomplete, but in practice very useful extension to Huet’s algorithm is discussed. This extension takes an abstract view of types. As a particular instance we explore a type system with mlstyle polymorphism enriched with a notion of sorts. Sorts are partially ordered and classify types, thus giving rise to an ordersorted algebra of types. Type classes in the functional language Haskell can be understood as sorts in this sense. Sufficient conditions on the sort structure to ensure the existence of principal types are discussed. Finally we suggest a new type system for the λcalculus which may pave the way to a complete unification algorithm for polymorphic terms. 1
Unification in a λCalculus with Intersection Types
"... We propose related algorithms for unification and constraint simplification in !& , a refinement of the simplytyped λcalculus with subtypes and bounded intersection types. !& is intended as the basis of a logical framework in order to achieve more succinct and declarative axiomatizations of deduct ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
We propose related algorithms for unification and constraint simplification in !& , a refinement of the simplytyped λcalculus with subtypes and bounded intersection types. !& is intended as the basis of a logical framework in order to achieve more succinct and declarative axiomatizations of deductive systems than possible with the simplytyped λcalculus. The unification and constraint simplification algorithms described here lay the groundwork for a mechanization of such frameworks as constraint logic programming languages and theorem provers.
Weight Computation of Regular Tree Languages
 Journal of Applied Logic
, 2004
"... We present a general framework to define an applicationdependent weight measure on terms that subsumes e.g. total simplification orderings, and an O(n log n) algorithm for the simultaneous computation of the minimal weight of a term in the language of each nonterminal of a regular tree grammar, b ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
We present a general framework to define an applicationdependent weight measure on terms that subsumes e.g. total simplification orderings, and an O(n log n) algorithm for the simultaneous computation of the minimal weight of a term in the language of each nonterminal of a regular tree grammar, based on Barzdins' liquidflow technique.