src/HOLCF/Discrete.ML
changeset 12338 de0f4a63baa5
parent 12030 46d57d0290a2
child 14981 e73f8140af78
equal deleted inserted replaced
12337:7c6a970f0808 12338:de0f4a63baa5
     8 by (Simp_tac 1);
     8 by (Simp_tac 1);
     9 qed "undiscr_Discr";
     9 qed "undiscr_Discr";
    10 Addsimps [undiscr_Discr];
    10 Addsimps [undiscr_Discr];
    11 
    11 
    12 Goal
    12 Goal
    13  "!!S::nat=>('a::term)discr. chain(S) ==> range(%i. f(S i)) = {f(S 0)}";
    13  "!!S::nat=>('a::type)discr. chain(S) ==> range(%i. f(S i)) = {f(S 0)}";
    14 by (fast_tac (claset() addDs [discr_chain0] addEs [arg_cong]) 1);
    14 by (fast_tac (claset() addDs [discr_chain0] addEs [arg_cong]) 1);
    15 qed "discr_chain_f_range0";
    15 qed "discr_chain_f_range0";
    16 
    16 
    17 Goalw [cont,is_lub_def,is_ub_def] "cont(%x::('a::term)discr. f x)";
    17 Goalw [cont,is_lub_def,is_ub_def] "cont(%x::('a::type)discr. f x)";
    18 by (simp_tac (simpset() addsimps [discr_chain_f_range0]) 1);
    18 by (simp_tac (simpset() addsimps [discr_chain_f_range0]) 1);
    19 qed "cont_discr";
    19 qed "cont_discr";
    20 AddIffs [cont_discr];
    20 AddIffs [cont_discr];