  We study the oritatami model for molecular co-transcriptional folding. In
oritatami systems, the transcript (the "molecule") folds as it is synthesized
(transcribed), according to a local energy optimisation process, which is
similar to how actual biomolecules such as RNA fold into complex shapes and
functions as they are transcribed. We prove that there is an oritatami system
embedding universal computation in the folding process itself.
  Our result relies on the development of a generic toolbox, which is easily
reusable for future work to design complex functions in oritatami systems. We
develop "low-level" tools that allow to easily spread apart the encoding of
different "functions" in the transcript, even if they are required to be
applied at the same geometrical location in the folding. We build upon these
low-level tools, a programming framework with increasing levels of abstraction,
from encoding of instructions into the transcript to logical analysis. This
framework is similar to the hardware-to-algorithm levels of abstractions in
standard algorithm theory. These various levels of abstractions allow to
separate the proof of correctness of the global behavior of our system, from
the proof of correctness of its implementation. Thanks to this framework, we
were able to computerize the proof of correctness of its implementation and
produce certificates, in the form of a relatively small number of proof trees,
compact and easily readable and checkable by human, while encapsulating huge
case enumerations. We believe this particular type of certificates can be
generalized to other discrete dynamical systems, where proofs involve large
case enumerations as well.
