Results 11  20
of
28
Stretching First Order Equational Logic: Proofs with Partiality, Subtypes and Retracts
 Proceedings, Workshop on First Order Theorem Proving
, 1998
"... It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic ..."
Abstract

Cited by 4 (2 self)
 Add to MetaCart
(Show Context)
It is widely recognized that equational logic is simple, (relatively) decidable, and (relatively) easily mechanized. But it is also widely thought that equational logic has limited applicability because it cannot handle subtypes or partial functions. We show that a modest stretch of equational logic effectively handles these features. Space limits preclude a full theoretical treatment, so we often sketch, motivate and exemplify.
A Model for I/O in Equational Languages with Don't Care NonDeterminism
 In [DHO95
, 1995
"... Existing models for I/O in sideeffect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don&apos ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Existing models for I/O in sideeffect free languages focus on functional languages, which are usually based on a largely deterministic reduction strategy, allowing for a strict sequentialization of I/O operations. In concurrent logic programming languages a model is used which allows for don't care nondeterminism; the sequentialization of I/O is extensional rather than intensional. We apply this model to equational languages, which are closely related to functional languages, but exhibit don't care nondeterminism. The semantics are formulated as constrained narrowing, a relation that contains the rewrite relation, and is contained in the narrowing relation. We present constrained narrowing and some of its properties; a constructive method to transform conventional term rewriting systems to constrained narrowing systems; and a discussion on requirements for an implementation. CR Subject Classification (1991): D.1.1 [Programming Techniques]: Applicative (Functional) Programm...
Polymorphically ordersorted types in OBJ3
, 1997
"... . OBJ3 [GWM + 93] is a functional programming language with firstorder function types. OBJ3 has two special features: overloading of function symbols and the possibility to order the sorts. This ordering is induced by set inclusion on the carrier sets. We call the feature to be able to order ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
(Show Context)
. OBJ3 [GWM + 93] is a functional programming language with firstorder function types. OBJ3 has two special features: overloading of function symbols and the possibility to order the sorts. This ordering is induced by set inclusion on the carrier sets. We call the feature to be able to order the sorts inclusion set subtyping. The algebraic semantics of OBJ3 is based on the theory of ordersorted algebras [GM89]. Furthermore, OBJ3 allows parameterized programming [Gog90]. However, the concepts of higherorder functions and parametric polymorphism are only emulated by parameters of OBJ3 modules. In this paper we show how to extend OBJ3 by parametric polymorphism in an elegant way. We call this extended language OBJP. In the second part of the paper we describe the operational semantics of OBJP. The operational semantics is a translation of OBJP programs into programs without overloading and subtypes. Here, we improve the approaches of Goguen, Jouannaud, and Mesegu...
Interpretive Language Implementation From A Layered Operational Model
 IN PROC. 5TH INT. CONF ON COMPUTING AND INFORMATION
, 1993
"... This paper describes a technique for the automatic generation of an interpretive implementation for a programming language from a layered operational semantic description of the language. Layers in the semantic model represent levels of abstraction which correspond to the needs of various classes ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
This paper describes a technique for the automatic generation of an interpretive implementation for a programming language from a layered operational semantic description of the language. Layers in the semantic model represent levels of abstraction which correspond to the needs of various classes of user of the semantic description (programmers, language designers, and so on). The layers are built one atop the other, with the innermost layer of the model being based on the algebraic specification of abstract data types. Different kinds of user can thus use the same language definition, examining it to differing levels of detail. The complete layered programming language definition can be submitted to a system which automatically generates an interpretive implementation of the language. The implementation will hence be consistent with the description of the language being used by each kind of user. In particular, this technique presents many advantages for language designers, ...
Incremental Checking of WellFounded Recursive Specifications Modulo Axioms
, 2011
"... We introduce the notion of wellfounded recursive ordersorted equational logic (OS) theories modulo axioms. Such theories define functions by wellfounded recursion and are inherently terminating. Moreover, for wellfounded recursive theories important properties such as confluence and sufficient c ..."
Abstract
 Add to MetaCart
We introduce the notion of wellfounded recursive ordersorted equational logic (OS) theories modulo axioms. Such theories define functions by wellfounded recursion and are inherently terminating. Moreover, for wellfounded recursive theories important properties such as confluence and sufficient completeness are modular for socalled fair extensions. This enables us to incrementally check these properties for hierarchies of such theories that occur naturally in modular rulebased functional programs. Wellfounded recursive OS theories modulo axioms contain only commutativity and associativitycommutativity axioms. In order to support arbitrary combinations of associativity, commutativity and identity axioms, we show how to eliminate identity and (under certain conditions) associativity (without commutativity) axioms by theory transformations in the last part of the paper.
A Reflective Framework for Formal Interoperability
, 1998
"... In practice we find ourselves in constant need of moving back and forth between different formalizations capturing different aspects of a system. For example, in a large software system we typically have very different requirements, such as functional correctness, performance, realtime behavior, co ..."
Abstract
 Add to MetaCart
In practice we find ourselves in constant need of moving back and forth between different formalizations capturing different aspects of a system. For example, in a large software system we typically have very different requirements, such as functional correctness, performance, realtime behavior, concurrency, security, and fault tolerance, which correspond to different views of the system and that are typically expressed in different formal systems. Often these requirements affect each other, but it can be extremely difficult to reason about their mutual interaction, and no tools exist to support such reasoning. This situation is very unsatisfactory, and presents one of the biggest obstacles to the use of formal methods in software engineering because, given the complexity of large software systems, it is a fact of life that no single perspective, no single formalization or level of abstraction suffices to represent a system and reason about its behavior. We need (meta)formal methods and tools to achieve Formal Interoperability, that is, the capacity to move in a mathematically rigorous way across the different formalizations of a system, and to use in a rigorously integrated way the different tools supporting these formalizations. We will develop new, formal interoperability methodologies and generic metatools that are expected to achieve dramatic advances in software technology and formal methods:
Termination of OrderSorted Rewriting with NonMinimal Signatures Yoshinobu KAWABE
"... this paper, we extend the Gnaedig's results [2][3] on termination of ordersorted rewriting. Gnaedig required a condition for ordersorted signatures, called minimality, for the termination proof. We get rid of this restriction by introducing a transformation from a TRS with an arbitrary orders ..."
Abstract
 Add to MetaCart
this paper, we extend the Gnaedig's results [2][3] on termination of ordersorted rewriting. Gnaedig required a condition for ordersorted signatures, called minimality, for the termination proof. We get rid of this restriction by introducing a transformation from a TRS with an arbitrary ordersorted signature to another TRS with a minimal signature, and proving that this transformation preserves termination.
Algebraic System Specification and Development: Survey and Annotated Bibliography  Second Edition 
, 1997
"... Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . ..."
Abstract
 Add to MetaCart
Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.5.4 Special Approaches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 4.6 Semantics of Programming Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.1 Semantics of Ada . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.6.2 Action Semantics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 4.7 Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.1 Early Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . . 53 4.7.2 Recent Algebraic Specification Languages . . . . . . . . . . . . . . . . . . . . . . . 55 4.7.3 The Common Framework Initiative. . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5 Methodology 57 5.1 Development Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 5.1.1 Applica...
On Modularity of Completeness in OrderSorted Term Rewriting Systems
"... . In this paper, we extend the results on the modularity of confluence and termination of singlesorted TRSs[3][6][7] to ordersorted ones. Ordersorted TRSs build a good framework for handling overloaded functions and subtypes. For proving modularity of completeness of ordersorted TRSs, we first tr ..."
Abstract
 Add to MetaCart
. In this paper, we extend the results on the modularity of confluence and termination of singlesorted TRSs[3][6][7] to ordersorted ones. Ordersorted TRSs build a good framework for handling overloaded functions and subtypes. For proving modularity of completeness of ordersorted TRSs, we first transform a TRS with overloaded functions to a nonoverloaded one, and then we demonstrate that our transformation preserves completeness. 1 Introduction Term rewriting system (TRS) can be viewed as a framework for implementing functional programming languages. Ordersorted TRS is a sorted model in which programs manipulate several kinds of objects, thus it is more suitable than the homogeneous one to treat computable objects in software systems. Moreover, ordersorted TRS has a good framework to handle partially defined functions and inclusion of sorts. Hence, its importance is constantly increasing. Indeed, many executable specification languages like OBJ3[4] have an operational semantics b...
Lazy Type Checking in Functional Logic Programming
"... In this paper we propose a lazy functional and logic language with a type system combining parametric and inclusion polymorphism. Programs in this language consist of an specication of parametric and ordered types together with a set of type declarations for data constructors and functions and a ..."
Abstract
 Add to MetaCart
In this paper we propose a lazy functional and logic language with a type system combining parametric and inclusion polymorphism. Programs in this language consist of an specication of parametric and ordered types together with a set of type declarations for data constructors and functions and a set of conditional constructor based rewriting rules describing the behaviour of functions, where the conditional part includes data and type conditions. In order to dene the semantics of the language we present a typed rewriting logic by means of two inference calculi, which allow to prove the validity of welltyped formulas w.r.t. a program. The operational semantics of the language is presented by means of a typed lazy narrowing calculus for goal solving which combines equational solving, lazy unication, sharing and type checking. In order to keep up the laziness of the language a lazy type checking is achieved during the goal solving process. We state soundness and complete...