(paths-add-scope scope paths) → new-paths
Function:
(defun paths-add-scope (scope paths) (declare (xargs :guard (and (name-p scope) (pathlist-p paths)))) (let ((__function__ 'paths-add-scope)) (declare (ignorable __function__)) (if (atom paths) nil (cons (make-path-scope :namespace scope :subpath (car paths)) (paths-add-scope scope (cdr paths))))))
Theorem:
(defthm pathlist-p-of-paths-add-scope (b* ((new-paths (paths-add-scope scope paths))) (pathlist-p new-paths)) :rule-classes :rewrite)
Theorem:
(defthm paths-add-scope-of-name-fix-scope (equal (paths-add-scope (name-fix scope) paths) (paths-add-scope scope paths)))
Theorem:
(defthm paths-add-scope-name-equiv-congruence-on-scope (implies (name-equiv scope scope-equiv) (equal (paths-add-scope scope paths) (paths-add-scope scope-equiv paths))) :rule-classes :congruence)
Theorem:
(defthm paths-add-scope-of-pathlist-fix-paths (equal (paths-add-scope scope (pathlist-fix paths)) (paths-add-scope scope paths)))
Theorem:
(defthm paths-add-scope-pathlist-equiv-congruence-on-paths (implies (pathlist-equiv paths paths-equiv) (equal (paths-add-scope scope paths) (paths-add-scope scope paths-equiv))) :rule-classes :congruence)