(json-to-comp-db value warnings-onp warnings) → (mv erp db warnings$)
Function:
(defun json-to-comp-db (value warnings-onp warnings) (declare (xargs :guard (and (json::valuep value) (booleanp warnings-onp) (acl2::msg-listp warnings)))) (b* ((warnings (mbe :logic (if (acl2::msg-listp warnings) warnings nil) :exec warnings)) ((reterr) nil warnings)) (json::value-case value :array (json-to-comp-db-entry-list value.elements nil warnings-onp warnings) :otherwise (retmsg$ "Expected array type at ~ top level of JSON compilation database. ~ Found ~x0 instead." (json::value-kind value)))))
Theorem:
(defthm comp-dbp-of-json-to-comp-db.db (b* (((mv acl2::?erp ?db ?warnings$) (json-to-comp-db value warnings-onp warnings))) (comp-dbp db)) :rule-classes :rewrite)
Theorem:
(defthm msg-listp-of-json-to-comp-db.warnings$ (b* (((mv acl2::?erp ?db ?warnings$) (json-to-comp-db value warnings-onp warnings))) (acl2::msg-listp warnings$)) :rule-classes :rewrite)
Theorem:
(defthm json-to-comp-db-of-value-fix-value (equal (json-to-comp-db (json::value-fix value) warnings-onp warnings) (json-to-comp-db value warnings-onp warnings)))
Theorem:
(defthm json-to-comp-db-value-equiv-congruence-on-value (implies (json::value-equiv value value-equiv) (equal (json-to-comp-db value warnings-onp warnings) (json-to-comp-db value-equiv warnings-onp warnings))) :rule-classes :congruence)
Theorem:
(defthm json-to-comp-db-of-bool-fix-warnings-onp (equal (json-to-comp-db value (bool-fix warnings-onp) warnings) (json-to-comp-db value warnings-onp warnings)))
Theorem:
(defthm json-to-comp-db-iff-congruence-on-warnings-onp (implies (iff warnings-onp warnings-onp-equiv) (equal (json-to-comp-db value warnings-onp warnings) (json-to-comp-db value warnings-onp-equiv warnings))) :rule-classes :congruence)