• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
      • Ipasir
        • Ipasir$a
        • Building-an-ipasir-solver-library
        • Ipasir-formula
        • Ipasir-bump-activity-vars$a
        • Ipasir-set$a
        • Ipasir-bump-activity-vars$c
        • Ipasir-get$a
        • Ipasir-set-limit$c
        • Ipasir-set$c
          • Ipasir-failed$c
          • Ipasir-assume$c
          • Ipasir-add-lit$c
          • Ipasir-val$c
          • With-local-ipasir
          • Ipasir-solve$c
          • Ipasir-reinit$c
          • Ipasir-init$c
          • Ipasir-finalize-clause$c
          • Ipasir-some-history$c
          • Ipasir-solved-assumption$c
          • Ipasir-release$c
          • Ipasir-input$c
          • Ipasir-get$c
          • Ipasir-get-status$c
          • Ipasir-get-curr-stats$c
          • Ipasir-get-assumption$c
          • Ipasir-empty-new-clause$c
          • Ipasir-callback-count$c
          • Ipasir-val
          • Ipasir-solve
          • Ipasir-set-limit
          • Ipasir-reinit
          • Ipasir-failed
          • Ipasir-callback-count
          • Ipasir-release
          • Ipasir-input
          • Ipasir-init
          • Ipasir-finalize-clause
          • Ipasir-assume
          • Ipasir-add-lit
        • Aignet
        • Aig
        • Satlink
        • Truth
        • Ubdds
        • Bdd
        • Faig
        • Bed
        • 4v
      • Projects
      • Debugging
      • Std
      • Proof-automation
      • Macro-libraries
      • ACL2
      • Interfacing-tools
      • Hardware-verification
      • Software-verification
      • Testing-utilities
      • Math
    • Ipasir

    Ipasir-set$c

    Signature
    (ipasir-set$c val ipasir$c$c) → ipasir$c$c
    Arguments
    val — Guard (ipasir$a-p val).

    Definitions and Theorems

    Function: ipasir-set$c

    (defun
         ipasir-set$c (val ipasir$c$c)
         (declare (xargs :stobjs (ipasir$c$c)))
         (declare (xargs :guard (ipasir$a-p val)))
         (let ((__function__ 'ipasir-set$c))
              (declare (ignorable __function__))
              (b* ((ipasir$c$c (non-exec (ipasir-set1 (ipasir$a-fix val)
                                                      ipasir$c$c))))
                  ipasir$c$c)))

    Theorem: ipasir-set$c-of-ipasir$a-fix-val

    (defthm ipasir-set$c-of-ipasir$a-fix-val
            (equal (ipasir-set$c (ipasir$a-fix val)
                                 ipasir$c$c)
                   (ipasir-set$c val ipasir$c$c)))

    Theorem: ipasir-set$c-ipasir$a-equiv-congruence-on-val

    (defthm ipasir-set$c-ipasir$a-equiv-congruence-on-val
            (implies (ipasir$a-equiv val val-equiv)
                     (equal (ipasir-set$c val ipasir$c$c)
                            (ipasir-set$c val-equiv ipasir$c$c)))
            :rule-classes :congruence)