Logic form of ipasir-set-limit. See ipasir for usage.
(ipasir-set-limit$a solver limit) → new-solver
Function:
(defun ipasir-set-limit$a (solver limit) (declare (xargs :guard (and (ipasir$a-p solver) (acl2::maybe-natp limit)))) (declare (xargs :guard (not (eq (ipasir-get-status$a solver) :undef)))) (let ((__function__ 'ipasir-set-limit$a)) (declare (ignorable __function__)) (b* (((ipasir$a solver))) (change-ipasir$a solver :history (cons (cons ':limit (cons (acl2::maybe-natp-fix limit) 'nil)) solver.history)))))
Theorem:
(defthm ipasir$a-p-of-ipasir-set-limit$a (b* ((new-solver (ipasir-set-limit$a solver limit))) (ipasir$a-p new-solver)) :rule-classes :rewrite)
Theorem:
(defthm status-of-ipasir-set-limit$a (b* ((?new-solver (ipasir-set-limit$a solver limit))) (equal (ipasir$a->status new-solver) (ipasir$a->status solver))))
Theorem:
(defthm new-clause-of-ipasir-set-limit$a (b* ((?new-solver (ipasir-set-limit$a solver limit))) (equal (ipasir$a->new-clause new-solver) (ipasir$a->new-clause solver))))
Theorem:
(defthm formula-of-ipasir-set-limit$a (b* ((?new-solver (ipasir-set-limit$a solver limit))) (equal (ipasir$a->formula new-solver) (ipasir$a->formula solver))))
Theorem:
(defthm assumption-of-ipasir-set-limit$a (b* ((?new-solver (ipasir-set-limit$a solver limit))) (b* (((ipasir$a solver)) ((ipasir$a new-solver))) (equal new-solver.assumption solver.assumption))))
Theorem:
(defthm ipasir-set-limit$a-of-ipasir$a-fix-solver (equal (ipasir-set-limit$a (ipasir$a-fix solver) limit) (ipasir-set-limit$a solver limit)))
Theorem:
(defthm ipasir-set-limit$a-ipasir$a-equiv-congruence-on-solver (implies (ipasir$a-equiv solver solver-equiv) (equal (ipasir-set-limit$a solver limit) (ipasir-set-limit$a solver-equiv limit))) :rule-classes :congruence)
Theorem:
(defthm ipasir-set-limit$a-of-maybe-natp-fix-limit (equal (ipasir-set-limit$a solver (acl2::maybe-natp-fix limit)) (ipasir-set-limit$a solver limit)))
Theorem:
(defthm ipasir-set-limit$a-maybe-nat-equiv-congruence-on-limit (implies (acl2::maybe-nat-equiv limit limit-equiv) (equal (ipasir-set-limit$a solver limit) (ipasir-set-limit$a solver limit-equiv))) :rule-classes :congruence)