Create information for a function definition.
Function:
(defun fun-info-from-fundef (fundef) (declare (xargs :guard (fundefp fundef))) (let ((__function__ 'fun-info-from-fundef)) (declare (ignorable __function__)) (b* (((fundef fundef) fundef) ((mv & params tyname) (tyspec+declor-to-ident+params+tyname fundef.tyspec fundef.declor))) (make-fun-info :params params :result tyname :body fundef.body))))
Theorem:
(defthm fun-infop-of-fun-info-from-fundef (b* ((finfo (fun-info-from-fundef fundef))) (fun-infop finfo)) :rule-classes :rewrite)
Theorem:
(defthm fun-info-from-fundef-of-fundef-fix-fundef (equal (fun-info-from-fundef (fundef-fix fundef)) (fun-info-from-fundef fundef)))
Theorem:
(defthm fun-info-from-fundef-fundef-equiv-congruence-on-fundef (implies (fundef-equiv fundef fundef-equiv) (equal (fun-info-from-fundef fundef) (fun-info-from-fundef fundef-equiv))) :rule-classes :congruence)