• 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
              • Trim-blocks-for-round
              • Bonded-committee-at-round-loop-to-trim-blocks-for-round
              • Same-bonded-committees-longer-shorter
              • Same-committees-list-extension-equivalences
              • Trim-blocks-for-round-of-shorter
              • Same-active-committees-when-nofork
              • Trim-blocks-for-round-of-longer
                • Same-committees-p
                • Trim-blocks-for-round-of-append-yields-first
                • Bonded-committee-at-round-to-trim-blocks-for-round
                • Trim-blocks-for-round-no-change
                • Same-active-committees-longer-shorter
                • Same-committees-p-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
              • 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
    • Same-committees-def-and-implied

    Trim-blocks-for-round-of-longer

    Result of trimming the longer blockchain.

    This is one of the main reasoning steps in our overall proof. As mentioned earlier, we expand the two committee calculations to include calls of trim-blocks-for-round, which we then simplify to the same thing. This theorem simplifies the call for the longer blockchain. The relation between longer and shorter blockchains is expressed in terms of nthcdr, but the core theorem trim-blocks-for-round-of-append-yields-first uses the append formulation, so we use the theorem about list equivalences.

    The theorem says that the trimming of the longer blockchain reduces to the shorter blockchain.

    Definitions and Theorems

    Theorem: trim-blocks-for-round-of-longer

    (defthm trim-blocks-for-round-of-longer
     (implies
       (and (blocks-orderedp blocks2)
            (< (len blocks1) (len blocks2))
            (equal blocks1
                   (nthcdr (- (len blocks2) (len blocks1))
                           blocks2)))
       (equal
            (trim-blocks-for-round
                 (block->round (nth (1- (- (len blocks2) (len blocks1)))
                                    blocks2))
                 blocks2)
            (block-list-fix blocks1))))