Get the current process identification (PID) number.
This will just fail if called on an unsupported Lisp.
Function:
(defun getpid-fn (state) (declare (xargs :stobjs (state))) (declare (xargs :guard t)) (let ((__function__ 'getpid)) (declare (ignorable __function__)) (b* ((- (raise "Raw Lisp definition not installed?")) ((mv err val state) (read-acl2-oracle state)) ((when err) (mv nil state))) (mv (nfix val) state))))
Theorem:
(defthm return-type-of-getpid.pid (b* (((mv ?pid ?new-state) (getpid-fn state))) (or (natp pid) (not pid))) :rule-classes :type-prescription)
Theorem:
(defthm state-p1-of-getpid.new-state (implies (force (state-p1 state)) (b* (((mv ?pid ?new-state) (getpid-fn state))) (state-p1 new-state))) :rule-classes :rewrite)
Theorem:
(defthm w-state-of-getpid (b* (((mv ?pid ?new-state) (getpid-fn state))) (equal (w new-state) (w state))))