8,712 research outputs found
Termination of rewriting strategies: a generic approach
We propose a generic termination proof method for rewriting under strategies,
based on an explicit induction on the termination property. Rewriting trees on
ground terms are modeled by proof trees, generated by alternatively applying
narrowing and abstracting steps. The induction principle is applied through the
abstraction mechanism, where terms are replaced by variables representing any
of their normal forms. The induction ordering is not given a priori, but
defined with ordering constraints, incrementally set during the proof.
Abstraction constraints can be used to control the narrowing mechanism, well
known to easily diverge. The generic method is then instantiated for the
innermost, outermost and local strategies.Comment: 49 page
On Constructing Constrained Tree Automata Recognizing Ground Instances of Constrained Terms
An inductive theorem proving method for constrained term rewriting systems,
which is based on rewriting induction, needs a decision procedure for
reduction-completeness of constrained terms. In addition, the sufficient
complete property of constrained term rewriting systems enables us to relax the
side conditions of some inference rules in the proving method. These two
properties can be reduced to intersection emptiness problems related to sets of
ground instances for constrained terms. This paper proposes a method to
construct deterministic, complete, and constraint-complete constrained tree
automata recognizing ground instances of constrained terms.Comment: In Proceedings TTATT 2013, arXiv:1311.505
Rewrite based Verification of XML Updates
We consider problems of access control for update of XML documents. In the
context of XML programming, types can be viewed as hedge automata, and static
type checking amounts to verify that a program always converts valid source
documents into also valid output documents. Given a set of update operations we
are particularly interested by checking safety properties such as preservation
of document types along any sequence of updates. We are also interested by the
related policy consistency problem, that is detecting whether a sequence of
authorized operations can simulate a forbidden one. We reduce these questions
to type checking problems, solved by computing variants of hedge automata
characterizing the set of ancestors and descendants of the initial document
type for the closure of parameterized rewrite rules
Set-Theoretic Types for Polymorphic Variants
Polymorphic variants are a useful feature of the OCaml language whose current
definition and implementation rely on kinding constraints to simulate a
subtyping relation via unification. This yields an awkward formalization and
results in a type system whose behaviour is in some cases unintuitive and/or
unduly restrictive. In this work, we present an alternative formalization of
poly-morphic variants, based on set-theoretic types and subtyping, that yields
a cleaner and more streamlined system. Our formalization is more expressive
than the current one (it types more programs while preserving type safety), it
can internalize some meta-theoretic properties, and it removes some
pathological cases of the current implementation resulting in a more intuitive
and, thus, predictable type system. More generally, this work shows how to add
full-fledged union types to functional languages of the ML family that usually
rely on the Hindley-Milner type system. As an aside, our system also improves
the theory of semantic subtyping, notably by proving completeness for the type
reconstruction algorithm.Comment: ACM SIGPLAN International Conference on Functional Programming, Sep
2016, Nara, Japan. ICFP 16, 21st ACM SIGPLAN International Conference on
Functional Programming, 201
E-Generalization Using Grammars
We extend the notion of anti-unification to cover equational theories and
present a method based on regular tree grammars to compute a finite
representation of E-generalization sets. We present a framework to combine
Inductive Logic Programming and E-generalization that includes an extension of
Plotkin's lgg theorem to the equational case. We demonstrate the potential
power of E-generalization by three example applications: computation of
suggestions for auxiliary lemmas in equational inductive proofs, computation of
construction laws for given term sequences, and learning of screen editor
command sequences.Comment: 49 pages, 16 figures, author address given in header is meanwhile
outdated, full version of an article in the "Artificial Intelligence
Journal", appeared as technical report in 2003. An open-source C
implementation and some examples are found at the Ancillary file
Rewriting and Well-Definedness within a Proof System
Term rewriting has a significant presence in various areas, not least in
automated theorem proving where it is used as a proof technique. Many theorem
provers employ specialised proof tactics for rewriting. This results in an
interleaving between deduction and computation (i.e., rewriting) steps. If the
logic of reasoning supports partial functions, it is necessary that rewriting
copes with potentially ill-defined terms. In this paper, we provide a basis for
integrating rewriting with a deductive proof system that deals with
well-definedness. The definitions and theorems presented in this paper are the
theoretical foundations for an extensible rewriting-based prover that has been
implemented for the set theoretical formalism Event-B.Comment: In Proceedings PAR 2010, arXiv:1012.455
- …