(defun load-pvs (&optional pvspath)
  "Load PVS into the current lisp environment. Argument PVSPATH is the filespec
to the sources of PVS. If not provided, it is fetched from the environment
variables PVSPATH."
  (let ((pvspath
          (cond
            (pvspath (uiop:ensure-pathname pvspath :ensure-directory t))
            ((uiop:getenvp "PVSPATH") (uiop:getenv-pathname "PVSPATH"))
            (t (error "Cannot load PVS: PVSPATH not set.")))))
    (uiop:with-current-directory (pvspath)
      (load "pvs.system")
      (uiop:symbol-call :make "OPERATE-ON-SYSTEM" :pvs :load))))