Automated Formal Verification
Code translation with Rust, Coq, Lean, and more


CHOOSE
Lightning Talk
Index
...the use of tools that mathematically analyze the space of possible behaviors of a design, rather than computing results for particular values.
...a powerful technique used to mathematically prove that an appropriately scaled model of a system does or does not exhibit desirable properties. [1]
Formal verification
Testing is a poor substitute for proof.
Category Theory for Programmers
[A] proof is rigorous when it is (or could be) written out in the first-order predicate language… as a sequence of inferences from the axioms ZFC, each inference made according to one of the stated rules…
Formally Verified Mathematics [2]

I verified some code
I don't need to understand functional programming and the de Bruijn Criterion to understand your work, right?
I don't have to, right?
mind the gap
"formality gap"
Model
Implementation
"Math" world
"Real" world
< />
Real & math
Removes formality gap
Single code base
Well known language
Better than nothing
real = math
Removes formality gap
Single code base
Well known language
Better than nothing
cross the gap
real math
Removes formality gap
Single code base
Well known language
Better than nothing
code translation
Real & math
"Math" world
"Real" world



Real = math



"Math" world
"Real" world
code translation


Intermediate
Representation

Why3
"Math" world
"Real" world
code translation




YO DAWG, I HEARD YOU LIKE CONTAINERS SO I PUT SOME CONTAINERS IN YOUR CONTAINER SO YOU CAN CONTAINER WHILE YOU CONTAINER
docker run -it \
--privileged \
--name notebook \
--hostname $(hostname) \
--gpus all \
-p 1337:1337 \
-p 13337:13337 \
ghcr.io/jhwohlgemuth/lambda

Dockerfiles, scripts, and documentation

some light reading

verified contact
Automated Formal Verification
By Jason Wohlgemuth
Automated Formal Verification
- 45