{-# OPTIONS --safe #-}
open import Ledger.Conway.Specification.Abstract
open import Ledger.Conway.Specification.Transaction
module Ledger.Conway.Specification.Chain.Properties.EpochStep
(txs : _) (open TransactionStructure txs)
(abs : AbstractFunctions txs)
where
open import Ledger.Conway.Specification.Chain txs abs
open import Ledger.Conway.Specification.Enact govStructure
open import Ledger.Conway.Specification.Epoch txs abs
open import Ledger.Prelude
open Block
enact-change⇒newEpoch : (b : Block) {cs cs' : ChainState}
→ _ ⊢ cs ⇀⦇ b ,CHAIN⦈ cs' → EnactStateOf cs ≢ EnactStateOf cs'
→ Type
enact-change⇒newEpoch b {cs} h es≢es' =
epoch (b .bheader .bhbody .slot) ≡ sucᵉ (LastEpochOf cs)
where
open Block
open BHeader
open BHBody