a mono in $\C$.

The *language* of $\phi$ is the set of monos $m$ with source $L$ such that the square on the right is a pullback: $$\begin{aligned}
      \mathcal{L}(\phi) & = & \{m\colon L\rat X \mid \exists
      (\psi\colon X\to A) \\
      && \qquad \mbox{such that square~(\ref{eq:pullback}) is
        a pullback} \}. 
    \end{aligned}$$

$$\tikzsetnextfilename{pbsquareLLXA}
      \begin{tikzpicture}[baseline={([yshift=-.5ex]current bounding box.west)}]
        \node{          \begin{tikzcd}
            L \ar[tail,"\mathit{id}_L"',d] \ar[tail,"m",r] & X
            \ar[d,"\psi"]
            \\
            L \ar[tail,"\phi"',r] & A
            \ar[ul,phantom,"\color{gray}\scriptstyle\mathrm{(PB)}"]
          \end{tikzcd}        };
      \end{tikzpicture}
      \label{eq:pullback}$$

Intuitively, for any arrow $(L\oset{m}{\to} X) \in \mathcal{L}(\phi)$ we have $X\in\mathcal{L}(A)$ and $X$ has a distinguished subobject $L$ which corresponds precisely to the subobject $L \rat A$. In fact $\psi$ restricts and co-restricts to an isomorphism between the images of $L$ in $X$ and $A$. For graphs, no nodes or edges in $X$ outside of $L$ are mapped by $\psi$ into the image of $L$ in $A$.

Materialization {#sec:materialization}
===============

Given a production $p: L\lat I\rat R $, an abstract object $A$, and in order to characterize all successors of objects in $\mathcal{L}(A)$, i.e., those obtained by rewriting via $p$ at a match compatible with $\phi$. Roughly, we want to lift DPO rewriting to the level of abstract objects.

For this, it is necessary to use the 