@bramas/simulant-lean 0.1.1 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -0
- package/package.json +1 -1
package/README.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# @bramas/simulant-lean
|
|
2
|
+
|
|
3
|
+
Lean 4 semantic library for Simulant experiments on mobile entities and
|
|
4
|
+
distributed algorithms. The npm package ships the hand-written semantic core,
|
|
5
|
+
generated standard-library components, Lake configuration and pinned Lean
|
|
6
|
+
toolchain. It does not ship compiled caches or example projects.
|
|
7
|
+
|
|
8
|
+
## Use from a Simulant project
|
|
9
|
+
|
|
10
|
+
```sh
|
|
11
|
+
npm create @bramas/simulant@latest my-project
|
|
12
|
+
cd my-project
|
|
13
|
+
npm install
|
|
14
|
+
npx simulant lean
|
|
15
|
+
npx simulant lean --build
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Install [elan](https://github.com/leanprover/elan) separately for `--build`.
|
|
19
|
+
The CLI configures the project's Lake dependency and uses the toolchain shipped
|
|
20
|
+
with this library. Generated models go in `lean/Generated/`; write hand-written
|
|
21
|
+
proofs in `lean/Proofs/`, which subsequent generation preserves.
|
|
22
|
+
|
|
23
|
+
## Library contents
|
|
24
|
+
|
|
25
|
+
- `Simulant.lean` and `Simulant/`: configurations, nondeterminism, topologies,
|
|
26
|
+
rounds, executions, fairness, temporal goals and supporting lemmas.
|
|
27
|
+
- `Simulant/Library/`: generated component definitions.
|
|
28
|
+
- `Simulant/LibraryLemmas/`: hand-written component lemmas.
|
|
29
|
+
- `lakefile.toml` and `lean-toolchain`: build configuration and compiler version.
|
|
30
|
+
|
|
31
|
+
This is a Lean source package, not a JavaScript runtime. The npm package's
|
|
32
|
+
`package.json` subpath lets tooling locate the library. The TypeScript-to-Lean
|
|
33
|
+
generator is distributed separately as `@bramas/simulant-lean-gen`.
|
|
34
|
+
|
|
35
|
+
Building a generated model checks its Lean types; proving the generated
|
|
36
|
+
correctness statement is a separate step. No Mathlib dependency is required.
|
|
37
|
+
|
|
38
|
+
[Lean guarantees and limits](https://github.com/Bramas/simulant/blob/main/docs/architecture.md#lean-guarantees-and-limits)
|
|
39
|
+
· [Source](https://github.com/Bramas/simulant/tree/main/lean)
|
|
40
|
+
|
|
41
|
+
Licensed under CeCILL-B; see `LICENCE.txt`.
|