• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
      • Break-rewrite
      • Proof-builder
      • Accumulated-persistence
      • Cgen
      • Forward-chaining-reports
      • Proof-tree
      • Print-gv
      • Dmr
      • With-brr-data
      • Splitter
      • Guard-debug
      • Set-debugger-enable
      • Redo-flat
      • Time-tracker
      • Set-check-invariant-risk
      • Removable-runes
      • Efficiency
      • Explain-near-miss
      • Tail-biting
      • Failed-forcing
      • Sneaky
      • Invariant-risk
      • Failure
        • Useless-runes-failures
        • Measure-debug
        • Dead-events
        • Compare-objects
        • Prettygoals
        • Remove-hyps
        • Type-prescription-debugging
        • Pstack
        • Trace
        • Set-register-invariant-risk
        • Walkabout
        • Disassemble$
        • Nil-goal
        • Cw-gstack
        • Set-guard-msg
        • Find-lemmas
        • Watch
        • Quick-and-dirty-subsumption-replacement-step
        • Profile-all
        • Profile-ACL2
        • Set-print-gv-defaults
        • Minimal-runes
        • Spacewalk
        • Try-gl-concls
        • Near-misses
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
        • Theories
        • Rule-classes
        • Proof-builder
        • Recursion-and-induction
        • Hons-and-memoization
        • Events
        • Parallelism
        • History
        • Programming
        • Operational-semantics
        • Real
        • Start-here
        • Debugging
          • Break-rewrite
          • Proof-builder
          • Accumulated-persistence
          • Cgen
          • Forward-chaining-reports
          • Proof-tree
          • Print-gv
          • Dmr
          • With-brr-data
          • Splitter
          • Guard-debug
          • Set-debugger-enable
          • Redo-flat
          • Time-tracker
          • Set-check-invariant-risk
          • Removable-runes
          • Efficiency
          • Explain-near-miss
          • Tail-biting
          • Failed-forcing
          • Sneaky
          • Invariant-risk
          • Failure
            • Useless-runes-failures
            • Measure-debug
            • Dead-events
            • Compare-objects
            • Prettygoals
            • Remove-hyps
            • Type-prescription-debugging
            • Pstack
            • Trace
            • Set-register-invariant-risk
            • Walkabout
            • Disassemble$
            • Nil-goal
            • Cw-gstack
            • Set-guard-msg
            • Find-lemmas
            • Watch
            • Quick-and-dirty-subsumption-replacement-step
            • Profile-all
            • Profile-ACL2
            • Set-print-gv-defaults
            • Minimal-runes
            • Spacewalk
            • Try-gl-concls
            • Near-misses
          • Miscellaneous
          • Output-controls
          • Macros
          • Interfacing-tools
        • Interfacing-tools
        • Hardware-verification
        • Software-verification
        • Math
        • Testing-utilities
      • Failure
      • Useless-runes

      Useless-runes-failures

      Failures caused by useless-runes

      When an event fails you may see the following message:

      *NOTE*: Useless-runes were in use and can affect proof attempts.  See
      :DOC useless-runes-failures.

      This message may be printed after the usual failure message when a useless-runes file has been consulted during proofs, as is usually the case when using build system tools (see books-certification and build::cert.pl). It is intended to suggest that you consider removing or regenerating the associated useless-runes file in the situation described below.

      Suppose that you have developed a book — say, foo.lisp — and placed it into the community-books. Then regression runs may occasionally generate (or regenerate) the associated useless-runes file. Now suppose you modify foo.lisp or some books that are included in it. You successfully run (certify-book "foo"); yet, certification of foo.lisp subsequently fails as part of a regression run or when you use build::cert.pl to certify foo.lisp. This could be unsettling!

      In that case, what is probably happening is that the useless-runes file is no longer suitable. If you are a contributor to the ``ACL2 System and Community Books'' GitHub project (see git-quick-start), you can update repository as follows (followed by the usual actions when updating the repository).

      git rm .sys/foo@useless-runes.lsp

      Or, if you like, you could regenerate the useless-runes file, for example as follows.

      (certify-book "foo" ? t :useless-runes :write)

      Or if you prefer to avoid this useless-runes file from now on, you could add a line like the following to foo.acl2 (see build::custom-certify-book-commands) and also, ideally, delete the useless-runes file using the "git rm" command displayed above.

      ; cert-flags: ? t :useless-runes nil