equal
deleted
inserted
replaced
29 apply (metis abs_ge_minus_self abs_ge_zero abs_minus_cancel abs_of_nonneg equation_minus_iff Orderings.xt1(6) abs_mult) |
29 apply (metis abs_ge_minus_self abs_ge_zero abs_minus_cancel abs_of_nonneg equation_minus_iff Orderings.xt1(6) abs_mult) |
30 done |
30 done |
31 |
31 |
32 (*** Now various verions with an increasing modulus ***) |
32 (*** Now various verions with an increasing modulus ***) |
33 |
33 |
34 declare [[reconstruction_modulus = 1]] |
34 declare [[sledgehammer_modulus = 1]] |
35 |
35 |
36 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
36 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
37 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
37 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
38 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
38 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
39 apply auto |
39 apply auto |
98 by (metis 17 3 15) |
98 by (metis 17 3 15) |
99 show "False" |
99 show "False" |
100 by (metis abs_le_iff 5 18 14) |
100 by (metis abs_le_iff 5 18 14) |
101 qed |
101 qed |
102 |
102 |
103 declare [[reconstruction_modulus = 2]] |
103 declare [[sledgehammer_modulus = 2]] |
104 |
104 |
105 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
105 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
106 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
106 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
107 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
107 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
108 apply auto |
108 apply auto |
139 by (metis abs_ge_self xt1(6) abs_le_D1) |
139 by (metis abs_ge_self xt1(6) abs_le_D1) |
140 show "False" |
140 show "False" |
141 by (metis 8 abs_ge_zero abs_mult_pos abs_mult 1 9 3 abs_le_iff) |
141 by (metis 8 abs_ge_zero abs_mult_pos abs_mult 1 9 3 abs_le_iff) |
142 qed |
142 qed |
143 |
143 |
144 declare [[reconstruction_modulus = 3]] |
144 declare [[sledgehammer_modulus = 3]] |
145 |
145 |
146 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
146 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
147 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
147 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
148 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
148 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
149 apply auto |
149 apply auto |
171 show "False" |
171 show "False" |
172 by (metis abs_mult mult_commute 3 abs_mult_pos linorder_linear 0 abs_le_D2 5 1 abs_le_iff) |
172 by (metis abs_mult mult_commute 3 abs_mult_pos linorder_linear 0 abs_le_D2 5 1 abs_le_iff) |
173 qed |
173 qed |
174 |
174 |
175 |
175 |
176 declare [[reconstruction_modulus = 1]] |
176 declare [[sledgehammer_modulus = 1]] |
177 |
177 |
178 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
178 lemma (*bigo_pos_const:*) "(EX (c::'a::ordered_idom). |
179 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
179 ALL x. (abs (h x)) <= (c * (abs (f x)))) |
180 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
180 = (EX c. 0 < c & (ALL x. (abs(h x)) <= (c * (abs (f x)))))" |
181 apply auto |
181 apply auto |
207 show "False" |
207 show "False" |
208 by (metis 6 8 10 abs_leI) |
208 by (metis 6 8 10 abs_leI) |
209 qed |
209 qed |
210 |
210 |
211 |
211 |
212 declare [[reconstruction_sorts = true]] |
212 declare [[sledgehammer_sorts = true]] |
213 |
213 |
214 lemma bigo_alt_def: "O(f) = |
214 lemma bigo_alt_def: "O(f) = |
215 {h. EX c. (0 < c & (ALL x. abs (h x) <= c * abs (f x)))}" |
215 {h. EX c. (0 < c & (ALL x. abs (h x) <= c * abs (f x)))}" |
216 by (auto simp add: bigo_def bigo_pos_const) |
216 by (auto simp add: bigo_def bigo_pos_const) |
217 |
217 |