;; ;; prooflite.lisp ;; Release: ProofLite-6.0.9 (3/14/14) ;; ;; Contact: Cesar Munoz (cesar.a.munoz@nasa.gov) ;; NASA Langley Research Center ;; http://shemesh.larc.nasa.gov/people/cam/ProofLite ;; ;; Copyright (c) 2011-2012 United States Government as represented by ;; the National Aeronautics and Space Administration. No copyright ;; is claimed in the United States under Title 17, U.S.Code. All Other ;; Rights Reserved. ;;
(defun associate-proof-with-formulas (theory-name formula-name strategy force)
(let ((theory (get-typechecked-theory theory-name)))
(if theory
(let* ((fname (match-formula-name formula-name))
(name (car fname))
(args (cdr fname)))
(if fname
(let* ((regexp (expand-rex name))
(str (if force """untried "))
(fdecls (remove-if-not
#'(lambda (d)
(and (formula-decl? d)
(let ((idstr (format nil"~a" (id d))))
(and (or (not (proofs d)) force)
(pregexp-match regexp idstr)))))
(all-decls theory))))
(if fdecls
(associate-proof-with-formula
theory regexp (instantiate-script strategy args 1 "#")
fdecls)
(pvs-message "\"~a\" does not match any ~aformula" name str)))
(pvs-message "\"~a\" is not a valid proof script header" formula-name)))
(pvs-message "Theory ~a not found" theory-name))))
;; Returns a list of theory names defined in a PVS file
(defun theories-in-file (file)
(mapcan #'(lambda (theofile)
(and (or (string= (cadr theofile) file))
(list (car theofile))))
(cdr (collect-theories))))
;; Returns a list of theories imported in theory-names
(defun imported-theories-in-theories (theory-names)
(remove-duplicates
(mapcan #'(lambda (theo) (imported-theories-in-theory theo))
theory-names)))
;; Returns a list of immediately imported theories in the theory-name
(defun immediate-theories-in-theory (theory-name)
(let ((theory (get-typechecked-theory theory-name)))
(when theory
(remove-duplicates
(loop for use in (get-immediate-usings theory)
for th = (get-theory use)
when th
unless (from-prelude? th)
collect (if (typep th 'rectype-theory)
(get-typechecked-theory (generated-by th))
th))))))
;; Returns a list of theories imported in the theory-name
(defun imported-theories-in-theory (theory-name)
(let ((theory (get-typechecked-theory theory-name)))
(when theory
(let* ((*modules-visited* nil))
(my-collect-theory-usings theory)
(nreverse *modules-visited*)))))
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.