• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Wp-gen
      • Dimacs-reader
      • Pfcs
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Bitcoin
      • Riscv
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Bigmems
      • Builtins
      • Execloader
      • Aleo
        • Aleobft
          • Aleobft-static
          • Aleobft-stake2
          • Aleobft-dynamic
          • Aleobft-stake
            • Correctness
              • Unequivocal-dags-def-and-init
              • Same-committees-def-and-implied
              • Signer-records
              • Dag-omni-paths
              • Unequivocal-dags-next
              • Quorum-intersection
              • Previous-quorum-def-and-init-and-next
              • Unequivocal-signed-certificates
              • Same-associated-certificates
              • Nonforking-anchors-def-and-init-and-next
              • Signed-previous-quorum
              • Successor-predecessor-intersection
              • Fault-tolerance
              • Last-anchor-voters-def-and-init-and-next
              • Signer-quorum
              • Committed-redundant-def-and-init-and-next
              • Nonforking-blockchains-def-and-init
              • Dag-committees
                • Dag-committees-p-of-next
                • Dag-committees-p
                • Dag-committees-p-always
                • Dag-committees-p-when-init
              • No-self-messages
              • Blockchain-redundant-def-and-init-and-next
              • Backward-closure
              • Anchors-extension
              • Nonforking-blockchains-next
              • No-self-endorsed
              • Associated-certificates
              • Last-anchor-present
              • No-self-buffer
              • Signed-certificates
              • Last-blockchain-round
              • Dag-certificate-next
              • Omni-paths-def-and-implied
              • Simultaneous-induction
              • Ordered-even-blocks
              • Last-anchor-def-and-init
              • Last-anchor-next
              • Previous-quorum
              • Committed-anchors-sequences
              • Omni-paths
              • Last-anchor-voters
              • Unequivocal-dag
              • Signed-and-associated-cerificates
              • Nonforking-blockchains
              • Nonforking-anchors
              • Committed-redundant
              • Same-committees
              • Blockchain-redundant
            • Definition
          • Aleobft-proposals
          • Library-extensions
        • Leo
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Correctness

Dag-committees

Invariant that every author of every certificate in every DAG is a member of the active committee for that round, which the validator can calculate.

When a new certificate is created via create, the author must know the active committee at the certificate's round, which it uses to check quorum conditions; these conditions include the fact that the author is a member of that committee.

When a certificate is stored via store, the validator must know the active committee at the certificate's round, which it uses to check quorum conditions; these conditions include the fact that the author of the certificate is a member of that committee.

The above events are the only ones that extend DAGs. Thus, it is the case that the active committee at the round of each certificate in the DAG of a validator is known to (i.e. calculable by) the validator, and that the author of that certificate is in that committee.

Subtopics

Dag-committees-p-of-next
Preservation of the invariant: if the invariant holds in a system state, it also holds in the next system state.
Dag-committees-p
Definition of the invariant: for every certificate in the DAG of a validator, the validator can calculate the active committee at the round of the certificate, and the certificate's author is a member of the that committee.
Dag-committees-p-always
The invariant holds in every state reachable from an initial state via a sequence of events.
Dag-committees-p-when-init
Establishment of the invariant: the invariant holds in any initial system state.