src/HOLCF/IMP/Denotational.ML
changeset 5143 b94cd208f073
parent 5068 fb28eaa07e01
child 5192 704dd3a6d47d
equal deleted inserted replaced
5142:c56aa8b59dc0 5143:b94cd208f073
    20  "(dlift f`l = Def y) = (? x. l = Def x & f`(Discr x) = Def y)";
    20  "(dlift f`l = Def y) = (? x. l = Def x & f`(Discr x) = Def y)";
    21 by (simp_tac (simpset() addsplits [split_lift_case]) 1);
    21 by (simp_tac (simpset() addsplits [split_lift_case]) 1);
    22 qed "dlift_is_Def";
    22 qed "dlift_is_Def";
    23 Addsimps [dlift_is_Def];
    23 Addsimps [dlift_is_Def];
    24 
    24 
    25 Goal "!!c. <c,s> -c-> t ==> D c`(Discr s) = (Def t)";
    25 Goal "<c,s> -c-> t ==> D c`(Discr s) = (Def t)";
    26 by (etac evalc.induct 1);
    26 by (etac evalc.induct 1);
    27       by (ALLGOALS Asm_simp_tac);
    27       by (ALLGOALS Asm_simp_tac);
    28  by (ALLGOALS (stac fix_eq THEN' Asm_full_simp_tac));
    28  by (ALLGOALS (stac fix_eq THEN' Asm_full_simp_tac));
    29 qed_spec_mp "eval_implies_D";
    29 qed_spec_mp "eval_implies_D";
    30 
    30