49 by (auto_tac (claset() addIs [(equals0I RS sym)], |
49 by (auto_tac (claset() addIs [(equals0I RS sym)], |
50 simpset() addsimps [psubset_def])); |
50 simpset() addsimps [psubset_def])); |
51 qed "mem_Rep_preal_Ex"; |
51 qed "mem_Rep_preal_Ex"; |
52 |
52 |
53 Goalw [preal_def] |
53 Goalw [preal_def] |
54 "[| {} < A; A < {q::prat. True}; \ |
54 "[| {} < A; A < UNIV; \ |
55 \ (!y: A. ((!z. z < y --> z: A) & \ |
55 \ (!y: A. ((!z. z < y --> z: A) & \ |
56 \ (? u: A. y < u))) |] ==> A : preal"; |
56 \ (? u: A. y < u))) |] ==> A : preal"; |
57 by (Fast_tac 1); |
57 by (Fast_tac 1); |
58 qed "prealI1"; |
58 qed "prealI1"; |
59 |
59 |
60 Goalw [preal_def] |
60 Goalw [preal_def] |
61 "[| {} < A; A < {q::prat. True}; \ |
61 "[| {} < A; A < UNIV; \ |
62 \ !y: A. (!z. z < y --> z: A); \ |
62 \ !y: A. (!z. z < y --> z: A); \ |
63 \ !y: A. (? u: A. y < u) |] ==> A : preal"; |
63 \ !y: A. (? u: A. y < u) |] ==> A : preal"; |
64 by (Best_tac 1); |
64 by (Best_tac 1); |
65 qed "prealI2"; |
65 qed "prealI2"; |
66 |
66 |
67 Goalw [preal_def] |
67 Goalw [preal_def] |
68 "A : preal ==> {} < A & A < {q::prat. True} & \ |
68 "A : preal ==> {} < A & A < UNIV & \ |
69 \ (!y: A. ((!z. z < y --> z: A) & \ |
69 \ (!y: A. ((!z. z < y --> z: A) & \ |
70 \ (? u: A. y < u)))"; |
70 \ (? u: A. y < u)))"; |
71 by (Fast_tac 1); |
71 by (Fast_tac 1); |
72 qed "prealE_lemma"; |
72 qed "prealE_lemma"; |
73 |
73 |
233 by (Auto_tac THEN (REPEAT(etac ballE 1)) THEN Auto_tac); |
233 by (Auto_tac THEN (REPEAT(etac ballE 1)) THEN Auto_tac); |
234 by (dtac prat_add_less_mono 1); |
234 by (dtac prat_add_less_mono 1); |
235 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
235 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
236 qed "preal_not_mem_add_set_Ex"; |
236 qed "preal_not_mem_add_set_Ex"; |
237 |
237 |
238 Goal "{w. ? x: Rep_preal R. ? y:Rep_preal S. w = x + y} < {q. True}"; |
238 Goal "{w. ? x: Rep_preal R. ? y:Rep_preal S. w = x + y} < UNIV"; |
239 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
239 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
240 by (cut_inst_tac [("R","R"),("S","S")] preal_not_mem_add_set_Ex 1); |
240 by (cut_inst_tac [("R","R"),("S","S")] preal_not_mem_add_set_Ex 1); |
241 by (etac exE 1); |
241 by (etac exE 1); |
242 by (eres_inst_tac [("c","q")] equalityCE 1); |
242 by (eres_inst_tac [("c","q")] equalityCE 1); |
243 by Auto_tac; |
243 by Auto_tac; |
323 by (Auto_tac THEN (REPEAT(etac ballE 1)) THEN Auto_tac ); |
323 by (Auto_tac THEN (REPEAT(etac ballE 1)) THEN Auto_tac ); |
324 by (dtac prat_mult_less_mono 1); |
324 by (dtac prat_mult_less_mono 1); |
325 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
325 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
326 qed "preal_not_mem_mult_set_Ex"; |
326 qed "preal_not_mem_mult_set_Ex"; |
327 |
327 |
328 Goal "{w. ? x: Rep_preal R. ? y:Rep_preal S. w = x * y} < {q. True}"; |
328 Goal "{w. ? x: Rep_preal R. ? y:Rep_preal S. w = x * y} < UNIV"; |
329 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
329 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
330 by (cut_inst_tac [("R","R"),("S","S")] preal_not_mem_mult_set_Ex 1); |
330 by (cut_inst_tac [("R","R"),("S","S")] preal_not_mem_mult_set_Ex 1); |
331 by (etac exE 1); |
331 by (etac exE 1); |
332 by (eres_inst_tac [("c","q")] equalityCE 1); |
332 by (eres_inst_tac [("c","q")] equalityCE 1); |
333 by Auto_tac; |
333 by Auto_tac; |
553 by (eres_inst_tac [("x","qinv y")] ballE 1); |
553 by (eres_inst_tac [("x","qinv y")] ballE 1); |
554 by (dtac prat_less_trans 1); |
554 by (dtac prat_less_trans 1); |
555 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
555 by (auto_tac (claset(),simpset() addsimps [prat_less_not_refl])); |
556 qed "preal_not_mem_inv_set_Ex"; |
556 qed "preal_not_mem_inv_set_Ex"; |
557 |
557 |
558 Goal "{x. ? y. x < y & qinv y ~: Rep_preal A} < {q. True}"; |
558 Goal "{x. ? y. x < y & qinv y ~: Rep_preal A} < UNIV"; |
559 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
559 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
560 by (cut_inst_tac [("A","A")] preal_not_mem_inv_set_Ex 1); |
560 by (cut_inst_tac [("A","A")] preal_not_mem_inv_set_Ex 1); |
561 by (etac exE 1); |
561 by (etac exE 1); |
562 by (eres_inst_tac [("c","x")] equalityCE 1); |
562 by (eres_inst_tac [("c","x")] equalityCE 1); |
563 by Auto_tac; |
563 by Auto_tac; |
875 by Auto_tac; |
875 by Auto_tac; |
876 by (cut_inst_tac [("x","x"),("y","n")] prat_self_less_add_right 1); |
876 by (cut_inst_tac [("x","x"),("y","n")] prat_self_less_add_right 1); |
877 by (auto_tac (claset() addDs [Rep_preal RS prealE_lemma3b],simpset())); |
877 by (auto_tac (claset() addDs [Rep_preal RS prealE_lemma3b],simpset())); |
878 qed "lemma_ex_not_mem_less_left_add1"; |
878 qed "lemma_ex_not_mem_less_left_add1"; |
879 |
879 |
880 Goal "{d. ? n. n ~: Rep_preal(A) & n + d : Rep_preal(B)} < {q. True}"; |
880 Goal "{d. ? n. n ~: Rep_preal(A) & n + d : Rep_preal(B)} < UNIV"; |
881 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
881 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
882 by (cut_inst_tac [("A","A"),("B","B")] lemma_ex_not_mem_less_left_add1 1); |
882 by (cut_inst_tac [("A","A"),("B","B")] lemma_ex_not_mem_less_left_add1 1); |
883 by (etac exE 1); |
883 by (etac exE 1); |
884 by (eres_inst_tac [("c","q")] equalityCE 1); |
884 by (eres_inst_tac [("c","q")] equalityCE 1); |
885 by Auto_tac; |
885 by Auto_tac; |
1113 by (res_inst_tac [("x","x")] exI 1); |
1113 by (res_inst_tac [("x","x")] exI 1); |
1114 by (auto_tac (claset() addSDs [bspec],simpset())); |
1114 by (auto_tac (claset() addSDs [bspec],simpset())); |
1115 qed "preal_sup_not_mem_Ex1"; |
1115 qed "preal_sup_not_mem_Ex1"; |
1116 |
1116 |
1117 Goal "? Y. (! X: P. X < Y) \ |
1117 Goal "? Y. (! X: P. X < Y) \ |
1118 \ ==> {w. ? X: P. w: Rep_preal(X)} < {q. True}"; (**) |
1118 \ ==> {w. ? X: P. w: Rep_preal(X)} < UNIV"; (**) |
1119 by (dtac preal_sup_not_mem_Ex 1); |
1119 by (dtac preal_sup_not_mem_Ex 1); |
1120 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
1120 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
1121 by (eres_inst_tac [("c","q")] equalityCE 1); |
1121 by (eres_inst_tac [("c","q")] equalityCE 1); |
1122 by Auto_tac; |
1122 by Auto_tac; |
1123 qed "preal_sup_set_not_prat_set"; |
1123 qed "preal_sup_set_not_prat_set"; |
1124 |
1124 |
1125 Goal "? Y. (! X: P. X <= Y) \ |
1125 Goal "? Y. (! X: P. X <= Y) \ |
1126 \ ==> {w. ? X: P. w: Rep_preal(X)} < {q. True}"; |
1126 \ ==> {w. ? X: P. w: Rep_preal(X)} < UNIV"; |
1127 by (dtac preal_sup_not_mem_Ex1 1); |
1127 by (dtac preal_sup_not_mem_Ex1 1); |
1128 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
1128 by (auto_tac (claset() addSIs [psubsetI],simpset())); |
1129 by (eres_inst_tac [("c","q")] equalityCE 1); |
1129 by (eres_inst_tac [("c","q")] equalityCE 1); |
1130 by Auto_tac; |
1130 by Auto_tac; |
1131 qed "preal_sup_set_not_prat_set1"; |
1131 qed "preal_sup_set_not_prat_set1"; |