Identity function in execution; in the logic, ensures that the new-clause field of the ipasir is empty, which it must be by the guard.
(ipasir-cancel-new-clause ipasir) → new-ipasir
See ipasir-add-binary, particularly
Function:
(defun ipasir-cancel-new-clause$inline (ipasir) (declare (xargs :stobjs (ipasir))) (declare (xargs :guard (ipasir-empty-new-clause ipasir))) (let ((__function__ 'ipasir-cancel-new-clause)) (declare (ignorable __function__)) (mbe :logic (non-exec (change-ipasir$a ipasir :new-clause nil)) :exec ipasir)))
Theorem:
(defthm ipasir-cancel-new-clause-status (b* ((?new-ipasir (ipasir-cancel-new-clause$inline ipasir))) (equal (ipasir$a->status new-ipasir) (ipasir$a->status ipasir))))
Theorem:
(defthm ipasir-cancel-new-clause-formula (b* ((?new-ipasir (ipasir-cancel-new-clause$inline ipasir))) (equal (ipasir$a->formula new-ipasir) (ipasir$a->formula ipasir))))
Theorem:
(defthm ipasir-cancel-new-clause-new-clause (b* ((?new-ipasir (ipasir-cancel-new-clause$inline ipasir))) (not (ipasir$a->new-clause new-ipasir))))
Theorem:
(defthm ipasir-cancel-new-clause-assumption (b* ((?new-ipasir (ipasir-cancel-new-clause$inline ipasir))) (equal (ipasir$a->assumption new-ipasir) (ipasir$a->assumption ipasir))))