src/HOL/AxClasses/Lattice/CLattice.ML
changeset 9969 4753185f1dd2
parent 5711 5a1cd4b4b20e
equal deleted inserted replaced
9968:264b16d934f9 9969:4753185f1dd2
    49 
    49 
    50 (* "Inf" yields g.l.bs, "Sup" yields l.u.bs. --- in pieces *)
    50 (* "Inf" yields g.l.bs, "Sup" yields l.u.bs. --- in pieces *)
    51 
    51 
    52 val prems = goalw thy [Inf_def] "x:A ==> Inf A [= x";
    52 val prems = goalw thy [Inf_def] "x:A ==> Inf A [= x";
    53   by (cut_facts_tac prems 1);
    53   by (cut_facts_tac prems 1);
    54   by (rtac selectI2 1);
    54   by (rtac someI2 1);
    55   by (rtac Inf_is_Inf 1);
    55   by (rtac Inf_is_Inf 1);
    56   by (rewtac is_Inf_def);
    56   by (rewtac is_Inf_def);
    57   by (Fast_tac 1);
    57   by (Fast_tac 1);
    58 qed "Inf_lb";
    58 qed "Inf_lb";
    59 
    59 
    60 val [prem] = goalw thy [Inf_def] "(!!x. x:A ==> z [= x) ==> z [= Inf A";
    60 val [prem] = goalw thy [Inf_def] "(!!x. x:A ==> z [= x) ==> z [= Inf A";
    61   by (rtac selectI2 1);
    61   by (rtac someI2 1);
    62   by (rtac Inf_is_Inf 1);
    62   by (rtac Inf_is_Inf 1);
    63   by (rewtac is_Inf_def);
    63   by (rewtac is_Inf_def);
    64   by (Step_tac 1);
    64   by (Step_tac 1);
    65   by (Step_tac 1);
    65   by (Step_tac 1);
    66   by (etac mp 1);
    66   by (etac mp 1);
    69 qed "Inf_ub_lbs";
    69 qed "Inf_ub_lbs";
    70 
    70 
    71 
    71 
    72 val prems = goalw thy [Sup_def] "x:A ==> x [= Sup A";
    72 val prems = goalw thy [Sup_def] "x:A ==> x [= Sup A";
    73   by (cut_facts_tac prems 1);
    73   by (cut_facts_tac prems 1);
    74   by (rtac selectI2 1);
    74   by (rtac someI2 1);
    75   by (rtac Sup_is_Sup 1);
    75   by (rtac Sup_is_Sup 1);
    76   by (rewtac is_Sup_def);
    76   by (rewtac is_Sup_def);
    77   by (Fast_tac 1);
    77   by (Fast_tac 1);
    78 qed "Sup_ub";
    78 qed "Sup_ub";
    79 
    79 
    80 val [prem] = goalw thy [Sup_def] "(!!x. x:A ==> x [= z) ==> Sup A [= z";
    80 val [prem] = goalw thy [Sup_def] "(!!x. x:A ==> x [= z) ==> Sup A [= z";
    81   by (rtac selectI2 1);
    81   by (rtac someI2 1);
    82   by (rtac Sup_is_Sup 1);
    82   by (rtac Sup_is_Sup 1);
    83   by (rewtac is_Sup_def);
    83   by (rewtac is_Sup_def);
    84   by (Step_tac 1);
    84   by (Step_tac 1);
    85   by (Step_tac 1);
    85   by (Step_tac 1);
    86   by (etac mp 1);
    86   by (etac mp 1);