Add Plutus languages to conformance
Home /
Input Output /
formal-ledger-specifications
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)
Mar 07, 12-1 AM (0)
Mar 07, 1-2 AM (0)
Mar 07, 2-3 AM (0)
Mar 07, 3-4 AM (0)
Mar 07, 4-5 AM (0)
Mar 07, 5-6 AM (0)
Mar 07, 6-7 AM (0)
Mar 07, 7-8 AM (0)
Mar 07, 8-9 AM (0)
Mar 07, 9-10 AM (0)
Mar 07, 10-11 AM (0)
Mar 07, 11-12 PM (0)
Mar 07, 12-1 PM (0)
Mar 07, 1-2 PM (0)
Mar 07, 2-3 PM (0)
Mar 07, 3-4 PM (0)
Mar 07, 4-5 PM (0)
Mar 07, 5-6 PM (0)
Mar 07, 6-7 PM (0)
Mar 07, 7-8 PM (0)
Mar 07, 8-9 PM (0)
Mar 07, 9-10 PM (0)
Mar 07, 10-11 PM (0)
Mar 07, 11-12 AM (0)
Mar 08, 12-1 AM (0)
Mar 08, 1-2 AM (0)
Mar 08, 2-3 AM (0)
Mar 08, 3-4 AM (0)
Mar 08, 4-5 AM (0)
Mar 08, 5-6 AM (0)
Mar 08, 6-7 AM (0)
Mar 08, 7-8 AM (0)
Mar 08, 8-9 AM (0)
Mar 08, 9-10 AM (0)
Mar 08, 10-11 AM (0)
Mar 08, 11-12 PM (0)
Mar 08, 12-1 PM (0)
Mar 08, 1-2 PM (0)
Mar 08, 2-3 PM (0)
Mar 08, 3-4 PM (0)
Mar 08, 4-5 PM (0)
Mar 08, 5-6 PM (0)
Mar 08, 6-7 PM (0)
Mar 08, 7-8 PM (0)
Mar 08, 8-9 PM (0)
Mar 08, 9-10 PM (0)
Mar 08, 10-11 PM (0)
Mar 08, 11-12 AM (0)
Mar 09, 12-1 AM (0)
Mar 09, 1-2 AM (0)
Mar 09, 2-3 AM (0)
Mar 09, 3-4 AM (0)
Mar 09, 4-5 AM (0)
Mar 09, 5-6 AM (0)
Mar 09, 6-7 AM (0)
Mar 09, 7-8 AM (0)
Mar 09, 8-9 AM (0)
Mar 09, 9-10 AM (0)
Mar 09, 10-11 AM (0)
Mar 09, 11-12 PM (0)
Mar 09, 12-1 PM (0)
Mar 09, 1-2 PM (1)
Mar 09, 2-3 PM (0)
Mar 09, 3-4 PM (2)
Mar 09, 4-5 PM (0)
Mar 09, 5-6 PM (0)
Mar 09, 6-7 PM (0)
Mar 09, 7-8 PM (0)
Mar 09, 8-9 PM (0)
Mar 09, 9-10 PM (0)
Mar 09, 10-11 PM (0)
Mar 09, 11-12 AM (0)
Mar 10, 12-1 AM (0)
Mar 10, 1-2 AM (7)
Mar 10, 2-3 AM (6)
Mar 10, 3-4 AM (0)
Mar 10, 4-5 AM (0)
Mar 10, 5-6 AM (0)
Mar 10, 6-7 AM (0)
Mar 10, 7-8 AM (0)
Mar 10, 8-9 AM (0)
Mar 10, 9-10 AM (0)
Mar 10, 10-11 AM (1)
Mar 10, 11-12 PM (0)
Mar 10, 12-1 PM (0)
Mar 10, 1-2 PM (0)
Mar 10, 2-3 PM (1)
Mar 10, 3-4 PM (0)
Mar 10, 4-5 PM (0)
Mar 10, 5-6 PM (0)
Mar 10, 6-7 PM (0)
Mar 10, 7-8 PM (0)
Mar 10, 8-9 PM (0)
Mar 10, 9-10 PM (0)
Mar 10, 10-11 PM (0)
Mar 10, 11-12 AM (0)
Mar 11, 12-1 AM (0)
Mar 11, 1-2 AM (0)
Mar 11, 2-3 AM (0)
Mar 11, 3-4 AM (0)
Mar 11, 4-5 AM (0)
Mar 11, 5-6 AM (0)
Mar 11, 6-7 AM (0)
Mar 11, 7-8 AM (0)
Mar 11, 8-9 AM (0)
Mar 11, 9-10 AM (0)
26 commits this week
Mar 04, 2026
-
Mar 11, 2026
Add Plutus languages to conformance
Apply suggestion from @Copilot
Co-authored-by: Copilot <[email protected]>
first pass at Dijkstra PoolReap module
add remaining rules (RUPD, TICK) and Computational instances
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.
fix UTXOW rule: eliminate `legacy : Bool` parameter
commit before rebase
Finished Computational instance for Ledger!
add check that all rules have Computational instances
add remaining rules (RUPD, TICK) and Computational instances
Finished Computational instance for Ledger!
final refinements:
+ reduce WitnessData record type to just two fields---the fields that differ depending on normal/legacy mode. + remove duplicate collectWitnessDataLegacy function, by adding branching (normal vs legacy) logic to collectWitnessData + add support for normal vs legacy mode to LEDGER rule
Artifacts generated from 6057b1efae0de01310ee6346c1c2e36f0bf95f94
Add certificate check to UsesV3Features
Add certificate check to UsesV3Features
Artifacts generated from 789fbe88b19e37fd1a700e4c30c9cefdf7bb949d
Artifacts generated from a84f236e75f93dbfb43bc7e0ffaf399bb17c0c4d
Artifacts generated from 90daf90f69ba1361b60e1ab5528ebe3a94f463b4
Artifacts generated from d84277e985ace057519cb630d745b7887b2dc0be
fix UTXOW rule: eliminate `legacy : Bool` parameter
fix UTXOW rule: eliminate `legacy : Bool` parameter