\section{Core entities}

Artifacts is any object we could store in the filesystem. Typically, it is
either a file or a folder which has a name and an arbitrary content.

% Derivation = (Config * Matcher * Realizer)

% \[
%   \begin{gathered}
%   DRefs = \set{ Hash c ; c \in Config } \\
%   DRefs = \set{ Hash c ; c \in Config }
%   \end{gathered}
% \]

% \[
%   \varnothing \\
%   \mathbb{Q} \subset \mathbb{C} \mathbb{A}
% \]

% \begin{spreadlines}{20pt}
%     DRefs = \set{ Hash c ; c \in Config }
%     DRefs = \set{ Hash c ; c \in Config }
% \end{spreadlines}

% Realization = (Derivation * a) ; a \leq Artifacts

% RRef = \set{ Hash(d,(Hash a)) ; a \in Artifacts }

% PValue = Int ; String ; Bool ; PList ; PDict ; DRef

% PDict = Dict String PValue

% PList = ...

% Config = \set{ x ; x \in PDict}


% \[ D = \set{x \in \N ; 1\leq x\leq 100} \]

% D=\Set{x\in\nat}{1\le x\le 100}
