• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
    • Debugging
    • Std
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
      • Gl
      • Esim
      • Vl2014
      • Sv
        • Svex-stvs
          • Svtv-data
          • Defsvtv$
          • Svtv-run
          • Defsvtv-phasewise
          • Svtv
            • Svtv-chase
            • Svtv-p
              • Svtv-to-fsm
              • Make-svtv
              • Svtv-fix
              • Change-svtv
              • Svtv-equiv
              • Svtv->orig-overrides
              • Svtv->orig-internals
              • Svtv->expanded-overrides
              • Svtv->states
              • Svtv->nextstate
              • Svtv->expanded-ins
              • Svtv->outmasks
              • Svtv->outexprs
              • Svtv->orig-outs
              • Svtv->orig-ins
              • Svtv->inmasks
              • Svtv->nphases
              • Svtv->name
              • Svtv->labels
              • Svtv->inmap
              • Svtv->form
            • Svtv-spec
            • Defsvtv
            • Process.lisp
            • Svtv-doc
            • Svtv-chase$
            • Svtv-versus-stv
            • Svtv-debug-fsm
            • Structure.lisp
            • Svtv-debug
            • Def-pipeline-thm
            • Expand.lisp
            • Def-cycle-thm
            • Svtv-utilities
            • Svtv-debug$
            • Defsvtv$-phasewise
          • Svex-decomposition-methodology
          • Sv-versus-esim
          • Svex-decomp
          • Svex-compose-dfs
          • Svex-compilation
          • Moddb
          • Svmods
          • Svstmt
          • Sv-tutorial
          • Expressions
          • Symbolic-test-vector
          • Vl-to-svex
        • Fgl
        • Vwsim
        • Vl
        • X86isa
        • Svl
        • Rtl
      • Software-verification
      • Math
      • Testing-utilities
    • Svtv

    Svtv-p

    Recognizer for svtv structures.

    Signature
    (svtv-p x) → *

    Definitions and Theorems

    Function: svtv-p

    (defun svtv-p (x)
      (declare (xargs :guard t))
      (let ((__function__ 'svtv-p))
        (declare (ignorable __function__))
        (and (true-listp x)
             (eql (len x) 16)
             (b* ((name (std::da-nth 0 x))
                  (outexprs (std::da-nth 1 x))
                  (nextstate (std::da-nth 2 x))
                  (states (std::da-nth 3 x))
                  (inmasks (std::da-nth 4 x))
                  (outmasks (std::da-nth 5 x))
                  (inmap (std::da-nth 6 x))
                  (orig-ins (std::da-nth 7 x))
                  (orig-overrides (std::da-nth 8 x))
                  (orig-outs (std::da-nth 9 x))
                  (orig-internals (std::da-nth 10 x))
                  (expanded-ins (std::da-nth 11 x))
                  (expanded-overrides (std::da-nth 12 x))
                  (nphases (std::da-nth 13 x))
                  (labels (std::da-nth 14 x))
                  (?form (std::da-nth 15 x)))
               (and (symbolp name)
                    (svex-alist-p outexprs)
                    (svex-alist-p nextstate)
                    (svex-alistlist-p states)
                    (svar-boolmasks-p inmasks)
                    (svar-boolmasks-p outmasks)
                    (svtv-inputmap-p inmap)
                    (true-list-listp orig-ins)
                    (true-list-listp orig-overrides)
                    (true-list-listp orig-outs)
                    (true-list-listp orig-internals)
                    (svtv-lines-p expanded-ins)
                    (svtv-lines-p expanded-overrides)
                    (natp nphases)
                    (symbol-listp labels))))))

    Theorem: consp-when-svtv-p

    (defthm acl2::consp-when-svtv-p
      (implies (svtv-p x) (consp x))
      :rule-classes :compound-recognizer)