equal
deleted
inserted
replaced
13 \ Inl(y1) => True \ |
13 \ Inl(y1) => True \ |
14 \ | Inr(y2) => (case Rep_Up(x2) of Inl(z1) => False \ |
14 \ | Inr(y2) => (case Rep_Up(x2) of Inl(z1) => False \ |
15 \ | Inr(z2) => y2<<z2))" |
15 \ | Inr(z2) => y2<<z2))" |
16 (fn prems => |
16 (fn prems => |
17 [ |
17 [ |
18 (fold_goals_tac [po_def,less_up_def]), |
18 (fold_goals_tac [less_up_def]), |
19 (rtac refl 1) |
19 (rtac refl 1) |
20 ]); |
20 ]); |
21 |
21 |
22 (* -------------------------------------------------------------------------*) |
22 (* -------------------------------------------------------------------------*) |
23 (* type ('a)u is pointed *) |
23 (* type ('a)u is pointed *) |
24 (* ------------------------------------------------------------------------ *) |
24 (* ------------------------------------------------------------------------ *) |
25 |
25 |
26 qed_goal "minimal_up" thy "Abs_Up(Inl ()) << z" |
26 qed_goal "minimal_up" thy "Abs_Up(Inl ()) << z" |
27 (fn prems => |
27 (fn prems => |
28 [ |
28 [ |
29 (simp_tac (!simpset addsimps [po_def,less_up1a]) 1) |
29 (simp_tac (!simpset addsimps [less_up1a]) 1) |
30 ]); |
30 ]); |
31 |
31 |
32 bind_thm ("UU_up_def",minimal_up RS minimal2UU RS sym); |
32 bind_thm ("UU_up_def",minimal_up RS minimal2UU RS sym); |
33 |
33 |
34 qed_goal "least_up" thy "? x::'a u.!y.x<<y" |
34 qed_goal "least_up" thy "? x::'a u.!y.x<<y" |
43 (* ------------------------------------------------------------------------ *) |
43 (* ------------------------------------------------------------------------ *) |
44 |
44 |
45 qed_goal "less_up2b" thy "~ Iup(x) << Abs_Up(Inl ())" |
45 qed_goal "less_up2b" thy "~ Iup(x) << Abs_Up(Inl ())" |
46 (fn prems => |
46 (fn prems => |
47 [ |
47 [ |
48 (simp_tac (!simpset addsimps [po_def,less_up1b]) 1) |
48 (simp_tac (!simpset addsimps [less_up1b]) 1) |
49 ]); |
49 ]); |
50 |
50 |
51 qed_goal "less_up2c" thy "(Iup(x)<<Iup(y)) = (x<<y)" |
51 qed_goal "less_up2c" thy "(Iup(x)<<Iup(y)) = (x<<y)" |
52 (fn prems => |
52 (fn prems => |
53 [ |
53 [ |
54 (simp_tac (!simpset addsimps [po_def,less_up1c]) 1) |
54 (simp_tac (!simpset addsimps [less_up1c]) 1) |
55 ]); |
55 ]); |
56 |
56 |
57 (* ------------------------------------------------------------------------ *) |
57 (* ------------------------------------------------------------------------ *) |
58 (* Iup and Ifup are monotone *) |
58 (* Iup and Ifup are monotone *) |
59 (* ------------------------------------------------------------------------ *) |
59 (* ------------------------------------------------------------------------ *) |