diff --git a/doc/contributing.rst b/doc/contributing.rst
index 9f46da7087df40b77e252464d42a89fffe872a67..2b2ad7231dbca78d55c818e987ffbf48ef5367e1 100644
--- a/doc/contributing.rst
+++ b/doc/contributing.rst
@@ -32,6 +32,14 @@ The root of the repository has the following folders:
 Setting up a development environment
 ************************************
 
+With an Opam switch
+-------------------
+
+Need to download `ocaml language server <https://github.com/ocaml/ocaml-lsp>`_, `ocamlformat <https://github.com/ocaml-ppx/ocamlformat>`_ v0.25.1 and
+`ocp-indent <https://github.com/OCamlPro/ocp-indent>`_.
+
+With nix-shell
+--------------
 TODO
 
 .. index:: Prover;prover
@@ -44,4 +52,5 @@ Some possible topics for opening a MR are:
 
 * support for a new prover
 * enhancing the support for an existing prover
+* new proof strategies
 * bug fixes
diff --git a/doc/interpretation.rst b/doc/interpretation.rst
index 8cdfbc489bdb1669be072363bbb88444ebb05603..5958f01409e2884d92652024b89d8f2ac4928bbc 100644
--- a/doc/interpretation.rst
+++ b/doc/interpretation.rst
@@ -6,13 +6,80 @@ The CAISAR modelling language
 Origin: WhyML
 -------------
 
+CAISAR heavily relies on Why3 and uses the WhyML as a basis.
+A reference of WhyML is available on the original `Why3
+manual <https://why3.lri.fr/doc/syntaxref.html>`_.
+
+However, because Why3 aims to verify a whole range of programs, it cannot
+specialize on a particular program structure.
+For further background the paper [F2013]_ from one of Why3's
+original author details the rationale and tradeoff involved
+in WhyML design and implementation. To quote them, "[they] have come up with logic of compromise".
+
+As CAISAR focuses on artificial intelligence systems, it can
+make some additional assumptions on the nature of the
+inputs, program and users, among the following
+
+* users will have a basic background on linear algebra, and
+  expect CAISAR to reflect this
+
+* inputs will mostly be multidimensional vectors (machine
+  learning community coined the term "tensor" as well) of
+  floating point values, strings, ints or chars
+
+* the program control flow will mostly be composed of a lot
+  real or floating-point arithmetic operations: there is no
+  loop with runtime invariant, nor conditional
+
+With those constraints in mind, CAISAR provides several
+extensions to WhyML, that we detail here. They can be used
+directly in any WhyML provided by CAISAR.
+
+Those extensions will be "interpreted".
+Roughly speaking, during the translation from "pure" WhyML
+logic to actual inputs to provers, some symbols will be
+replaced with other values.
+
 Built-ins
 ---------
 
+.. index:: Interpretation; interpretation
+
 Available under ``stdlib/interpretation.mlw``.
 
 Several theories available to use in any property file.
 
-* Vector
-* NeuralNetwork
-* Dataset
+TODO: a custom css class with function name, type and
+description?
+
+
+Vector
+******
+
+Functions
+~~~~~~~~~
+
+Predicates
+~~~~~~~~~~
+
+NeuralNetwork
+*************
+
+Functions
+~~~~~~~~~
+
+Predicates
+~~~~~~~~~~
+
+Dataset
+*******
+
+Functions
+~~~~~~~~~
+
+Predicates
+~~~~~~~~~~
+
+.. [F2013] Jean-Christophe Filiâtre, *One Logic to Use Them All*,
+   CADE 24 - the 24th International Conference on
+   Automated Deduction