3,611 research outputs found
Termination of Narrowing: Automated Proofs and Modularity Properties
En 1936 Alan Turing demostro que el halting problem, esto es, el problema de decidir
si un programa termina o no, es un problema indecidible para la inmensa mayoria de
los lenguajes de programacion. A pesar de ello, la terminacion es un problema tan
relevante que en las ultimas decadas un gran numero de tecnicas han sido desarrolladas
para demostrar la terminacion de forma automatica de la maxima cantidad posible de
programas. Los sistemas de reescritura de terminos proporcionan un marco teorico
abstracto perfecto para el estudio de la terminacion de programas. En este marco, la
evaluaci on de un t ermino consiste en la aplicacion no determinista de un conjunto de
reglas de reescritura.
El estrechamiento (narrowing) de terminos es una generalizacion de la reescritura
que proporciona un mecanismo de razonamiento automatico. Por ejemplo, dado un
conjunto de reglas que denan la suma y la multiplicacion, la reescritura permite calcular
expresiones aritmeticas, mientras que el estrechamiento permite resolver ecuaciones
con variables. Esta tesis constituye el primer estudio en profundidad de las
propiedades de terminacion del estrechamiento. Las contribuciones son las siguientes.
En primer lugar, se identican clases de sistemas en las que el estrechamiento tiene
un comportamiento bueno, en el sentido de que siempre termina. Muchos metodos
de razonamiento automatico, como el analisis de la semantica de lenguajes de programaci
on mediante operadores de punto jo, se benefician de esta caracterizacion.
En segundo lugar, se introduce un metodo automatico, basado en el marco teorico
de pares de dependencia, para demostrar la terminacion del estrechamiento en un
sistema particular. Nuestro metodo es, por primera vez, aplicable a cualquier clase
de sistemas.
En tercer lugar, se propone un nuevo metodo para estudiar la terminacion del
estrechamiento desde un termino particular, permitiendo el analisis de la terminacion
de lenguajes de programacion. El nuevo metodo generaliza losIborra López, J. (2010). Termination of Narrowing: Automated Proofs and Modularity Properties [Tesis doctoral no publicada]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/19251Palanci
Modular Termination for Second-Order Computation Rules and Application to Algebraic Effect Handlers
We present a new modular proof method of termination for second-order
computation, and report its implementation SOL. The proof method is useful for
proving termination of higher-order foundational calculi. To establish the
method, we use a variation of semantic labelling translation and Blanqui's
General Schema: a syntactic criterion of strong normalisation. As an
application, we apply this method to show termination of a variant of
call-by-push-value calculus with algebraic effects and effect handlers. We also
show that our tool SOL is effective to solve higher-order termination problems.Comment: 27 page
Constrained narrowing for conditional equational theories modulo axioms
For an unconditional equational theory (Sigma, E) whose oriented equations (E) over arrow are confluent and terminating, narrowing provides an E-unification algorithm. This has been generalized by various authors in two directions: (i) by considering unconditional equational theories (Sigma, E boolean OR B) where the (E) over arrow are confluent, terminating and coherent modulo axioms B, and (ii) by considering conditional equational theories. Narrowing for a conditional theory (Sigma, E boolean OR B) has also been studied, but much less and with various restrictions. In this paper we extend these prior results by allowing conditional equations with extra variables in their conditions, provided the corresponding rewrite rules (E) over arrow are confluent, strictly coherent, operationally terminating modulo B and satisfy a natural determinism condition allowing incremental computation of matching substitutions for their extra variables. We also generalize the type structure of the types and operations in Sigma to be order-sorted. The narrowing method we propose, called constrained narrowing, treats conditions as constraints whose solution is postponed. This can greatly reduce the search space of narrowing and allows notions such as constrained variant and constrained unifier that can cover symbolically possibly infinite sets of actual variants and unifiers. It also supports a hierarchical method of solving constraints. We give an inference system for hierarchical constrained narrowing modulo B and prove its soundness and completeness. (C) 2015 Elsevier B.V. All rights reserved.We thank the anonymous referees for their constructive criticism and their very detailed and helpful suggestions for improving an earlier version of this work. We also thank Luis Aguirre for kindly giving us additional suggestions to improve the text. This work has been partially supported by NSF Grant CNS 13-19109 and by the EU (FEDER) and the Spanish MINECO under grant TIN 2013-45732-C4-1-P, and by Generalitat Valenciana PROMETEOII/2015/013.Cholewa, A.; Escobar Román, S.; Meseguer, J. (2015). Constrained narrowing for conditional equational theories modulo axioms. Science of Computer Programming. 112:24-57. https://doi.org/10.1016/j.scico.2015.06.001S245711
09411 Abstracts Collection -- Interaction versus Automation: The two Faces of Deduction
From 04.10. to 09.10.2009, the Dagstuhl Seminar 09411
``Interaction versus Automation: The two Faces of Deduction\u27\u27 was held
in Schloss Dagstuhl~--~Leibniz Center for Informatics.
During the seminar, several participants presented their current
research, and ongoing work and open problems were discussed. Abstracts of
the presentations given during the seminar as well as abstracts of
seminar results and ideas are put together in this paper. The first section
describes the seminar topics and goals in general.
Links to extended abstracts or full papers are provided, if available
Using rewriting to synthesize functional languages to digital circuits
A straightforward synthesis from functional languages to digital circuits transforms variables to wires. The types of these variables determine the bit-width of the wires. Assigning a bit-width to polymorphic and function-type variables within this direct synthesis scheme is impossible. Using a term rewrite system, polymorphic and function-type binders can be completely eliminated from a circuit description, given only minor and reasonable restrictions on the input. The presented term rewrite system is used in the compiler for CλaSH: a polymorphic, higher-order, functional hardware description language
- …