SUBS : (thm list -> thm -> thm)
          A1|-t1=v1 ... An|-tn=vn    A|-t
   ---------------------------------------------  SUBS[A1|-t1=v1;...;An|-tn=vn]
    A1 u ... u An u A |- t[v1,...,vn/t1,...,tn]       (A|-t)
   - val thm1 = SPECL [Term`m:num`, Term`n:num`] arithmeticTheory.ADD_SYM
     val thm2 = CONJUNCT1 arithmeticTheory.ADD_CLAUSES;
   > val thm1 = |- m + n = n + m : thm
     val thm2 = |- 0 + m = m : thm
- SUBS [thm1, thm2] (ASSUME (Term `(n + 0) + (0 + m) = m + n`)); > val it = [.] |- n + 0 + m = n + m : thm - SUBS [thm1, thm2] (ASSUME (Term `!n. (n + 0) + (0 + m) = m + n`)); > val it = [.] |- !n. n + 0 + m = m + n : thm