src/HOLCF/Cprod2.ML
changeset 3323 194ae2e0c193
parent 2840 7e03e61612b0
child 3842 b55686a7b22c
equal deleted inserted replaced
3322:bc4d107fb6dd 3323:194ae2e0c193
    10 
    10 
    11 (* for compatibility with old HOLCF-Version *)
    11 (* for compatibility with old HOLCF-Version *)
    12 qed_goal "inst_cprod_po" thy "(op <<)=(%x y.fst x<<fst y & snd x<<snd y)"
    12 qed_goal "inst_cprod_po" thy "(op <<)=(%x y.fst x<<fst y & snd x<<snd y)"
    13  (fn prems => 
    13  (fn prems => 
    14         [
    14         [
    15         (fold_goals_tac [po_def,less_cprod_def]),
    15         (fold_goals_tac [less_cprod_def]),
    16         (rtac refl 1)
    16         (rtac refl 1)
    17         ]);
    17         ]);
    18 
    18 
    19 qed_goalw "less_cprod4c" thy [inst_cprod_po RS eq_reflection]
    19 qed_goalw "less_cprod4c" thy [inst_cprod_po RS eq_reflection]
    20  "(x1,y1) << (x2,y2) ==> x1 << x2 & y1 << y2"
    20  "(x1,y1) << (x2,y2) ==> x1 << x2 & y1 << y2"
    69  (fn prems =>
    69  (fn prems =>
    70         [
    70         [
    71         (asm_simp_tac (!simpset addsimps [inst_cprod_po]) 1)
    71         (asm_simp_tac (!simpset addsimps [inst_cprod_po]) 1)
    72         ]);
    72         ]);
    73 
    73 
    74 qed_goal "monofun_pair" thy "[|x1<<x2; y1<<y2|] ==> (x1,y1) << (x2,y2)"
    74 qed_goal "monofun_pair" thy "[|x1<<x2; y1<<y2|] ==> (x1::'a::cpo,y1::'b::cpo)<<(x2,y2)"
    75  (fn prems =>
    75  (fn prems =>
    76         [
    76         [
    77         (cut_facts_tac prems 1),
    77         (cut_facts_tac prems 1),
    78         (rtac trans_less 1),
    78         (rtac trans_less 1),
    79         (rtac (monofun_pair1 RS monofunE RS spec RS spec RS mp RS 
    79         (rtac (monofun_pair1 RS monofunE RS spec RS spec RS mp RS