• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • 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
    • Debugging
    • Projects
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Testing-utilities
    • Math
  • 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.