• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
        • Z3-installation
        • Smt-hint
        • Tutorial
        • Status
        • Developer
          • Verified
            • Uninterpreted-fn-cp
            • Smt-hint-interface
            • Function-expansion
            • Smt-config
            • Fty-support
            • Smt-computed-hints
            • Add-hypo-cp
            • Smt-hint-please
            • Type-extract-cp
            • Smt-extract
            • Smtlink-process-user-hint
              • Process-smtlink-hints
              • Function-syntax
              • Smtlink-hint-syntax
              • Argument-lst-syntax
              • Hypothesis-lst-syntax
              • Translate-cmp-smtlink
              • Process-hint-clause-processor
              • Smt-solver-params
                • Smt-solver-params-fix
                • Smt-solver-params-p
              • Hints-syntax
              • True-set-equiv-relation
            • Smt-basics
            • Smt-type-hyp
            • Smt-magic-fix
          • Trusted
      • Abnf
      • Vwsim
      • Isar
      • Pfcs
      • Wp-gen
      • Dimacs-reader
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Riscv
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Bitcoin
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Smtlink-process-user-hint

Smt-solver-params

Definitions and Theorems

Function: smt-solver-params-p

(defun smt-solver-params-p (term)
  (declare (xargs :guard t))
  (let ((acl2::__function__ 'smt-solver-params-p))
    (declare (ignorable acl2::__function__))
    (true-listp term)))

Theorem: booleanp-of-smt-solver-params-p

(defthm booleanp-of-smt-solver-params-p
  (b* ((syntax-good? (smt-solver-params-p term)))
    (booleanp syntax-good?))
  :rule-classes :rewrite)

Function: smt-solver-params-fix

(defun smt-solver-params-fix (term)
  (declare (xargs :guard (smt-solver-params-p term)))
  (let ((acl2::__function__ 'smt-solver-params-fix))
    (declare (ignorable acl2::__function__))
    (mbe :logic
         (if (smt-solver-params-p term)
             term
           (true-list-fix term))
         :exec term)))

Theorem: smt-solver-params-p-of-smt-solver-params-fix

(defthm smt-solver-params-p-of-smt-solver-params-fix
  (b* ((fixed-term (smt-solver-params-fix term)))
    (smt-solver-params-p fixed-term))
  :rule-classes :rewrite)

Function: smt-solver-params-equiv$inline

(defun smt-solver-params-equiv$inline (acl2::x acl2::y)
  (declare (xargs :guard (and (smt-solver-params-p acl2::x)
                              (smt-solver-params-p acl2::y))))
  (equal (smt-solver-params-fix acl2::x)
         (smt-solver-params-fix acl2::y)))

Theorem: smt-solver-params-equiv-is-an-equivalence

(defthm smt-solver-params-equiv-is-an-equivalence
  (and (booleanp (smt-solver-params-equiv x y))
       (smt-solver-params-equiv x x)
       (implies (smt-solver-params-equiv x y)
                (smt-solver-params-equiv y x))
       (implies (and (smt-solver-params-equiv x y)
                     (smt-solver-params-equiv y z))
                (smt-solver-params-equiv x z)))
  :rule-classes (:equivalence))

Theorem: smt-solver-params-equiv-implies-equal-smt-solver-params-fix-1

(defthm
      smt-solver-params-equiv-implies-equal-smt-solver-params-fix-1
  (implies (smt-solver-params-equiv acl2::x x-equiv)
           (equal (smt-solver-params-fix acl2::x)
                  (smt-solver-params-fix x-equiv)))
  :rule-classes (:congruence))

Theorem: smt-solver-params-fix-under-smt-solver-params-equiv

(defthm smt-solver-params-fix-under-smt-solver-params-equiv
  (smt-solver-params-equiv (smt-solver-params-fix acl2::x)
                           acl2::x)
  :rule-classes (:rewrite :rewrite-quoted-constant))

Theorem: equal-of-smt-solver-params-fix-1-forward-to-smt-solver-params-equiv

(defthm
 equal-of-smt-solver-params-fix-1-forward-to-smt-solver-params-equiv
 (implies (equal (smt-solver-params-fix acl2::x)
                 acl2::y)
          (smt-solver-params-equiv acl2::x acl2::y))
 :rule-classes :forward-chaining)

Theorem: equal-of-smt-solver-params-fix-2-forward-to-smt-solver-params-equiv

(defthm
 equal-of-smt-solver-params-fix-2-forward-to-smt-solver-params-equiv
 (implies (equal acl2::x (smt-solver-params-fix acl2::y))
          (smt-solver-params-equiv acl2::x acl2::y))
 :rule-classes :forward-chaining)

Theorem: smt-solver-params-equiv-of-smt-solver-params-fix-1-forward

(defthm smt-solver-params-equiv-of-smt-solver-params-fix-1-forward
  (implies (smt-solver-params-equiv (smt-solver-params-fix acl2::x)
                                    acl2::y)
           (smt-solver-params-equiv acl2::x acl2::y))
  :rule-classes :forward-chaining)

Theorem: smt-solver-params-equiv-of-smt-solver-params-fix-2-forward

(defthm smt-solver-params-equiv-of-smt-solver-params-fix-2-forward
 (implies
   (smt-solver-params-equiv acl2::x (smt-solver-params-fix acl2::y))
   (smt-solver-params-equiv acl2::x acl2::y))
 :rule-classes :forward-chaining)

Subtopics

Smt-solver-params-fix
Fixing function for smt-solver-params.
Smt-solver-params-p
Recognizer for smt-solver-params.