Function:
(defun imf-cst-local-part-conc3-rep-elem (cst) (declare (xargs :guard (treep cst))) (declare (xargs :guard (and (imf-cst-matchp cst "local-part") (equal (imf-cst-local-part-conc? cst) 3)))) (let ((__function__ 'imf-cst-local-part-conc3-rep-elem)) (declare (ignorable __function__)) (tree-fix (nth 0 (imf-cst-local-part-conc3-rep cst)))))
Theorem:
(defthm treep-of-imf-cst-local-part-conc3-rep-elem (b* ((cst1 (imf-cst-local-part-conc3-rep-elem cst))) (treep cst1)) :rule-classes :rewrite)
Theorem:
(defthm imf-cst-local-part-conc3-rep-elem-match (implies (and (imf-cst-matchp cst "local-part") (equal (imf-cst-local-part-conc? cst) 3)) (b* ((cst1 (imf-cst-local-part-conc3-rep-elem cst))) (imf-cst-matchp cst1 "obs-local-part"))) :rule-classes :rewrite)
Theorem:
(defthm imf-cst-local-part-conc3-rep-elem-of-tree-fix-cst (equal (imf-cst-local-part-conc3-rep-elem (tree-fix cst)) (imf-cst-local-part-conc3-rep-elem cst)))
Theorem:
(defthm imf-cst-local-part-conc3-rep-elem-tree-equiv-congruence-on-cst (implies (tree-equiv cst cst-equiv) (equal (imf-cst-local-part-conc3-rep-elem cst) (imf-cst-local-part-conc3-rep-elem cst-equiv))) :rule-classes :congruence)