5 research outputs found

    Inheritance hierarchies: Semantics and unification

    Get PDF
    Inheritance hierarchies are introduced as a means of representing taxonomicallyorganized data. The hierarchies are built up from so-called feature types that are ordered by subtyping and whose elements are records. Every feature type comes with a set of features prescribing fields of its record elements. So-called feature terms are available to denote subsets of feature types. Feature unification is introduced as an operation that decides whether two feature terms have a nonempty intersection and computes a feature term denoting the intersection.We model our inheritance hierarchies as algebraic specifications in ordersortedequational logic using initial algebra semantics. Our framework integrates feature types whose elements are obtained as records with constructor types whose elements are obtained by constructor application. Unification in these hierarchies combines record unification with order-sorted term unification and is presented as constraint solving. We specify a unitary unification algorithm by a set of simplification rules and prove its soundness and completeness with respect to the model-theoretic semantics

    Order-Sorted Equational Computation

    Get PDF
    The expressive power of many-sorted equational logic can be greatly enhanced by allowing for subsorts and multiple function declarations. In this paper we study some computational aspects of such a logic. We start with a self-contained introduction to order-sorted equational logic including initial algebra semantics and deduction rules. We then present a theory of order-sorted term rewriting and show that the key results for unsorted rewriting extend to sort decreasing rewriting. We continue with a review of order-sorted uni铿乧ation and prove the basic results. In the second part of the paper we study hierarchical order-sorted speci铿乧ations with strict partial functions. We de铿乶e the appropriate homomorphisms for strict algebras and show that every strict algebra is base isomorphic to a strict algebra with at most one error element. For strict speci铿乧ations, we show that their categories of strict algebras have initial objects. We validate our approach to partial functions by proving that completely de铿乶ed total functions can be de铿乶ed as partial without changing the initial algebra semantics. Finally, we provide decidable suf铿乧ient criteria for the consistency and strictness of ground con铿倁ent rewriting systems

    Derivaci贸n deductiva de programas funcionales con patrones

    Full text link
    Una de las dificultades principales en el desarrollo de software es la ausencia de un marco conceptual adecuado para su estudio. Una propuesta la constituye el modelo transformativo, que entiende el desarrollo de software como un proceso iterativo de transformaci贸n de especificaciones: se parte de una especificaci贸n inicial que va transform谩ndose sucesivamente hasta obtener una especificaci贸n final que se toma como programa. Este modelo b谩sico puede llevarse a la pr谩ctica de varias maneras. En concreto, la aproximaci贸n deductiva toma una sentencia l贸gica como especificaci贸n inicial y su proceso transformador consiste en la demostraci贸n de la sentencia; como producto secundario de la demostraci贸n se deriva un programa que satisface la especificaci贸n inicial. La tesis desarrolla un m茅todo deductivo para la derivaci贸n de programas funcionales con patrones, escritos en un lenguaje similar a Hope. El m茅todo utiliza una l贸gica multig茅nero, cuya relaci贸n con el lenguaje de programaci贸n es estudiada. Tambi茅n se identifican los esquemas de demostraci贸n necesarios para la derivaci贸n de funciones con patrones, basados en la demostraci贸n independiente de varias subsentencias. Cada subsentencia proporciona una subespecificaci贸n de una ecuaci贸n del futuro programa a derivar. Nuestro m茅todo deductivo est谩 inspirado en uno previo de Zohar Manna y Richard Waldinger, conocido como el cuadro deductivo, que deriva programas en un lenguaje similar a Lisp. El nuevo m茅todo es una modificaci贸n del cuadro de estos autores, que incorpora g茅neros y permite demostrar una especificaci贸n mediante varios cuadros. Cada cuadro demuestra una subespecificaci贸n y por tanto deriva una ecuaci贸n del programa. Se prev茅n mecanismos para que los programas derivados puedan contener definiciones locales con patrones y variables an贸nimas y sin贸nimas y para que las funciones auxiliares derivadas no usen variables de las funciones principales. La tesis se completa con varios ejemplos de aplicaci贸n, un mecanismo que independentiza el m茅todo del lenguaje de programaci贸n y un prototipo de entorno interactivo de derivaci贸n deductiva. Categor铆as y descriptores de materia CR D.l.l [T茅cnicas de programaci贸n]: Programaci贸n funcional; D.2.10 [Ingenier铆a de software]: Dise帽o - m茅todos; F.3.1 [L贸gica y significado de los programas]: Especificaci贸n, verificaci贸n y razonamiento sobre programas - l贸gica de programas; F.3.3 [L贸gica y significado de los programas]: Estudios de construcciones de programas - construcciones funcionales; esquemas de programa y de recursion; 1.2.2 [Inteligencia artificial]: Programaci贸n autom谩tica - s铆ntesis de programas; 1.2.3 [Inteligencia artificial]: Deducci贸n y demostraci贸n de teoremas]: extracci贸n de respuesta/raz贸n; inducci贸n matem谩tica. T茅rminos generales Programaci贸n funcional, s铆ntesis de programas, demostraci贸n de teoremas. Otras palabras claves y expresiones Funciones con patrones, cuadro deductivo, especificaci贸n parcial, inducci贸n estructural, teorema de descomposici贸n.---ABSTRACT---One of the main difficulties in software development is the lack of an adequate conceptual framework of study. The transformational model is one such proposal that conceives software development as an iterative process of specifications transformation: an initial specification is developed and successively transformed until a final specification is obtained and taken as a program. This basic model can be implemented in several ways. The deductive approach takes a logical sentence as the initial specification and its proof constitutes the transformational process; as a byproduct of the proof, a program which satisfies the initial specification is derived. In the thesis, a deductive method for the derivation of Hope-like functional programs with patterns is developed. The method uses a many-sorted logic, whose relation to the programming language is studied. Also the proof schemes necessary for the derivation of functional programs with patterns, based on the independent proof of several subsentences, are identified. Each subsentence provides a subspecification of one equation of the future program to be derived. Our deductive method is inspired on a previous one by Zohar Manna and Richard Waldinger, known as the deductive tableau, which derives Lisp-like programs. The new method incorporates sorts in the tableau and allows to prove a sentence with several tableaux. Each tableau proves a subspecification and therefore derives an equation of the program. Mechanisms are included to allow the derived programs to contain local definitions with patterns and anonymous and synonymous variables; also, the derived auxiliary functions cannot reference parameters of their main functions. The thesis is completed with several application examples, i mechanism to make the method independent from the programming language and an interactive environment prototype for deductive derivation. CR categories and subject descriptors D.l.l [Programming techniques]: Functional programming; D.2.10 [Software engineering]: Design - methodologies; F.3.1 [Logics and meanings of programa]: Specifying and verifying and reasoning about programs - logics of programs; F.3.3 [Logics and meanings of programs]: Studies of program constructs - functional constructs; program and recursion schemes; 1.2.2 [Artificial intelligence]: Automatic programming - program synthesis; 1.2.3 [Artificial intelligence]: Deduction and theorem proving - answer/reason extraction; mathematical induction. General tenas Functional programming, program synthesis, theorem proving. Additional key words and phrases Functions with patterns, deductive tableau, structural induction, partial specification, descomposition theorem

    A mechanization of sorted higher-order logic based on the resolution principle

    Get PDF
    The usage of sorts in first-order automated deduction has brought greater conciseness of representation and a considerable gain in efficiency by reducing the search spaces involved. This suggests that sort information can be employed in higher-order theorem proving with similar results. This thesis develops a sorted higher-order logic SUM HOL suitable for automatic theorem proving applications. SUM HOL is based on a sorted Lambda-calculus SUM A->, which is obtained by extending Church';s simply typed Lambda-calculus by a higher-order sort concept including term declarations and functional base sorts. The term declaration mechanism studied here is powerful enough to allow convenient formalization of a large body of mathematics, since it offers natural primitives for domains and codomains of functions, and allows to treat function restriction. Furthermore, it subsumes most other mechanisms for the declaration of sort information known from the literature, and can thus serve as a general framework for the study of sorted higher-order logics. For instance, the term declaration mechanism of SUM HOL subsumes the subsorting mechanism as a derived notion, and hence justifies our special form of subsort inference. We present sets of transformations for sorted higher-order unification and pre-unification, and prove the nondeterministic completeness of the algorithm induced by these transformations. The main technical difficulty of unification in ! is that the analysis of general bindings is much more involved than in the unsorted case, since in the presence of term declarations well-sortedness is not a structural property. This difficulty is overcome by a structure theorem that links the structure of a formula to the structure of its sorting derivation. We develop two notions of set-theoretic semantics for SUM HOL. General SUM-models are a direct generalization of Henkin';s general models to the sorted setting. Since no known machine-oriented calculus can adequately mechanize full extensionality, we generalize general SUM-models further to SUM-model structures, which allow full extensionality to fail. The notions of SUM-model structures and general SUM-models allow us to prove model existence theorems for them. These model-theoretic variants of Andrews unifying principle for type theory'; can be used as a powerful tool in completeness proofs of higher-order calculi. Finally, we use our pre-unification algorithms as a central inference procedure for a sorted higherorder resolution calculus in the spirit of Huet';s Constrained Resolution. This calculus is proven sound and complete with respect to our semantics. It differs from Huet';s calculus by allowing early unification strategies and using variable dependencies. For the completeness proof we make use of our model existence theorem, and prove a strong lifting lemma

    A mechanization of sorted higher-order logic based on the resolution principle

    Get PDF
    The usage of sorts in first-order automated deduction has brought greater conciseness of representation and a considerable gain in efficiency by reducing the search spaces involved. This suggests that sort information can be employed in higher-order theorem proving with similar results. This thesis develops a sorted higher-order logic SUM HOL suitable for automatic theorem proving applications. SUM HOL is based on a sorted Lambda-calculus SUM A->, which is obtained by extending Church\u27;s simply typed Lambda-calculus by a higher-order sort concept including term declarations and functional base sorts. The term declaration mechanism studied here is powerful enough to allow convenient formalization of a large body of mathematics, since it offers natural primitives for domains and codomains of functions, and allows to treat function restriction. Furthermore, it subsumes most other mechanisms for the declaration of sort information known from the literature, and can thus serve as a general framework for the study of sorted higher-order logics. For instance, the term declaration mechanism of SUM HOL subsumes the subsorting mechanism as a derived notion, and hence justifies our special form of subsort inference. We present sets of transformations for sorted higher-order unification and pre-unification, and prove the nondeterministic completeness of the algorithm induced by these transformations. The main technical difficulty of unification in ! is that the analysis of general bindings is much more involved than in the unsorted case, since in the presence of term declarations well-sortedness is not a structural property. This difficulty is overcome by a structure theorem that links the structure of a formula to the structure of its sorting derivation. We develop two notions of set-theoretic semantics for SUM HOL. General SUM-models are a direct generalization of Henkin\u27;s general models to the sorted setting. Since no known machine-oriented calculus can adequately mechanize full extensionality, we generalize general SUM-models further to SUM-model structures, which allow full extensionality to fail. The notions of SUM-model structures and general SUM-models allow us to prove model existence theorems for them. These model-theoretic variants of Andrews unifying principle for type theory\u27; can be used as a powerful tool in completeness proofs of higher-order calculi. Finally, we use our pre-unification algorithms as a central inference procedure for a sorted higherorder resolution calculus in the spirit of Huet\u27;s Constrained Resolution. This calculus is proven sound and complete with respect to our semantics. It differs from Huet\u27;s calculus by allowing early unification strategies and using variable dependencies. For the completeness proof we make use of our model existence theorem, and prove a strong lifting lemma
    corecore