Zulip Chat Archive
Stream: computer science
Topic: https://github.com/leanprover/lean4/blob/master/tests/lean/r
TongKe Xue (Nov 29 2025 at 03:33):
I'm currently trying to work through https://github.com/leanprover/lean4/blob/master/tests/lean/run/doLogicTests.lean (linked from a zulip discussion on proving runtime.) -- but I'm a bit lost, not sure what is going on. I.e. I see we have a imperative Fib impl, and a functional Fib spec, but it's not obvious to me what "technique" (besides induction) is used to prove they match up.
Questions:
-
Is this
std.dothe so calledBoolelanguage? Or isBoolesomething else ? If something else, what isBoole? (The only terms more difficult to Google would beTrue/False). -
Is there any documentation for this, or is: "replicate the examples in vscode/lean4, look at compiler errors along the way" the best way to learn this ?
Thanks!
Chris Henson (Nov 29 2025 at 03:46):
Std.Do and Boole are separate frameworks with overlapping applications. Boole is a dialect made using Strata, a library for defining languages embedded in Lean. This will in the near future be used in CSLib for verification of imperative programs.
TongKe Xue (Nov 29 2025 at 03:58):
Not trolling -- I'm genuinely this clueless -- is Boole publicly available ? Can I install it from a public github repo (compiling from source is fine) ? Are there sample programs (Fibonacci? MergeSort?) written in Boole with proofs ?
I've heard Boole mentioned a few time in discussions, but I can't find a install link or sample code.
Thanks!
Chris Henson (Nov 29 2025 at 04:35):
I think finding examples this early will be difficult, but it is possible already to use Strata as a dependency. There is a "getting started" guide there, but I have not tried this out myself.
Chris Henson (Nov 29 2025 at 04:38):
At this point you will probably find it easier to get started with Std.Do, maybe starting from examples posted here on Zulip.
Last updated: Dec 20 2025 at 21:32 UTC