• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
      • Satlink
        • Sat-solver-options
        • Config-p
        • Logical-story
        • Dimacs
        • Gather-benchmarks
        • Cnf
          • Litp
          • Varp
          • Env$
          • Eval-formula
          • Max-index-formula
            • Fast-max-index-formula
          • Max-index-clause
          • Formula-indices
          • Clause-indices
        • Satlink-extra-hook
        • Sat
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Cnf

Max-index-formula

Maximum index of any identifier used anywhere in a formula.

Signature
(max-index-formula formula) → max
Arguments
formula — Guard (lit-list-listp formula).
Returns
max — Type (natp max).

Definitions and Theorems

Function: max-index-formula

(defun max-index-formula (formula)
  (declare (xargs :guard (lit-list-listp formula)))
  (let ((__function__ 'max-index-formula))
    (declare (ignorable __function__))
    (mbe :logic
         (if (atom formula)
             0
           (max (max-index-clause (car formula))
                (max-index-formula (cdr formula))))
         :exec (fast-max-index-formula formula 0))))

Theorem: natp-of-max-index-formula

(defthm natp-of-max-index-formula
  (b* ((max (max-index-formula formula)))
    (natp max))
  :rule-classes :type-prescription)

Theorem: fast-max-index-formula-removal

(defthm fast-max-index-formula-removal
  (equal (fast-max-index-formula formula max)
         (max (nfix max)
              (max-index-formula formula))))

Theorem: max-index-formula-of-lit-list-list-fix-formula

(defthm max-index-formula-of-lit-list-list-fix-formula
  (equal (max-index-formula (lit-list-list-fix formula))
         (max-index-formula formula)))

Theorem: max-index-formula-lit-list-list-equiv-congruence-on-formula

(defthm max-index-formula-lit-list-list-equiv-congruence-on-formula
  (implies (lit-list-list-equiv formula formula-equiv)
           (equal (max-index-formula formula)
                  (max-index-formula formula-equiv)))
  :rule-classes :congruence)

Subtopics

Fast-max-index-formula
Tail recursive version of max-index-formula.