Docs Control and automate
Control and automate
Everything in Room to Prove can be written as text:
- a lesson is Markdown;
- a figure is a few lines;
- a script is Python;
- a proof is Lean.
Text can be saved, shared and generated. So you, or an agent, can drive the app with it.
Each page below starts simple. The full reference is at the end, made from the app itself.
The parts
| Part | You write | You get | Page |
|---|---|---|---|
| Lessons | Markdown with maths | a numbered lesson | Lessons |
| Figures | a library name, or a few lines | a live figure | Figures |
| Python | a script | plots, formulas, tables | Python |
| Lean | a proof, or a link to one | a checked proof, in words | Lean |
| Data | values and sums | exact answers | Data |
| Assistant | a question | drafts, figures, scripts | For agents |
| Plugins | a folder | tools and libraries | Plugins |
An example
A theorem in a lesson, linked to Mathlib:
Markdown
:::theorem[Mean value theorem]{#thm:mvt lean="exists_deriv_eq_slope" module="Mathlib.Analysis.Calculus.Deriv.MeanValue"}
If $f$ is continuous on $[a, b]$ and differentiable on $(a, b)$, some
$c \in (a, b)$ has $f'(c) = \frac{f(b) - f(a)}{b - a}$.
:::
The app checks the link with Lean, shows Lean's reading, and links to its page.
Addresses
Every page has an address. Use one as a link in a lesson:
[the figure library](#/figures).
| Address | Opens |
|---|---|
#/<pack>/<lesson>.md |
a lesson |
#/search |
search |
#/decl/<module>/<name> |
a declaration's page |
#/figures |
the figure library |
#/figures/<id> |
one figure, such as #/figures/riemann_sum |
#/figures/make |
the figure editor |
#/help/<page> |
a help page, such as #/help/api-python |