logo
Formal Ledger Specification
Epoch
Initializing search
    GitHub
    • Home
    • Preliminaries
    • Core
    • Conway
    • Dijkstra
    • Appendix
    GitHub
    • Home
      • Introduction
      • Notation
      • Earlier Eras
      • Introduction
        • Address
        • Crypto
        • Epoch
        • ProtocolVersion
      • Introduction
        • Abstract
        • BlockBody
          • Properties
            • Computational
        • Certs
          • Properties
            • Computational
            • PoV
            • PoVLemmas
            • VoteDelegsVDeleg
        • Chain
          • Properties
            • Computational
            • CredDepsEqualDomRwds
            • EpochStep
            • GovDepsMatch
            • PParamsWellFormed
        • Enact
          • Properties
            • Computational
        • Epoch
          • Properties
            • Computational
            • ConstRwds
            • ExpiredDReps
            • GovDepsMatch
            • NoPropSameDReps
        • Fees
        • Gov
          • Base
          • Actions
          • Properties
            • Computational
            • ChangePPGroup
        • Ledger
          • Properties
            • Base
            • Computational
            • GovDepsMatch
            • PoV
        • PoolReap
            • Computational
        • PParams
        • Properties
        • Ratify
          • Properties
            • Computational
        • Rewards
          • Properties
            • Computational
        • RewardUpdate
          • Properties
            • Computational
        • Script
          • Base
          • ScriptPurpose
          • Timelock
          • Validation
          • Base
          • Coin
          • ValueSet
          • ValueVector
        • Transaction
        • Utxo
          • Properties
            • Base
            • Computational
            • GenMinspend
            • MinSpend
            • PoV
        • Utxow
          • Properties
            • Computational
          • GovStructure
      • Introduction
      • Abstract
      • BlockBody
        • Properties
          • Computational
      • Certs
        • Properties
          • Computational
      • Chain
        • Properties
          • Computational
      • Enact
        • Properties
          • Computational
      • Epoch
        • Properties
          • Computational
      • Fees
      • Gov
        • Actions
        • Base
        • Properties
          • Computational
      • Ledger
        • Properties
          • Computational
      • PoolReap
        • Properties
          • Computational
      • PParams
      • Ratify
        • Properties
          • Computational
      • Rewards
        • Properties
          • Computational
      • RewardUpdate
        • Properties
          • Computational
      • Script
        • Base
        • ScriptPurpose
        • Validation
      • TokenAlgebra
      • Transaction
      • Utxo
        • Properties
          • Computational
      • Utxow
        • Properties
          • Computational
        • Definitions
        • Essential Agda
          • Bootstrapping Governance
          • Bootstrapping EnactState
        • Prelude
        • Ledger
        • Ledger.Core
          • Foreign
            • Address
            • Crypto
              • Base
              • Structure
            • Epoch
            • ExternalFunctions
        • Ledger.Prelude
          • Base
            • HSTypes
            • Util
          • HasCoin
          • Instances
          • Numeric
            • PositiveNat
            • UnitInterval
          • STS
          • ComputationalRelation
          • TypeClasses
            • TypeClasses
            • HasSubset
            • HasSubtract
              • Instance
          • Convertible
            • Deriving
            • DerivingTest
          • HaskellTypes
            • Deriving
        • MyDebugOptions
          • Ledger.Dijkstra
            • Foreign
              • Account
              • Cert
              • Certs
              • Chain
              • Enact
              • Epoch
              • ExternalStructures
              • Gov
                • Core
                • Actions
              • HSStructures
              • Ledger
              • NewEpoch
              • PParams
              • Ratify
              • Rewards
              • Script
                • Base
                • Structure
              • Transaction
              • Utxo
          • Ledger.PreConway
              • NewPP
                • Properties
              • PPUp
                • Properties
            • NewPP
              • Properties
            • PPUp
              • Properties
          • Ledger.Conway
            • Foreign
              • HSStructures
              • Cert
              • Certs
              • Chain
              • Enact
              • Epoch
              • ExternalStructures
              • Gov
                • Core
                • Actions
              • Ledger
              • NewEpoch
              • PParams
              • Ratify
              • Rewards
              • Transaction
              • Script
                • Base
                • Structure
              • Utxo
          • Conformance
            • Certs
              • Properties
            • Epoch
              • Properties
            • Equivalence
              • Bisimilarity
              • Certs
              • Convert
              • Deposits
              • Map
              • Utxo
            • Gov
            • Ledger
              • Properties
            • Properties
            • Rewards
            • Utxo
              • Properties
            • Utxow
              • Properties

    Epoch

    module Ledger.Dijkstra.Foreign.Epoch where
    
    open import Foreign.Convertible
    open import Foreign.Convertible.Deriving
    open import Foreign.HaskellTypes
    open import Foreign.HaskellTypes.Deriving
    
    open import Ledger.Prelude
    open import Ledger.Prelude.Foreign.HSTypes
    
    open import Ledger.Core.Foreign.Address
    open import Ledger.Dijkstra.Foreign.HSStructures
    open import Ledger.Dijkstra.Foreign.PParams
    open import Ledger.Dijkstra.Foreign.Cert
    open import Ledger.Dijkstra.Foreign.Enact
    open import Ledger.Dijkstra.Foreign.Gov
    open import Ledger.Dijkstra.Foreign.Ratify
    open import Ledger.Dijkstra.Foreign.Rewards
    open import Ledger.Dijkstra.Foreign.Utxo
    open import Ledger.Dijkstra.Foreign.Ledger
    open import Ledger.Dijkstra.Specification.Epoch it DummyAbstractFunctions
    open import Ledger.Dijkstra.Specification.Epoch.Properties.Computational it DummyAbstractFunctions
    
    open Computational
    
    instance
      HsTy-EpochState = autoHsType EpochState ⊣ withConstructor "MkEpochState"
                                                • fieldPrefix "eps"
      Conv-EpochState = autoConvert EpochState
    
    epoch-step : HsType (⊤ → EpochState → Epoch → ComputationResult ⊥ EpochState)
    epoch-step = to (compute Computational-EPOCH)
    
    {-# COMPILE GHC epoch-step as epochStep #-}
    
    Previous
    Enact
    Next
    ExternalStructures
    Made with Material for MkDocs