(bfrstate>= x y) → *
Function:
(defun bfrstate>= (x y) (declare (xargs :guard (and (bfrstate-p x) (bfrstate-p y)))) (let ((__function__ 'bfrstate>=)) (declare (ignorable __function__)) (and (eql (bfrstate->mode x) (bfrstate->mode y)) (>= (bfrstate->bound x) (bfrstate->bound y)))))
Theorem:
(defthm bfrstate>=-self (bfrstate>= x x))
Theorem:
(defthm bfrstate>=-implies-mode (implies (bfrstate>= x y) (equal (bfrstate->mode x) (bfrstate->mode y))))
Theorem:
(defthm bfrstate>=-implies-bound (implies (bfrstate>= x y) (>= (bfrstate->bound x) (bfrstate->bound y))) :rule-classes (:rewrite :linear))
Theorem:
(defthm bfrstate>=-of-bfrstate-fix-x (equal (bfrstate>= (bfrstate-fix x) y) (bfrstate>= x y)))
Theorem:
(defthm bfrstate>=-bfrstate-equiv-congruence-on-x (implies (bfrstate-equiv x x-equiv) (equal (bfrstate>= x y) (bfrstate>= x-equiv y))) :rule-classes :congruence)
Theorem:
(defthm bfrstate>=-of-bfrstate-fix-y (equal (bfrstate>= x (bfrstate-fix y)) (bfrstate>= x y)))
Theorem:
(defthm bfrstate>=-bfrstate-equiv-congruence-on-y (implies (bfrstate-equiv y y-equiv) (equal (bfrstate>= x y) (bfrstate>= x y-equiv))) :rule-classes :congruence)