I work on formal methods, TLA+, TLAPS machine-checked proofs, and correctness-first distributed systems / consensus.
This profile is the public landing page for the Vortex DSE artifacts: from whitepaper β executable specification β deductive proofs β agreement model.
Vortex DSE is a deterministic ordering and agreement research stack for distributed systems:
- Admission logic formalized in TLA+
- Safety obligations proved with TLAPS
- Bounded behavior validated with TLC and Apalache
- Reference scenarios provided for easier implementation alignment
- For researchers: the repositories expose assumptions, invariants, and proof obligations in a form that can be inspected and reproduced.
- For engineers: they show how consensus and admission rules can be specified before implementation details become production bugs.
- For new readers: the stack is organized as a path from motivation β executable model β machine-checked proof β agreement layer.
If you are new to TLA+, start with the whitepaper for intuition, then move to the executable spec, and only then open the proofs.
- Read: whitepaper for the problem statement and vocabulary
- Run: strict admission scenarios and bounded model checks
- Verify: TLAPS proofs and agreement checks for safety-oriented claims
| Repository | What you will find | Start here |
|---|---|---|
| vortex-dse-whitepaper | Paper, figures, high-level motivation, and research framing | Read abstract + intro first |
| vortex-dse-cslot-spec | Strict C-slot admission TLA+ model + JS reference scenarios | Run TLC tiny config, then JS examples |
| vortex-dse-cslot-proofs | TLAPS machine-checked proofs (325 obligations proved) for admission safety | Verify proofs locally with tlapm |
| vortex-merkle-agreement | Per-slot Merkle agreement layer with TLC + Apalache checks | Run run_tlc.sh, then run_apalache.sh |
| vasilisnasopoulos | Portfolio hub, architecture map, reproduction guide, dependency flow | Continue with sections below |
- Read the whitepaper repo to understand problem, goals, and terminology.
- Open cslot-spec to see the executable strict admission model.
- Open cslot-proofs to inspect TLAPS theorems and local proof verification.
- Open vortex-merkle-agreement to see post-admission convergence/commit.
- Use this repoβs REPRODUCTION.md to run the same checks locally.
- TLAPS proofs:
verify-proofs.yml - TLC models:
verify-tlc.yml - Apalache model checking:
verify-apalache.yml
flowchart TD
W[Whitepaper<br/>problem framing and terminology]
S[C-slot Spec<br/>TLA+ strict admission model]
P[C-slot Proofs<br/>TLAPS machine-checked safety]
M[Merkle Agreement<br/>TLC + Apalache convergence checks]
H[Hub repo<br/>reproduction guides, architecture, badges]
W --> S --> P --> M
H -. links and reproducibility .-> W
H -. verification map .-> S
H -. verification map .-> P
H -. verification map .-> M
Whitepaper β C-slot Spec β C-slot Proofs β Merkle Agreement
β
hub repo documents the path, verification commands, and release notes
- Spec + proofs cover admission properties from complementary angles.
- Merkle agreement models convergence after admission output.
- TLAPS in plain words: TLAPS is the TLA+ Proof System that checks formal proof steps mechanically.
- What is proved: 325 proof obligations across two modules β 194 in
Vortex_DSE_CSlot_Proofs.tla(type safety, no-future admission) and 131 inVortex_DSE_CSlot_ExactlyOnce_Proof.tla(exactly-once admission). All discharged, and CI fails the build if any obligation is left unproved. - Verify locally:
tlapm --toolbox 0 0 specs/Vortex_DSE_CSlot_Proofs.tla tlapm --toolbox 0 0 specs/Vortex_DSE_CSlot_ExactlyOnce_Proof.tla
- Related repo: vortex-dse-cslot-spec
- Focus: strict admission (
tx.cslot = current_slot) modeled in TLA+. - Structure: core model + skew/adversarial variants + TLC configs + JS reference implementation.
- Run locally:
java -jar tla2tools.jar -workers auto \ -config specs/Vortex_DSE_CSlot_tiny.cfg \ specs/Vortex_DSE_CSlot.tla node ref_impl/cslot_ref.mjs
- Compare with: vortex-dse-cslot-proofs and vortex-merkle-agreement
- Focus: per-slot agreement after admission (Freeze β Reconcile β Commit).
- Verification: TLC plus bounded checking with Apalache.
- Run locally:
./run_tlc.sh /path/to/tla2tools.jar APALACHE_BIN=/path/to/apalache-mc ./run_apalache.sh
- Depends conceptually on: admission output from C-slot repos.
- Focus: research narrative, architecture intuition, and key claims.
- Use it for: terminology and threat/assumption context before reading specs/proofs.
- Then continue to: vortex-dse-cslot-spec and vortex-dse-cslot-proofs
- Citation guidance: see the whitepaper repo for canonical citation text and versioning.
- ARCHITECTURE.md β cross-repository system map and CI topology
- PROOF_STRUCTURE.md β proof/model-check dependency flow
- REPRODUCTION.md β canonical local reproduction commands
- SLICES.md β public verification slices and boundaries
- proof-dependencies.json β machine-readable dependency graph
- REPOSITORY_DESCRIPTIONS.md β suggested one-line GitHub descriptions
- RELEASE_NOTES.md β draft
v1.0.0release notes for the public formal baseline - CONTRIBUTING.md β contributor onboarding and review expectations
- README_BLUEPRINTS.md β consistent README section blueprint for all related repos
- These repositories are public formal artifacts; they are not the complete production engine.
- Production C internals, benchmark internals, and some end-to-end composition details remain private.
- Each repository documents assumptions, guarantees, and reproducibility commands for its scope.
formal-methods Β· tla+ Β· tlaps Β· tlc Β· apalache Β· distributed-systems Β· consensus


