Verify that each named sequence is strictly increasing
You are using a list to store the association between names and the previous maximum value. This makes your algorithm O(N^2) because for each element, you might have to go through a list of all previous elements.

You can use a hash table (which has O(1) lookup) to make your algorithm O(N).

You can also add keys when they are not found rather than doing it all at the start for simpler code.

Try to avoid using indices when you can iterate by elements.

quick example solution:

(defun launchSequenceChecker (systemNames stepNumbers)
  (let ((ht (make-hash-table :test 'equal)))
    (loop named l
      for name in systemNames
      for num  in stepNumbers
      do (let ((prev (gethash name ht)))
           (if prev
             (progn
               (when (&gt; prev num)
                 (return-from l nil))
               (setf (gethash name ht)
                     (max prev num)))
             (setf (gethash name ht) num)))
      finally  (return-from l t))))