• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
      • Break-rewrite
        • Monitor
        • Brr
        • Brr-commands
        • Dmr
        • With-brr-data
        • Geneqv
        • Refinement-failure
        • Break-lemma
        • Why-brr
        • Brr@
        • Cw-gstack
        • Ok-if
        • Windows-installation
        • Brr-near-missp
          • Monitored-runes
          • Unmonitor
          • Monitor!
        • 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
        • 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
            • Monitor
            • Brr
            • Brr-commands
            • Dmr
            • With-brr-data
            • Geneqv
            • Refinement-failure
            • Break-lemma
            • Why-brr
            • Brr@
            • Cw-gstack
            • Ok-if
            • Windows-installation
            • Brr-near-missp
              • Monitored-runes
              • Unmonitor
              • Monitor!
            • 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
            • 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
      • Break-rewrite

      Brr-near-missp

      attachable function for determining “near misses”

      This is a system function that determine whether a failed match of a monitored rule constitutes a near miss.

      Note:This function is attachable (see defattach).

      General Form:
      (brr-near-missp msgp lemma target rcnst criteria-alist)

      where msgp is t or nil, lemma is the ACL2 record representing a monitored :rewrite rule or :linear rule, target is a term to which the rewriter tried to apply the rule but failed to match the pattern in the lemma, rcnst is the rewrite constant at the time of the attempt, and criteria-alist is a symbol-alist associated with the rule in monitored-runes.

      The function determines whether the pattern of the lemma “almost” matches the target, i.e., whether a “near miss” has occurred. The function is only called if the exact match failed. The built-in version of this function checks the criteria described in monitor. If a near miss has occurred, the result is either t or a message (see msg) object describing the near miss. If a near miss did not occur, the result is nil. See the source code for built-in-brr-near-missp for details of how the built-in version of this function operates.