|- !f. TR_STRICT f = f [] = []
|- !f. TR_DIST f = (!s t. f (APPEND s t) = APPEND (f s) (f t))
|- (!t. ITERATE 0 t = []) /\ (!n t. ITERATE (SUC n) t = APPEND t (ITERATE n t))
|- !f. TR_DIST f ==> TR_STRICT f
|- !n t. ITERATE (SUC n) t = APPEND (ITERATE n t) t
|- !n s t. ITERATE (SUC n) (APPEND s t) = APPEND s (APPEND (ITERATE n (APPEND t s)) t)