PRACTICE-FORMULATING-STRONG-RULES-4

rules suggested by (SUBSETP (APPEND (FOO A) (BAR B)) (MUM C))
Major Section:  INTRODUCTION-TO-THE-THEOREM-PROVER

What rules come to mind when looking at the following subterm of a Key Checkpoint? Think of strong rules (see strong-rewrite-rules).

(SUBSETP (APPEND (FOO A) (BAR B)) (MUM C))

When is (append x y) a subset of z? When everything in x is in z and everything in y is in z. We would make it a rewrite rule:

(defthm subsetp-append-1-strong
  (equal (subsetp (append x y) z)
         (and (subsetp x z)
              (subsetp y z))))

We put the ``-1-'' in the name because there is a comparable theorem for when the append is in the second argument of the subsetp; see practice-formulating-strong-rules-5.

This strong rule is better than the conditional rule;

(defthm subsetp-append-1-weak
  (implies (and (subsetp x z)
                (subsetp y z))
           (subsetp (append x y) z)))
for all the usual reasons.

Use your browser's Back Button now to return to practice-formulating-strong-rules.