Return fresh defiso theorem names.
(isodata-fresh-defiso-thm-names isoname verify-guards$ names-to-avoid wrld) → (mv forth-image back-image back-of-forth forth-of-back oldp-guard newp-guard forth-guard back-guard forth-injective back-injective updated-names-to-avoid)
These are used as the
In order for the generated defiso to succeed, we supply explicit fresh theorem names to use. These are returned by this function.
We append the keyword (without colon) that denotes the theorem
at the end of the defiso name
(which is generated by isodata-fresh-defiso-name-with-*s-suffix,
and add enough
The names of the guard-related theorems are
Function:
(defun isodata-fresh-defiso-thm-names (isoname verify-guards$ names-to-avoid wrld) (declare (xargs :guard (and (symbolp isoname) (booleanp verify-guards$) (symbol-listp names-to-avoid) (plist-worldp wrld)))) (let ((__function__ 'isodata-fresh-defiso-thm-names)) (declare (ignorable __function__)) (b* ((prefix (add-suffix isoname "-")) ((mv forth-image names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :alpha-image)) nil names-to-avoid wrld)) ((mv back-image names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :beta-image)) nil names-to-avoid wrld)) ((mv back-of-forth names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :beta-of-alpha)) nil names-to-avoid wrld)) ((mv forth-of-back names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :alpha-of-beta)) nil names-to-avoid wrld)) ((mv oldp-guard names-to-avoid) (if verify-guards$ (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :doma-guard)) nil names-to-avoid wrld) (mv nil names-to-avoid))) ((mv newp-guard names-to-avoid) (if verify-guards$ (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :domb-guard)) nil names-to-avoid wrld) (mv nil names-to-avoid))) ((mv forth-guard names-to-avoid) (if verify-guards$ (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :alpha-guard)) nil names-to-avoid wrld) (mv nil names-to-avoid))) ((mv back-guard names-to-avoid) (if verify-guards$ (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :beta-guard)) nil names-to-avoid wrld) (mv nil names-to-avoid))) ((mv forth-injective names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :alpha-injective)) nil names-to-avoid wrld)) ((mv back-injective names-to-avoid) (fresh-logical-name-with-$s-suffix (add-suffix prefix (symbol-name :beta-injective)) nil names-to-avoid wrld))) (mv forth-image back-image back-of-forth forth-of-back oldp-guard newp-guard forth-guard back-guard forth-injective back-injective names-to-avoid))))