Collect up all first components of pairs in a list
(strip-cars x) is the list obtained by walking through the list x and collecting up all first components (cars). This function is implemented in a tail-recursive way, despite its logical definition.
(strip-cars x) has a guard of (alistp x).
Function: strip-cars
(defun strip-cars (x) (declare (xargs :guard (alistp x))) (cond ((endp x) nil) (t (cons (car (car x)) (strip-cars (cdr x))))))