6 research outputs found

    Type checking mCRL2

    Get PDF
    In this paper we present a type system for the data language of mCRL2, a process algebra based language for formalising the behaviour of communicating system. Much of the type system is standard, and follows the line of, e.g., Pierce [Pie02]. The data language that is described is rich, and supports (infinite) sets and bags, universal and existential quantification, and lambda abstraction. Recursive types can be defined using equational definitions. Subtyping is included for the full data language, and a coercion is given to transform a well-typed expression into a strictly typed expression

    Adaptive Non-Linear Pattern Matching Automata

    Get PDF
    Efficient pattern matching is fundamental for practical term rewrite engines. By preprocessing the given patterns into a finite deterministic automaton the matching patterns can be decided in a single traversal of the relevant parts of the input term. Most automaton-based techniques are restricted to linear patterns, where each variable occurs at most once, and require an additional post-processing step to check so-called variable consistency. However, we can show that interleaving the variable consistency and pattern matching phases can reduce the number of required steps to find a match all matches. Therefore, we take the existing adaptive pattern matching automata as introduced by Sekar et al and extend it these with consistency checks. We prove that the resulting deterministic pattern matching automaton is correct, and show that its evaluation depth is can be shorter than two-phase approaches

    Adaptive Non-linear Pattern Matching Automata

    Get PDF
    Efficient pattern matching is fundamental for practical term rewrite engines. By preprocessing the given patterns into a finite deterministic automaton the matching patterns can be decided in a single traversal of the relevant parts of the input term. Most automaton-based techniques are restricted to linear patterns, where each variable occurs at most once, and require an additional post-processing step to check so-called variable consistency. However, we can show that interleaving the variable consistency and pattern matching phases can reduce the number of required steps to find all matches. Therefore, we take the existing adaptive pattern matching automata as introduced by Sekar et al and extend these with consistency checks. We prove that the resulting deterministic pattern matching automaton is correct, and show several examples where some reduction can be achieved

    An Account of Implementing Applicative Term Rewriting

    Get PDF
    Generation of labelled transition systems from system specifications is highly dependent on efficient rewriting (or related techniques). We give an account of the implementation of two rewriters of the mCRL2 toolset. These rewriters work on open terms and use nonlinear match trees. A comparison is made with other commonly used efficient rewriters

    An account of implementing applicative term rewriting

    No full text
    corecore