• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
      • Fgl
      • Vwsim
      • Vl
        • Syntax
        • Loader
        • Warnings
        • Getting-started
        • Utilities
        • Printer
        • Kit
        • Mlib
        • Transforms
          • Unparameterization
          • Elaborate
          • Addnames
          • Annotate
            • Increment-elim
              • Vl-expr-increwrite-aux
              • Vl-maybe-exprlist-increwrite-aux
              • Vl-maybe-expr-increwrite-aux
              • Vl-exprlist-increwrite
              • Vl-expr-increwrite
              • Vl-modelement-prohibit-incexprs
              • Vl-interface-prohibit-incexprs-aux
              • Vl-module-prohibit-incexprs-aux
              • Vl-portdecl-or-blockitem-list-prohibit-incexprs
              • Vl-maybe-exprlist-increwrite
              • Vl-function-specialization-map-prohibit-incexprs
              • Vl-rhs-increwrite
              • Vl-maybe-expr-increwrite
              • Vl-maybe-delayoreventcontrol-prohibit-incexprs
              • Vl-delayoreventcontrol-prohibit-incexprs
              • Vl-portdecl-or-blockitem-prohibit-incexprs
              • Vl-function-specialization-prohibit-incexprs
              • Vl-design-prohibit-incexprs-aux
              • Vl-defaultdisablelist-prohibit-incexprs
              • Vl-taskdecl-prohibit-incexprs-aux
              • Vl-repeateventcontrol-prohibit-incexprs
              • Vl-package-prohibit-incexprs-aux
              • Vl-modport-portlist-prohibit-incexprs
              • Vl-maybe-exprlist-prohibit-incexprs
              • Vl-fundecl-prohibit-incexprs-aux
              • Vl-cassertionlist-prohibit-incexprs
              • Vl-vardecllist-prohibit-incexprs
              • Vl-typedeflist-prohibit-incexprs
              • Vl-taskdecllist-prohibit-incexprs
              • Vl-sequencelist-prohibit-incexprs
              • Vl-propportlist-prohibit-incexprs
              • Vl-propertylist-prohibit-incexprs
              • Vl-portdecllist-prohibit-incexprs
              • Vl-plainarglist-prohibit-incexprs
              • Vl-paramtype-prohibit-incexprs
              • Vl-paramdecllist-prohibit-incexprs
              • Vl-namedarglist-prohibit-incexprs
              • Vl-modportlist-prohibit-incexprs
              • Vl-modinstlist-prohibit-incexprs
              • Vl-maybe-gatedelay-prohibit-incexprs
              • Vl-maybe-exprdist-prohibit-incexprs
              • Vl-initiallist-prohibit-incexprs
              • Vl-gateinstlist-prohibit-incexprs
              • Vl-fundecllist-prohibit-incexprs
              • Vl-exprdistlist-prohibit-incexprs
              • Vl-elabtasklist-prohibit-incexprs
              • Vl-dpiimportlist-prohibit-incexprs
              • Vl-defaultdisable-prohibit-incexprs
              • Vl-clkdecllist-prohibit-incexprs
              • Vl-clkassignlist-prohibit-incexprs
              • Vl-blockitemlist-prohibit-incexprs
              • Vl-blockitem-prohibit-incexprs
              • Vl-assertionlist-prohibit-incexprs
              • Vl-vardecl-prohibit-incexprs-aux
              • Vl-portdecl-prohibit-incexprs-aux
              • Vl-modport-port-prohibit-incexprs
              • Vl-modinst-prohibit-incexprs-aux
              • Vl-maybe-clkskew-prohibit-incexprs
              • Vl-interfaceport-prohibit-incexprs
              • Vl-incexpr->rhsexpr
              • Vl-gateinst-prohibit-incexprs-aux
              • Vl-finallist-prohibit-incexprs
              • Vl-delaycontrol-prohibit-incexprs
              • Vl-clkdecl-prohibit-incexprs
              • Vl-classlist-prohibit-incexprs
              • Vl-assignlist-prohibit-incexprs
              • Vl-alwayslist-prohibit-incexprs
              • Vl-aliaslist-prohibit-incexprs
              • Vl-udplist-prohibit-incexprs
              • Vl-typedef-prohibit-incexprs-aux
              • Vl-taskdecl-prohibit-incexprs
              • Vl-sequence-prohibit-incexprs
              • Vl-repetition-prohibit-incexprs
              • Vl-regularport-prohibit-incexprs
              • Vl-propspec-prohibit-incexprs
              • Vl-property-prohibit-incexprs
              • Vl-portlist-prohibit-incexprs
              • Vl-portdecl-prohibit-incexprs
              • Vl-port-prohibit-incexprs-aux
              • Vl-paramdecl-prohibit-incexprs-aux
              • Vl-paramdecl-prohibit-incexprs
              • Vl-maybe-rhs-prohibit-incexprs
              • Vl-initial-prohibit-incexprs-aux
              • Vl-gateinst-prohibit-incexprs
              • Vl-gatedelay-prohibit-incexprs
              • Vl-dpiimport-prohibit-incexprs
              • Vl-distlist-prohibit-incexprs
              • Vl-distitem-prohibit-incexprs
              • Vl-clkassign-prohibit-incexprs
              • Vl-class-prohibit-incexprs
              • Vl-bindlist-prohibit-incexprs
              • Vl-assign-prohibit-incexprs-aux
              • Vl-arguments-prohibit-incexprs
              • Vl-always-prohibit-incexprs-aux
              • Vl-alias-prohibit-incexprs-aux
              • Vl-vardecl-prohibit-incexprs
              • Vl-typedef-prohibit-incexprs
              • Vl-propport-prohibit-incexprs
              • Vl-port-prohibit-incexprs
              • Vl-plainarg-prohibit-incexprs
              • Vl-namedarg-prohibit-incexprs
              • Vl-modport-prohibit-incexprs
              • Vl-modinst-prohibit-incexprs
              • Vl-letdecl-prohibit-incexprs
              • Vl-initial-prohibit-incexprs
              • Vl-fundecl-prohibit-incexprs
              • Vl-exprdist-prohibit-incexprs
              • Vl-elabtask-prohibit-incexprs
              • Vl-clkskew-prohibit-incexprs
              • Vl-assign-prohibit-incexprs
              • Vl-always-prohibit-incexprs
              • Vl-alias-prohibit-incexprs
              • Vl-udp-prohibit-incexprs
              • Vl-rhs-prohibit-incexprs
              • Vl-modelement-increwrite
              • Vl-final-prohibit-incexprs
              • Vl-expr-prohibit-incexprs
              • Vl-bind-prohibit-incexprs
              • Vl-function-specialization-map-increwrite
              • Vl-expr-incexprs
                • Vl-exprlist-incexprs
              • Vl-incexpr-post-p
              • Vl-incexpr-p
              • Vl-function-specialization-increwrite
              • Vl-interface-increwrite
              • Vl-module-increwrite
              • Vl-packagelist-prohibit-incexprs
              • Vl-interfacelist-prohibit-incexprs
              • Vl-design-prohibit-incexprs-top-aux
              • Vl-design-increwrite
              • Vl-taskdecllist-increwrite
              • Vl-packagelist-increwrite
              • Vl-package-increwrite
              • Vl-modulelist-prohibit-incexprs
              • Vl-interfacelist-increwrite
              • Vl-interface-prohibit-incexprs
              • Vl-initiallist-increwrite
              • Vl-incexpr->lhsexpr
              • Vl-fundecllist-increwrite
              • Vl-elabtasklist-increwrite
              • Vl-design-prohibit-incexprs
              • Vl-package-prohibit-incexprs
              • Vl-modulelist-increwrite
              • Vl-module-prohibit-incexprs
              • Vl-fundecl-increwrite
              • Vl-finallist-increwrite
              • Vl-design-increment-elim
              • Vl-classlist-increwrite
              • Vl-alwayslist-increwrite
              • Vl-taskdecl-increwrite
              • Vl-initial-increwrite
              • Vl-incexprlist-p
              • Vl-elabtask-increwrite
              • Vl-class-increwrite
              • Vl-always-increwrite
              • Vl-maybe-exprlist-has-incexprs-p
              • Vl-final-increwrite
              • Vl-maybe-expr-has-incexprs-p
              • Vl-expr-has-incexprs-p
            • Make-implicit-wires
            • Basic-bind-elim
            • Argresolve
            • Basicsanity
            • Portdecl-sign
            • Enum-names
            • Port-resolve
            • Udp-elim
            • Vl-annotate-design
            • Vl-annotate-module
          • Clean-warnings
          • Eliminitial
          • Custom-transform-hooks
          • Problem-modules
      • X86isa
      • Svl
      • Rtl
    • Software-verification
    • Math
    • Testing-utilities
  • Increment-elim

Vl-expr-incexprs

Gather all increment/decrement/assignment expressions from an expression.

Signature
(vl-expr-incexprs x) → incexprs
Arguments
x — Guard (vl-expr-p x).
Returns
incexprs — Type (and (vl-exprlist-p incexprs) (vl-incexprlist-p incexprs)).

Theorem: return-type-of-vl-expr-incexprs.incexprs

(defthm return-type-of-vl-expr-incexprs.incexprs
  (b* ((?incexprs (vl-expr-incexprs x)))
    (and (vl-exprlist-p incexprs)
         (vl-incexprlist-p incexprs)))
  :rule-classes :rewrite)

Theorem: return-type-of-vl-exprlist-incexprs.incexprs

(defthm return-type-of-vl-exprlist-incexprs.incexprs
  (b* ((?incexprs (vl-exprlist-incexprs x)))
    (and (vl-exprlist-p incexprs)
         (vl-incexprlist-p incexprs)))
  :rule-classes :rewrite)

Theorem: vl-expr-incexprs-of-vl-expr-fix-x

(defthm vl-expr-incexprs-of-vl-expr-fix-x
  (equal (vl-expr-incexprs (vl-expr-fix x))
         (vl-expr-incexprs x)))

Theorem: vl-exprlist-incexprs-of-vl-exprlist-fix-x

(defthm vl-exprlist-incexprs-of-vl-exprlist-fix-x
  (equal (vl-exprlist-incexprs (vl-exprlist-fix x))
         (vl-exprlist-incexprs x)))

Theorem: vl-expr-incexprs-vl-expr-equiv-congruence-on-x

(defthm vl-expr-incexprs-vl-expr-equiv-congruence-on-x
  (implies (vl-expr-equiv x x-equiv)
           (equal (vl-expr-incexprs x)
                  (vl-expr-incexprs x-equiv)))
  :rule-classes :congruence)

Theorem: vl-exprlist-incexprs-vl-exprlist-equiv-congruence-on-x

(defthm vl-exprlist-incexprs-vl-exprlist-equiv-congruence-on-x
  (implies (vl-exprlist-equiv x x-equiv)
           (equal (vl-exprlist-incexprs x)
                  (vl-exprlist-incexprs x-equiv)))
  :rule-classes :congruence)

Subtopics

Vl-exprlist-incexprs