https://github.com/francoisschwarzentruber/prooffold
Another attempt for visualizing proofs
https://github.com/francoisschwarzentruber/prooffold
education educational-project mathematics mathematics-education mathematics-notes pedagogy processingjs proof theorem
Last synced: 12 days ago
JSON representation
Another attempt for visualizing proofs
- Host: GitHub
- URL: https://github.com/francoisschwarzentruber/prooffold
- Owner: francoisschwarzentruber
- License: mit
- Created: 2021-12-05T15:20:37.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-11-19T17:09:04.000Z (5 months ago)
- Last Synced: 2025-03-28T23:43:48.884Z (30 days ago)
- Topics: education, educational-project, mathematics, mathematics-education, mathematics-notes, pedagogy, processingjs, proof, theorem
- Language: JavaScript
- Homepage: https://francoisschwarzentruber.github.io/prooffold/
- Size: 1.4 MB
- Stars: 12
- Watchers: 1
- Forks: 4
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Prooffold
A tool to display **mathematical proofs** as **structured** objects, see https://francoisschwarzentruber.github.io/prooffold/

Video: [https://www.youtube.com/watch?v=FPZiGevIyR8]
## Screenshots





## Raison d'être
It tries to solve two main issues of traditional proofs written in a book:
- the global organization of a proof in a textbook is often not very clear. This is due to the linearity of a textual proof. Here, the proof is displayed in panels, making an emphasis on the structure of the proof
- In a textbook, justifications of a statement often ends up "by Theorem 1.2.3, Lemma 42.4 and Corollary 8.8.4 and Equation 1". Here, by clicking on a statement, the arguments used to deduced that fact are highlighted.# Features
- [X] Structured proofs
- [X] LaTEX for writing formulas
- [X] Labels [(1) (2)] and references [by (1,2)]
- [X] inline graphs via graphviz
- [X] interactive canvas described in Processing (P5JS)
- [X] Automatic aligned equations and inequations
- [ ] Asciiart, it partially works but soon via https://github.com/francoisschwarzentruber/asciidraw we will be able to write nice pictures
- [ ] Arrows of implications
- [ ] Include Tikz pictures# Documentation
## Overview
Proofs are easy to be written.
Fact
Theorem. $a^2 = b^2 + c^2$.
{
explain sth of the proof of the theorem
an amazing fact (1)
{
proof of that amazing fact
}
we have that $x = 0$ (2)
Thus we have bling by (1,2)
}
Another Fact
Each line is a fact, or simple text. Blocks (panels) are delimited by `{` and `}` and corresponds to a detailed proof of the fact written just before the block. ` (1)`, ` (2)` etc. and ` by (1,2)` enable to highlight some facts used to prove another fact. In the example below, `Thus we have bling` is deduced from `an amazing fact` and `we have that $x = 0$`.Graphs in graphviz are described by:
graph {
<>
}digraph {
<>
}
Algorithms need indentation and they can be written via:
algo {
<>
}
Interactive canvas are described in Processing (P5) via:p5 {{
<>
}}
# How to contribute?
Adding new proofs! Also discussing about how to improve the way to display proofs.
1) Create a new file in the `proofs` folder, for instance `myproof.proof`.
2) Write your proof inside
3) Locally run `./run.sh`
4) Open http://0.0.0.0:8000/?id=myproofThen if you want, you can make a **pull request**!