Results 1  10
of
30
Type Classes and Overloading in HigherOrder Logic
 Theorem Proving in Higher Order Logics: TPHOLs ’97, LNCS 1275
, 1997
"... Type classes and overloading are shown to be independent concepts that can both be added to simple higherorder logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, modeltheoretic issues are not affected. Our metalogical results may serve as a ..."
Abstract

Cited by 69 (7 self)
 Add to MetaCart
Type classes and overloading are shown to be independent concepts that can both be added to simple higherorder logics in the tradition of Church and Gordon, without demanding more logical expressiveness. In particular, modeltheoretic issues are not affected. Our metalogical results may serve as a foundation of systems like Isabelle/Pure that offer the user Haskellstyle ordersorted polymorphism as an extended syntactic feature. The latter can be used to describe simple abstract theories with a single carrier type and a fixed signature of operations.
The Requirement and Design Specification Language SPECTRUM  An Informal Introduction
, 1993
"... This paper gives a short introduction to the algebraic specification language Spectrum. Using simple, wellknown examples, the objectives and concepts of Spectrum are explained. The Spectrum language is based on axiomatic specification techniques and is oriented towards functional programs. Spectru ..."
Abstract

Cited by 36 (3 self)
 Add to MetaCart
This paper gives a short introduction to the algebraic specification language Spectrum. Using simple, wellknown examples, the objectives and concepts of Spectrum are explained. The Spectrum language is based on axiomatic specification techniques and is oriented towards functional programs. Spectrum includes the following features: ffl partial functions, definedness logic and fixed point theory ffl higherorder elements and typed abstraction ffl nonstrict functions and infinite objects ffl full firstorder predicate logic with induction principles ffl predicative polymorphism with sort classes ffl parameterization and modularization Spectrum is based on the concept of loose semantics.
HOLCF: Higher Order Logic of Computable Functions
 In Theorem Proving in Higher Order Logics, volume 971 of LNCS
, 1995
"... . This paper presents a survey of HOLCF, a higher order logic of computable functions. The logic HOLCF is based on HOLC, a variant of the well known higher order logic HOL, which offers the additional concept of type classes. HOLCF extends HOLC with concepts of domain theory such as complete pa ..."
Abstract

Cited by 24 (0 self)
 Add to MetaCart
. This paper presents a survey of HOLCF, a higher order logic of computable functions. The logic HOLCF is based on HOLC, a variant of the well known higher order logic HOL, which offers the additional concept of type classes. HOLCF extends HOLC with concepts of domain theory such as complete partial orders, continuous functions and a fixed point operator. With the help of type classes the extension can be formulated in a way such that the logic LCF constitutes a proper sublanguage of HOLCF. Therefore techniques from higher order logic and LCF can be combined in a fruitful manner avoiding drawbacks of both logics. The development of HOLCF was entirely conducted within the Isabelle system. 1 Introduction This paper presents a survey of HOLCF, a higher order logic of computable functions. The logic HOLCF is based on HOLC, a variant of the well known higher order logic HOL [GM93], which offers the additional concept of type classes. HOLCF extends HOLC with concepts of domain t...
SourceLevel Proof Reconstruction for Interactive Theorem Proving
"... Abstract. Interactive proof assistants should verify the proofs they receive from automatic theorem provers. Normally this proof reconstruction takes place internally, forming part of the integration between the two tools. We have implemented sourcelevel proof reconstruction: resolution proofs are ..."
Abstract

Cited by 17 (2 self)
 Add to MetaCart
Abstract. Interactive proof assistants should verify the proofs they receive from automatic theorem provers. Normally this proof reconstruction takes place internally, forming part of the integration between the two tools. We have implemented sourcelevel proof reconstruction: resolution proofs are automatically translated to Isabelle proof scripts. Users can insert this text into their proof development or (if they wish) examine it manually. Each step of a proof is justified by calling Hurd’s Metis prover, which we have ported to Isabelle. A recurrent issue in this project is the treatment of Isabelle’s axiomatic type classes. 1
Axiomatic constructor classes in Isabelle/HOLCF
 In In Proc. 18th International Conference on Theorem Proving in Higher Order Logics (TPHOLs ’05), Volume 3603 of Lecture Notes in Computer Science
, 2005
"... Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This ..."
Abstract

Cited by 16 (5 self)
 Add to MetaCart
Abstract. We have definitionally extended Isabelle/HOLCF to support axiomatic Haskellstyle constructor classes. We have subsequently defined the functor and monad classes, together with their laws, and implemented state and resumption monad transformers as generic constructor class instances. This is a step towards our goal of giving modular denotational semantics for concurrent lazy functional programming languages, such as GHC Haskell. 1
The Logical Framework of SPECTRUM
"... The SPECTRUM project concentrates on the process of developing wellstructured, precise system specifications. Spectrum is a specification language, with a deduction calculus and a development methodology. An informal presentation of the SPECTRUM language with many examples illustrating its prope ..."
Abstract

Cited by 15 (6 self)
 Add to MetaCart
The SPECTRUM project concentrates on the process of developing wellstructured, precise system specifications. Spectrum is a specification language, with a deduction calculus and a development methodology. An informal presentation of the SPECTRUM language with many examples illustrating its properties is given in [BFG+93a, BFG+93b]. The purpose of this article is to describe its formal semantics.
A Proof Planning Framework for Isabelle
, 2005
"... Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully ..."
Abstract

Cited by 14 (10 self)
 Add to MetaCart
Proof planning is a paradigm for the automation of proof that focuses on encoding intelligence to guide the proof process. The idea is to capture common patterns of reasoning which can be used to derive abstract descriptions of proofs known as proof plans. These can then be executed to provide fully formal proofs. This thesis concerns the development and analysis of a novel approach to proof planning that focuses on an explicit representation of choices during search. We embody our approach as a proof planner for the generic proof assistant Isabelle and use the Isar language, which is humanreadable and machinecheckable, to represent proof plans. Within this framework we develop an inductive theorem prover as a case study of our approach to proof planning. Our prover uses the difference reduction heuristic known as rippling to automate the step cases of the inductive proofs. The development of a flexible approach to rippling that supports its various modifications and extensions is the second major focus of this thesis. Here, our inductive theorem prover provides a context in which to evaluate rippling experimentally. This work results in an efficient and powerful inductive theorem prover for Isabelle as well as proposals for further improving the efficiency of rippling. We also draw observations in order
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 thread of HOL development
 Computer Journal
"... The HOL system is a mechanized proof assistant for higher order logic that has been under continuous development since the mid1980s, by an everchanging group of developers and external contributors. We give a brief overview of various implementations of the HOL logic before focusing on the evoluti ..."
Abstract

Cited by 11 (7 self)
 Add to MetaCart
The HOL system is a mechanized proof assistant for higher order logic that has been under continuous development since the mid1980s, by an everchanging group of developers and external contributors. We give a brief overview of various implementations of the HOL logic before focusing on the evolution of certain important features available in a recent implementation. We also illustrate how the module system of Standard ML provided security and modularity in the construction of the HOL kernel, as well as serving in a separate capacity as a useful representation medium for persistent, hierarchical logical theories.
Organizing numerical theories using axiomatic type classes
 Journal of Automated Reasoning
, 2004
"... Mathematical reasoning may involve several arithmetic types, including those of the natural, integer, rational, real and complex numbers. These types satisfy many of the same algebraic laws. These laws need to be made available to users, uniformly and preferably without repetition, but with due acco ..."
Abstract

Cited by 9 (2 self)
 Add to MetaCart
Mathematical reasoning may involve several arithmetic types, including those of the natural, integer, rational, real and complex numbers. These types satisfy many of the same algebraic laws. These laws need to be made available to users, uniformly and preferably without repetition, but with due account for the peculiarities of each type. Subtyping, where a type inherits properties from a supertype, can eliminate repetition only for a fixed type hierarchy set up in advance by implementors. The approach recently adopted for Isabelle uses axiomatic type classes, an established approach to overloading. Abstractions such as semirings, rings, fields and their ordered counterparts are defined and theorems are proved algebraically. Types that meet the abstractions inherit the appropriate theorems. 1