• Top
    • Documentation
    • Books
    • Recursion-and-induction
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
        • Symbolic-test-vectors
        • Esim-primitives
        • E-conversion
        • Esim-steps
          • Esim-sexpr-simp-new-probe-steps
          • Esim-sexpr-new-probe-steps
          • Esim-faig-new-probe-steps
          • Esim-sexpr-top-steps
          • Esim-sexpr-simp-steps
          • Esim-sexpr-probe-steps
          • Esim-faig-top-steps
          • Esim-faig-probe-steps
          • Esim-sexpr-steps
          • Esim-faig-steps
          • Patterns
          • Mod-internal-paths
          • Defmodules
          • Esim-simplify-update-fns
          • Esim-tutorial
          • Esim-vl
        • Vl2014
        • Sv
        • Vwsim
        • Fgl
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Testing-utilities
      • Math
    • Esim-steps

    Esim-faig-steps

    ESIM stepping function.

    Signature
    (esim-faig-steps mod ins st) → (mv * *)

    See esim-steps.

    Definitions and Theorems

    Function: esim-faig-steps

    (defun esim-faig-steps (mod ins st)
           (declare (xargs :guard t))
           (let ((__function__ 'esim-faig-steps))
                (declare (ignorable __function__))
                (b* (((when (atom ins)) (mv nil nil))
                     ((mv nst out)
                      (b* ((in (car ins)) ((with-fast in st)))
                          (esim-faig-3v mod in st)))
                     ((mv nsts outs)
                      (esim-faig-steps mod (cdr ins) nst)))
                    (mv (cons nst nsts) (cons out outs)))))