We introduce rewriting of meta-expressions which stem from a meta-language that uses higher-order abstract syntax augmented by meta-notation for recursive let, contexts, sets of bindings, and chain variables. Additionally, three kinds of constraints can be added to meta-expressions to express usual constraints on evaluation rules and program transformations. Rewriting of meta-expressions is required for automated reasoning on programs and their properties. A concrete application is a procedure to automatically prove correctness of program transformations in higher-order program calculi which may permit recursive let-bindings as they occur in functional programming languages. Rewriting on meta-expressions can be performed by solving the so-c...
© 2018 Association for Computing Machinery. Recursive programs can now be expressed as normal forms ...
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive ...
By allowing the programmer to write code that can generate code at run-time, meta-programming offers...
Motivated by tools for automaed deduction on functional programming languages and programs, we propo...
We present a foundation for a computational meta-theory of languages with bindings implemented in a ...
Various meta-languages for the manipulation and specification of programs and programming languages ...
Various meta-languages for the manipulation and specification of programs and programming languages ...
We present a simple, practical algorithm for higher-order matching in the context of automatic progr...
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive ...
We present a foundation for a computational meta-theory of languages with bindings implemented in a ...
AbstractA widely used property of Prolog is that it is possible to write Prolog programs to construc...
Term rewriting has proven to be an important technique in theorem proving. In this paper, we illustr...
Writing meta interpreters is a well-known technique to enhance the expressive power of logic program...
AbstractWe report our experience with exploring a new point in the design space for formal reasoning...
Proof assistants and the programming languages that implement them need to deal with a range of expr...
© 2018 Association for Computing Machinery. Recursive programs can now be expressed as normal forms ...
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive ...
By allowing the programmer to write code that can generate code at run-time, meta-programming offers...
Motivated by tools for automaed deduction on functional programming languages and programs, we propo...
We present a foundation for a computational meta-theory of languages with bindings implemented in a ...
Various meta-languages for the manipulation and specification of programs and programming languages ...
Various meta-languages for the manipulation and specification of programs and programming languages ...
We present a simple, practical algorithm for higher-order matching in the context of automatic progr...
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive ...
We present a foundation for a computational meta-theory of languages with bindings implemented in a ...
AbstractA widely used property of Prolog is that it is possible to write Prolog programs to construc...
Term rewriting has proven to be an important technique in theorem proving. In this paper, we illustr...
Writing meta interpreters is a well-known technique to enhance the expressive power of logic program...
AbstractWe report our experience with exploring a new point in the design space for formal reasoning...
Proof assistants and the programming languages that implement them need to deal with a range of expr...
© 2018 Association for Computing Machinery. Recursive programs can now be expressed as normal forms ...
A sound and complete algorithm for nominal unification of higher-order expressions with a recursive ...
By allowing the programmer to write code that can generate code at run-time, meta-programming offers...