• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
      • Theories
      • Rule-classes
        • Type-prescription
        • Rewrite
        • Meta
        • Linear
        • Definition
        • Clause-processor
          • Meta-extract
          • Set-skip-meta-termp-checks
          • Make-summary-data
          • Clause-processor-tools
            • Rp-rewriter
              • Rp-ruleset
              • Defthmrp
              • Rp-rewriter/meta-rules
              • Rp-utilities
              • Rp-rewriter-demo
              • Rp-rewriter/debugging
              • Rp-rewriter/applications
                • Vescmul
                • Svex-simplify
                  • Svexlist-simplify
                  • Svex-alist-simplify
                  • 4vec-to-svex
                    • 4vec-to-svex-lst
                • Multiplier-verification
          • Set-skip-meta-termp-checks!
        • Tau-system
        • Forward-chaining
        • Equivalence
        • Congruence
        • Free-variables
        • Executable-counterpart
        • Induction
        • Type-reasoning
        • Compound-recognizer
        • Rewrite-quoted-constant
        • Elim
        • Well-founded-relation-rule
        • Built-in-clause
        • Well-formedness-guarantee
        • Patterned-congruence
        • Rule-classes-introduction
        • Guard-holders
        • Refinement
        • Type-set-inverter
        • Generalize
        • Corollary
        • Induction-heuristics
        • Backchaining
        • Default-backchain-limit
      • Proof-builder
      • Recursion-and-induction
      • Hons-and-memoization
      • Events
      • Parallelism
      • History
      • Programming
      • Operational-semantics
      • Real
      • Start-here
      • Debugging
      • Miscellaneous
      • Output-controls
      • Macros
      • Interfacing-tools
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Svex-simplify

4vec-to-svex

Try to convert a term composed of 4vec functions to its equivalent svex representation.

Signature
(4vec-to-svex term svexl-node-flg memoize-flg) → (mv err res)

Function: 4vec-to-svex-memoize-condition

(defun 4vec-to-svex-memoize-condition
       (term svexl-node-flg memoize-flg)
  (declare (ignorable term svexl-node-flg memoize-flg)
           (xargs :guard 't))
  memoize-flg)

Theorem: svexl-node-p-of-4vec-to-svex

(defthm svexl-node-p-of-4vec-to-svex
  (b* (((mv ?err ?res)
        (4vec-to-svex term svexl-node-flg memoize-flg)))
    (and (svexl-node-p res)
         (implies (not svexl-node-flg)
                  (svex-p res)))))

Theorem: svexl-nodelist-p-of-4vec-to-svex-lst

(defthm svexl-nodelist-p-of-4vec-to-svex-lst
  (b* (((mv ?err ?res-lst)
        (4vec-to-svex-lst lst svexl-node-flg memoize-flg)))
    (and (svexl-nodelist-p res-lst)
         (implies (not svexl-node-flg)
                  (svexlist-p res-lst)))))

Subtopics

4vec-to-svex-lst