equal
deleted
inserted
replaced
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); |