Get a host-Lisp specific string describing the version number for this Common Lisp implementation.
In the logic this function reads from the ACL2 oracle. In the
execution, we call the Common Lisp function
Note that the Common Lisp
Function:
(defun lisp-version-fn (state) (declare (xargs :stobjs (state))) (declare (xargs :guard t)) (let ((__function__ 'lisp-version)) (declare (ignorable __function__)) (b* (((mv err val state) (read-acl2-oracle state)) (description (if (and (not err) (stringp val)) val ""))) (mv description state))))
Theorem:
(defthm stringp-of-lisp-version.description (b* (((mv ?description acl2::?state) (lisp-version-fn state))) (stringp description)) :rule-classes :type-prescription)
Theorem:
(defthm state-p1-of-lisp-version.state (implies (force (state-p1 state)) (b* (((mv ?description acl2::?state) (lisp-version-fn state))) (state-p1 state))) :rule-classes :rewrite)