Representation of
See SystemVerilog-2012 Sections 35.5.2 and 35.5.3. A DPI imported
function (not task) can be declared as
Alternately, an imported function or task can be declared as
This is an ordinary defenum.
Function:
(defun vl-dpiprop-p (x) (declare (xargs :guard t)) (or (eq x 'nil) (eq x ':vl-dpi-pure) (eq x ':vl-dpi-context)))
Theorem: type-when-vl-dpiprop-p
(defthm type-when-vl-dpiprop-p (implies (vl-dpiprop-p x) (if (if (symbolp x) (if (not (equal x 't)) (not (equal x 'nil)) 'nil) 'nil) 't (equal x 'nil))) :rule-classes :compound-recognizer)