Extension of 4v-sexpr-<= to alists.
We say
Theorem:
(defthm 4v-sexpr-alist-<=-necc (implies (not (4v-sexpr-<= (cdr (hons-assoc-equal k a)) (cdr (hons-assoc-equal k b)))) (not (4v-sexpr-alist-<= a b))))
Theorem:
(defthm 4v-sexpr-alist-<=-witnessing-witness-rule-correct (implies (not ((lambda (k b a) (not (4v-sexpr-<= (cdr (hons-assoc-equal k a)) (cdr (hons-assoc-equal k b))))) (4v-sexpr-alist-<=-witness a b) b a)) (4v-sexpr-alist-<= a b)) :rule-classes nil)
Theorem:
(defthm 4v-sexpr-alist-<=-instancing-instance-rule-correct (implies (not (4v-sexpr-<= (cdr (hons-assoc-equal k a)) (cdr (hons-assoc-equal k b)))) (not (4v-sexpr-alist-<= a b))) :rule-classes nil)
Theorem:
(defthm 4v-sexpr-alist-<=-refl (4v-sexpr-alist-<= x x))
Theorem:
(defthm 4v-sexpr-alist-<=-trans1 (implies (and (4v-sexpr-alist-<= a b) (4v-sexpr-alist-<= b c)) (4v-sexpr-alist-<= a c)))
Theorem:
(defthm 4v-sexpr-alist-<=-trans2 (implies (and (4v-sexpr-alist-<= b c) (4v-sexpr-alist-<= a b)) (4v-sexpr-alist-<= a c)))
Theorem:
(defthm hons-assoc-equal-sexpr-monotonic (implies (4v-sexpr-alist-<= a b) (4v-sexpr-<= (cdr (hons-assoc-equal k a)) (cdr (hons-assoc-equal k b)))))