Home / Input Output / formal-ledger-specifications
Feb 27, 11-12 AM (0)
Feb 28, 12-1 AM (0)
Feb 28, 1-2 AM (0)
Feb 28, 2-3 AM (0)
Feb 28, 3-4 AM (0)
Feb 28, 4-5 AM (0)
Feb 28, 5-6 AM (0)
Feb 28, 6-7 AM (0)
Feb 28, 7-8 AM (0)
Feb 28, 8-9 AM (0)
Feb 28, 9-10 AM (0)
Feb 28, 10-11 AM (0)
Feb 28, 11-12 PM (0)
Feb 28, 12-1 PM (0)
Feb 28, 1-2 PM (0)
Feb 28, 2-3 PM (0)
Feb 28, 3-4 PM (0)
Feb 28, 4-5 PM (0)
Feb 28, 5-6 PM (0)
Feb 28, 6-7 PM (0)
Feb 28, 7-8 PM (0)
Feb 28, 8-9 PM (0)
Feb 28, 9-10 PM (0)
Feb 28, 10-11 PM (0)
Feb 28, 11-12 AM (0)
Mar 01, 12-1 AM (0)
Mar 01, 1-2 AM (0)
Mar 01, 2-3 AM (0)
Mar 01, 3-4 AM (0)
Mar 01, 4-5 AM (0)
Mar 01, 5-6 AM (0)
Mar 01, 6-7 AM (0)
Mar 01, 7-8 AM (0)
Mar 01, 8-9 AM (0)
Mar 01, 9-10 AM (0)
Mar 01, 10-11 AM (0)
Mar 01, 11-12 PM (0)
Mar 01, 12-1 PM (0)
Mar 01, 1-2 PM (0)
Mar 01, 2-3 PM (0)
Mar 01, 3-4 PM (0)
Mar 01, 4-5 PM (0)
Mar 01, 5-6 PM (0)
Mar 01, 6-7 PM (0)
Mar 01, 7-8 PM (0)
Mar 01, 8-9 PM (0)
Mar 01, 9-10 PM (0)
Mar 01, 10-11 PM (0)
Mar 01, 11-12 AM (0)
Mar 02, 12-1 AM (0)
Mar 02, 1-2 AM (0)
Mar 02, 2-3 AM (0)
Mar 02, 3-4 AM (0)
Mar 02, 4-5 AM (0)
Mar 02, 5-6 AM (0)
Mar 02, 6-7 AM (0)
Mar 02, 7-8 AM (0)
Mar 02, 8-9 AM (0)
Mar 02, 9-10 AM (4)
Mar 02, 10-11 AM (0)
Mar 02, 11-12 PM (0)
Mar 02, 12-1 PM (0)
Mar 02, 1-2 PM (0)
Mar 02, 2-3 PM (0)
Mar 02, 3-4 PM (0)
Mar 02, 4-5 PM (0)
Mar 02, 5-6 PM (0)
Mar 02, 6-7 PM (0)
Mar 02, 7-8 PM (0)
Mar 02, 8-9 PM (0)
Mar 02, 9-10 PM (0)
Mar 02, 10-11 PM (0)
Mar 02, 11-12 AM (0)
Mar 03, 12-1 AM (0)
Mar 03, 1-2 AM (12)
Mar 03, 2-3 AM (7)
Mar 03, 3-4 AM (1)
Mar 03, 4-5 AM (0)
Mar 03, 5-6 AM (0)
Mar 03, 6-7 AM (0)
Mar 03, 7-8 AM (0)
Mar 03, 8-9 AM (0)
Mar 03, 9-10 AM (0)
Mar 03, 10-11 AM (0)
Mar 03, 11-12 PM (0)
Mar 03, 12-1 PM (0)
Mar 03, 1-2 PM (0)
Mar 03, 2-3 PM (0)
Mar 03, 3-4 PM (0)
Mar 03, 4-5 PM (0)
Mar 03, 5-6 PM (0)
Mar 03, 6-7 PM (0)
Mar 03, 7-8 PM (0)
Mar 03, 8-9 PM (0)
Mar 03, 9-10 PM (0)
Mar 03, 10-11 PM (0)
Mar 03, 11-12 AM (0)
Mar 04, 12-1 AM (0)
Mar 04, 1-2 AM (0)
Mar 04, 2-3 AM (0)
Mar 04, 3-4 AM (0)
Mar 04, 4-5 AM (0)
Mar 04, 5-6 AM (0)
Mar 04, 6-7 AM (0)
Mar 04, 7-8 AM (0)
Mar 04, 8-9 AM (1)
Mar 04, 9-10 AM (1)
Mar 04, 10-11 AM (0)
Mar 04, 11-12 PM (0)
Mar 04, 12-1 PM (0)
Mar 04, 1-2 PM (0)
Mar 04, 2-3 PM (0)
Mar 04, 3-4 PM (0)
Mar 04, 4-5 PM (0)
Mar 04, 5-6 PM (0)
Mar 04, 6-7 PM (0)
Mar 04, 7-8 PM (0)
Mar 04, 8-9 PM (0)
Mar 04, 9-10 PM (0)
Mar 04, 10-11 PM (0)
Mar 04, 11-12 AM (0)
Mar 05, 12-1 AM (0)
Mar 05, 1-2 AM (1)
Mar 05, 2-3 AM (2)
Mar 05, 3-4 AM (1)
Mar 05, 4-5 AM (0)
Mar 05, 5-6 AM (0)
Mar 05, 6-7 AM (0)
Mar 05, 7-8 AM (0)
Mar 05, 8-9 AM (0)
Mar 05, 9-10 AM (0)
Mar 05, 10-11 AM (0)
Mar 05, 11-12 PM (0)
Mar 05, 12-1 PM (0)
Mar 05, 1-2 PM (0)
Mar 05, 2-3 PM (0)
Mar 05, 3-4 PM (1)
Mar 05, 4-5 PM (0)
Mar 05, 5-6 PM (0)
Mar 05, 6-7 PM (0)
Mar 05, 7-8 PM (0)
Mar 05, 8-9 PM (0)
Mar 05, 9-10 PM (0)
Mar 05, 10-11 PM (0)
Mar 05, 11-12 AM (0)
Mar 06, 12-1 AM (0)
Mar 06, 1-2 AM (1)
Mar 06, 2-3 AM (1)
Mar 06, 3-4 AM (0)
Mar 06, 4-5 AM (0)
Mar 06, 5-6 AM (0)
Mar 06, 6-7 AM (0)
Mar 06, 7-8 AM (0)
Mar 06, 8-9 AM (0)
Mar 06, 9-10 AM (0)
Mar 06, 10-11 AM (0)
Mar 06, 11-12 PM (0)
Mar 06, 12-1 PM (0)
Mar 06, 1-2 PM (0)
Mar 06, 2-3 PM (0)
Mar 06, 3-4 PM (0)
Mar 06, 4-5 PM (0)
Mar 06, 5-6 PM (0)
Mar 06, 6-7 PM (0)
Mar 06, 7-8 PM (0)
Mar 06, 8-9 PM (0)
Mar 06, 9-10 PM (0)
Mar 06, 10-11 PM (0)
Mar 06, 11-12 AM (0)
33 commits this week Feb 28, 2026 - Mar 07, 2026
Computational Instance for Dijkstra UTXOW Rule
This PR completes the formalization of the computational instance for the `UTXOW` transition rule in the Dijkstra era.

+  **Record-Based Premises**.
   Refactored the transition rules to use named record types for premises (`UTXOW-Normal-Premises`, `UTXOW-Legacy-Premises`, `SUBUTXOW-Premises`). This significantly improves type-checking performance and scannability compared to the previous nested-tuple approach.
+  **WitnessData Consolidation**.
   Centralized the logic for collecting vKey hashes, scripts, and data hashes into a `WitnessData` record to avoid redundant lookups and simplify the decider logic.
+  **Era Toggle Logic**.
   Introduced a boolean `v1-v3-allowed` flag to the `UTXOW` mode
   records; this provides a simpler decidable mechanism to distinguish between Dijkstra-native (Normal/V4) and compatibility (Legacy/V1-V3) modes (but we should be able to prove it using other premises instead (TODO)).
+  **Completeness Proof**. (TODO: finish implementing completeness proof for `UTXOW`.)

+  Finalize `normal-legacy-exclusive` lemma logic, removing temporary boolean toggle if an intrinsic proof based on script pool contents is possible.
+  Expand the `failure` strings into more descriptive error messages using a structured error type.