Skip to content

IntersectMBO/cardano-formal-specifications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 

Repository files navigation

Cardano Formal Specifications

This repository is used to collect various formal methods projects on Cardano. In the future it may also house a 'Cardano Node properties' library, which would combine the Consensus and Ledger specifications and prove combined properties about them that cannot be stated or proven about either of them alone.

Project Link
Consensus Specification https://github.com/IntersectMBO/ouroboros-consensus/tree/main/docs/agda-spec
Ledger Specification https://github.com/IntersectMBO/formal-ledger-specifications
Plutus Metatheory https://github.com/IntersectMBO/plutus/tree/master/plutus-metatheory

Consensus specifications

Ledger specifications

Beside the specifications in the above repository, there are older specification documents for the eras before Conway. They can be found here:

Era Design Documents Formal Specification CDDL
Byron Chain Spec, Ledger Spec CDDL, PDF
Shelley Design Spec CDDL
Allegra Same as Mary era below Same as Mary era below CDDL
Mary Multi-Currency, UTXOma Spec CDDL
Alonzo eUTXO Spec CDDL
Babbage batch-verification, CIP-31, CIP-32, CIP-33 Spec CDDL

Other Documents:

Plutus specifications

The metatheory linked above is an Agda specification of both the typed and untyped layers of the Plutus Core language, and includes a specification for the CEK machine which evaluates them.

Additionally, there is the "paper" specification document which definies the language elements, and has denotational semantics for each of the supported builtin operations.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published