EXAMPLE-INDUCTION-SCHEME-ON-SEVERAL-VARIABLES.html -- ACL2 Version 6.3

### EXAMPLE-INDUCTION-SCHEME-ON-SEVERAL-VARIABLES

induction on several variables

    Major Section:  INTRODUCTION-TO-THE-THEOREM-PROVER

See logic-knowledge-taken-for-granted-inductive-proof for an explanation of what we mean by the induction suggested by a recursive function or a term.

Induction on Several Variables To `(p n x)` for all `n` and all `x`, prove each of the following:

    Base Case 1:
    (implies (endp x)
             (p n x))

    Base Case 2:
    (implies (and (not (endp x))
                  (zp n))
             (p n x))

    Induction Step:
    (implies (and (not (endp x))
                  (not (zp n))
                  (p (- n 1) (cdr x)))
             (p n x))

A function that suggests this induction is

    (defun nth (n x)
      (if (endp x)
          nil
          (if (zp n)
              (car x)
              (nth (- n 1) (cdr x))))).