Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Reversible Computation in Term Rewriting   Essentially, in a reversible programming language, for each forward
computation from state $S$ to state $S'$, there exists a constructive method to
go backwards from state $S'$ to state $S$. Besides its theoretical interest,
reversible computation is a fundamental concept which is relevant in many
different areas like cellular automata, bidirectional program transformation,
or quantum computing, to name a few.
  In this work, we focus on term rewriting, a computation model that underlies
most rule-based programming languages. In general, term rewriting is not
reversible, even for injective functions; namely, given a rewrite step $t_1
\rightarrow t_2$, we do not always have a decidable method to get $t_1$ from
$t_2$. Here, we introduce a conservative extension of term rewriting that
becomes reversible. Furthermore, we also define two transformations,
injectivization and inversion, to make a rewrite system reversible using
standard term rewriting. We illustrate the usefulness of our transformations in
the context of bidirectional program transformation.

11
The categories of this paper are: hep-lat
17
The categories of this paper are: q-fin
14
The categories of this paper are: math-ph
34
The categories of this paper are: chem-ph
23
The categories of this paper are: solv-int
25
The categories of this paper are: patt-sol
22
The categories of this paper are: chao-dyn
8
The categories of this paper are: hep-ex
21
The categories of this paper are: adap-org
29
The categories of this paper are: funct-an
35
The categories of this paper are: mtrl-th
16
The categories of this paper are: stat
7
The categories of this paper are: hep-th
36
The categories of this paper are: cmp-lg
18
The categories of this paper are: econ
5
The categories of this paper are: gr-qc