SNOC_INDUCT_TAC reduces a goal !l.P[l], where l ranges over lists, to two
subgoals corresponding to the base and step cases in a proof by structural
induction on l from the tail end. The induction hypothesis appears
among the assumptions of the subgoal for the step case.  The
specification of SNOC_INDUCT_TAC is: 
                     A ?- !l. P
   =====================================================  SNOC_INDUCT_TAC
    A |- P[NIL/l]   A u {{P[l'/l]}} ?- !x. P[SNOC x l'/l]