src/HOL/ex/Sorting.ML
changeset 4069 d6d06a03a2e9
parent 3919 c036caebfc75
child 4089 96fba19bcbe2
equal deleted inserted replaced
4068:99224854a0ac 4069:d6d06a03a2e9
    28 (* Equivalence of two definitions of `sorted' *)
    28 (* Equivalence of two definitions of `sorted' *)
    29 
    29 
    30 val prems = goalw Sorting.thy [transf_def]
    30 val prems = goalw Sorting.thy [transf_def]
    31   "transf(le) ==> sorted1 le xs = sorted le xs";
    31   "transf(le) ==> sorted1 le xs = sorted le xs";
    32 by (list.induct_tac "xs" 1);
    32 by (list.induct_tac "xs" 1);
    33 by (ALLGOALS(asm_simp_tac (!simpset addsplits [expand_list_case])));
    33 by (ALLGOALS(asm_simp_tac (!simpset addsplits [split_list_case])));
    34 by (cut_facts_tac prems 1);
    34 by (cut_facts_tac prems 1);
    35 by (Fast_tac 1);
    35 by (Fast_tac 1);
    36 qed "sorted1_is_sorted";
    36 qed "sorted1_is_sorted";