anchor.diff:                      (consp (ex-args->term-lst expand-args))
                       (not (consp (car (ex-args->term-lst expand-args)))))
                  (symbolp (car (ex-args->term-lst expand-args)))))
  +
  +    (defthm pseudo-termp-of-car-of-ex-args->term-lst
  +      (implies (and (ex-args-p expand-args)
  +                    (consp (ex-args->term-lst expand-args)))
  +               (pseudo-termp (car (ex-args->term-lst expand-args))))
  +      :hints (("Goal" :in-theory (enable pseudo-termp))))
  +
  +    (defthm len-equal-of-formals-of-pseudo-lambdap-and-actuals-of-pseudo-termp
  +      (implies (and (ex-args-p expand-args)
  +                    (pseudo-termp (car (ex-args->term-lst expand-args)))
  +                    (pseudo-lambdap (car (car (ex-args->term-lst expand-args)))))
  +               (equal (len (cadr (car (car (ex-args->term-lst expand-args)))))
  +                      (len (cdr (car (ex-args->term-lst expand-args))))))
  +      :hints (("Goal" :in-theory (enable pseudo-termp pseudo-lambdap))))
  +
  +    (local (defthm lemma-6
  +             (implies (and (pseudo-termp x) (not (symbolp x)) (not (pseudo-lambdap (car x))))
  +                      (symbolp (car x)))
  +             :hints (("Goal" :in-theory (enable pseudo-termp pseudo-lambdap)))))
  +
  +    (defthm symbolp-of-caar-of-ex-args->term-lst
  +      (implies (and (ex-args-p expand-args)
  +                    (consp (ex-args->term-lst expand-args))
  +                    (not (symbolp (car (ex-args->term-lst expand-args))))
  +                    (not (pseudo-lambdap (car (car (ex-args->term-lst expand-args))))))
  +               (symbolp (car (car (ex-args->term-lst expand-args))))))
       )
   
     (encapsulate ()
  
positive.code: (include-book "kestrel/utilities/terms" :dir :system)
  ;; for symbol-fix
  (include-book "centaur/fty/basetypes" :dir :system)
  
  ;; Include SMT books
  (include-book "SMT-hint-interface")
  
  
  (defsection SMT-goal-generator
    :parents (Smtlink)
    :short "SMT-goal-generator generates the three type of goals for the verified
    clause processor"
  
    (defalist sym-nat-alist
      :key-type symbol
  
negative.code:              (implies (and (pseudo-termp z) (consp z) (not (equal (car z) 'quote)))
                        (pseudo-term-listp (cdr z)))))
  
      (defthm pseudo-term-list-of-cdar-of-ex-args->term-lst
        (implies (and (ex-args-p expand-args)
                      (consp (ex-args->term-lst expand-args))
                      (consp (car (ex-args->term-lst expand-args)))
  