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

    Not-empty-successor-predecessor-author-intersection

    Non-empty intersection of successor and predecessor authors.

    Here n and f in this theorem are the n and f mentioned in max-faulty-for-total. With reference to successor-predecessor-intersection, here successor-vals represents the authors of the successors of A, while predecessor-vals represents the authors of the predecessors of C.

    If (i) the total stake of successor and predecessor authors is bounded by n, (ii) the total stake of the successor authors is more than f, and (iii) the total stake of the predecessor authors is at least n - f, then in order for the two sets to have no intersection their total stake would have to be more than n, which contradicts the first hypothesis. So there must be at least one in the intersection.

    Definitions and Theorems

    Theorem: not-empty-successor-predecessor-author-intersection

    (defthm not-empty-successor-predecessor-author-intersection
     (implies
      (and
       (address-setp successor-vals)
       (address-setp predecessor-vals)
       (<=
        (committee-members-stake (union successor-vals predecessor-vals)
                                 commtt)
        n)
       (> (committee-members-stake successor-vals commtt)
          f)
       (>= (committee-members-stake predecessor-vals commtt)
           (- n f)))
      (not (emptyp (intersect successor-vals predecessor-vals)))))