• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
      • Bed
      • 4v
        • 4v-sexprs
          • 4v-sexpr-vars
          • 4v-sexpr-eval
          • 4v-sexpr-to-faig
            • 4v-and-faig-operations-commute
            • 4v-sexpr-to-faig-plain
            • 4v-sexpr-to-faig-opt
            • Sfaig
            • 4v->faig-const
            • 4v-sexpr-to-faig-list
            • Faig-const-fix
            • Faig-const->4v
            • 4v-sexpr-to-faig-alist
            • Faig-const-<=
              • Faig-const-p
            • 4v-sexpr-restrict-with-rw
            • 4vs-constructors
            • 4v-sexpr-compose-with-rw
            • 4v-sexpr-restrict
            • 4v-sexpr-alist-extract
            • 4v-sexpr-compose
            • 4v-nsexpr-p
            • 4v-sexpr-purebool-p
            • 4v-sexpr-<=
            • Sfaig
            • Sexpr-equivs
            • 3v-syntax-sexprp
            • Sexpr-rewriting
            • 4v-sexpr-ind
            • 4v-alist-extract
          • 4v-monotonicity
          • 4v-operations
          • Why-4v-logic
          • 4v-<=
          • 4vp
          • 4vcases
          • 4v-fix
          • 4v-lookup
      • Projects
      • Debugging
      • Community
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • 4v-sexpr-to-faig

    Faig-const-<=

    Lattice ordering for FAIG constants.

    Signature
    (faig-const-<= x y) → *

    This is just the FAIG equivalent of 4v-<=.

    Definitions and Theorems

    Function: faig-const-<=

    (defun faig-const-<= (x y)
      (declare (xargs :guard t))
      (let ((__function__ 'faig-const-<=))
        (declare (ignorable __function__))
        (let ((x (faig-const-fix x))
              (y (faig-const-fix y)))
          (or (equal x y) (equal x (faig-x))))))

    Theorem: faig-const-equiv-implies-equal-faig-const-<=-1

    (defthm faig-const-equiv-implies-equal-faig-const-<=-1
      (implies (faig-const-equiv x x-equiv)
               (equal (faig-const-<= x y)
                      (faig-const-<= x-equiv y)))
      :rule-classes (:congruence))

    Theorem: faig-const-equiv-implies-equal-faig-const-<=-2

    (defthm faig-const-equiv-implies-equal-faig-const-<=-2
      (implies (faig-const-equiv y y-equiv)
               (equal (faig-const-<= x y)
                      (faig-const-<= x y-equiv)))
      :rule-classes (:congruence))