# File Cantor.ML

    (* tactic script -- single steps *)

    Goal "EX S. S ~: range (f :: 'a => 'a set)";
      by (rtac exI 1);
      by (rtac notI 1);
      by (etac rangeE 1);
      by (etac equalityCE 1);
      by (dtac CollectD 1);
      by (contr_tac 1);
      by (swap_res_tac [CollectI] 1);
      by (assume_tac 1);
    qed "";

    (* tactic script -- automatic *)

    Goal "EX S. S ~: range (f :: 'a => 'a set)";
      by (Best_tac 1);
    qed "";