src/HOLCF/Sprod2.ML
changeset 1779 1155c06fa956
parent 1461 6bcb44e4d6e5
child 2033 639de962ded4
equal deleted inserted replaced
1778:6c942cf3bf68 1779:1155c06fa956
    40         (cut_facts_tac prems 1),
    40         (cut_facts_tac prems 1),
    41         (rtac less_sprod2b 1),
    41         (rtac less_sprod2b 1),
    42         (etac (inst_sprod_po RS subst) 1)
    42         (etac (inst_sprod_po RS subst) 1)
    43         ]);
    43         ]);
    44 
    44 
    45 val less_sprod4a = (less_sprod4b RS defined_Ispair_rev);
    45 bind_thm ("less_sprod4a", less_sprod4b RS defined_Ispair_rev);
    46 (* Ispair ?a ?b << Ispair UU UU ==> ?a = UU | ?b = UU *)
    46 (* Ispair ?a ?b << Ispair UU UU ==> ?a = UU | ?b = UU *)
    47 
    47 
    48 qed_goal "less_sprod4c" Sprod2.thy
    48 qed_goal "less_sprod4c" Sprod2.thy
    49  "[|Ispair xa ya << Ispair x y; xa~=UU; ya~=UU; x~=UU; y~=UU|] ==>\
    49  "[|Ispair xa ya << Ispair x y; xa~=UU; ya~=UU; x~=UU; y~=UU|] ==>\
    50 \               xa<<x & ya << y"
    50 \               xa<<x & ya << y"
   250         (rtac is_lub_thelub 1),
   250         (rtac is_lub_thelub 1),
   251         (etac (monofun_Issnd RS ch2ch_monofun) 1),
   251         (etac (monofun_Issnd RS ch2ch_monofun) 1),
   252         (etac (monofun_Issnd RS ub2ub_monofun) 1)
   252         (etac (monofun_Issnd RS ub2ub_monofun) 1)
   253         ]);
   253         ]);
   254 
   254 
   255 val thelub_sprod = (lub_sprod RS thelubI);
   255 bind_thm ("thelub_sprod", lub_sprod RS thelubI);
   256 
   256 
   257 
   257 
   258 qed_goal "cpo_sprod" Sprod2.thy 
   258 qed_goal "cpo_sprod" Sprod2.thy 
   259         "is_chain(S::nat=>'a**'b)==>? x.range(S)<<| x"
   259         "is_chain(S::nat=>'a**'b)==>? x.range(S)<<| x"
   260 (fn prems =>
   260 (fn prems =>