• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Community
    • Std
    • Proof-automation
    • Macro-libraries
      • B*
      • Defunc
      • Fty
        • Deftagsum
        • Defprod
        • Defflexsum
        • Defbitstruct
        • Deflist
        • Defalist
        • Defbyte
        • Defresult
        • Deffixequiv
        • Deffixtype
        • Defoption
        • Fty-discipline
        • Fold
        • Specific-types
        • Fty-extensions
        • Defsubtype
        • Deftypes
        • Defset
        • Defflatsum
        • Deflist-of-len
          • Deflist-of-len-implementation
            • Deflist-of-len-fn
            • Deflist-of-len-support-lemma
              • Deflist-of-len-macro-definition
          • Defomap
          • Defbytelist
          • Fty::basetypes
          • Defvisitors
          • Deffixtype-alias
          • Deffixequiv-sk
          • Defunit
          • Multicase
          • Deffixequiv-mutual
          • Fty::baselists
          • Def-enumcase
          • Defmap
        • Apt
        • Std/util
        • Defdata
        • Defrstobj
        • Seq
        • Match-tree
        • Defrstobj
        • With-supporters
        • Def-partial-measure
        • Template-subst
        • Soft
        • Defthm-domain
        • Event-macros
        • Def-universal-equiv
        • Def-saved-obligs
        • With-supporters-after
        • Definec
        • Sig
        • Outer-local
        • Data-structures
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Deflist-of-len-implementation

    Deflist-of-len-support-lemma

    Support lemma for generated fixing theorem.

    In the events generated by deflist-of-len, proving that the fixer returns a value that satisifes the recognizer involves showing that take returns a list of length equal to the first argument of take. This is not readily provable from the built-in definition of take, but it is proved in ACL2::std/lists/take. To avoid implicitly including that file when including this file for deflist-of-len, we locally include that file and provide the theorem here, so that it can be used in the generated theorem.

    Definitions and Theorems

    Theorem: deflist-of-len-support-lemma

    (defthm deflist-of-len-support-lemma
      (equal (len (take n x)) (nfix n)))