• Top
    • Documentation
    • Books
    • Boolean-reasoning
      • Ipasir
      • Aignet
      • Aig
      • Satlink
      • Truth
      • Ubdds
      • Bdd
      • Faig
        • Faig-constructors
        • Faig-onoff-equiv
        • Faig-purebool-p
        • Faig-alist-equiv
        • Faig-equiv
        • Faig-eval
        • Faig-restrict
          • Faig-restrict-thms
            • Faig-restrict-alist
            • Faig-restrict-alists
          • Faig-fix
          • Faig-partial-eval
          • Faig-compose
          • Faig-compose-alist
          • Patbind-faig
          • Faig-constants
        • Bed
        • 4v
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Math
      • Testing-utilities
    • Faig-restrict

    Faig-restrict-thms

    Basic theorems about faig-restrict.

    Definitions and Theorems

    Theorem: faig-eval-of-faig-restrict

    (defthm faig-eval-of-faig-restrict
      (equal (faig-eval (faig-restrict x al1) al2)
             (faig-eval x
                        (append (aig-eval-alist al1 al2) al2))))

    Theorem: aig-alist-equiv-implies-faig-equiv-faig-restrict-2

    (defthm aig-alist-equiv-implies-faig-equiv-faig-restrict-2
      (implies (aig-alist-equiv al al-equiv)
               (faig-equiv (faig-restrict x al)
                           (faig-restrict x al-equiv)))
      :rule-classes (:congruence))

    Theorem: alist-equiv-implies-equal-faig-restrict-2

    (defthm alist-equiv-implies-equal-faig-restrict-2
      (implies (alist-equiv env env-equiv)
               (equal (faig-restrict x env)
                      (faig-restrict x env-equiv)))
      :rule-classes (:congruence))

    Theorem: faig-equiv-implies-faig-equiv-faig-restrict-1

    (defthm faig-equiv-implies-faig-equiv-faig-restrict-1
      (implies (faig-equiv x x-equiv)
               (faig-equiv (faig-restrict x al)
                           (faig-restrict x-equiv al)))
      :rule-classes (:congruence))

    Theorem: faig-restrict-faig-restrict

    (defthm faig-restrict-faig-restrict
      (faig-equiv (faig-restrict (faig-restrict x al1)
                                 al2)
                  (faig-restrict x
                                 (append (aig-restrict-alist al1 al2)
                                         al2))))