277 apply (rule meet_exists) |
277 apply (rule meet_exists) |
278 done |
278 done |
279 |
279 |
280 instance star :: (lorder) lorder .. |
280 instance star :: (lorder) lorder .. |
281 |
281 |
282 lemma star_meet_def [transfer_unfold]: "meet = *f2* meet" |
282 lemma star_inf_def [transfer_unfold]: "inf = *f2* inf" |
283 apply (rule is_meet_unique [OF is_meet_meet]) |
283 apply (rule is_meet_unique [OF is_meet_meet]) |
284 apply (transfer is_meet_def, rule is_meet_meet) |
284 apply (transfer is_meet_def, rule is_meet_meet) |
285 done |
285 done |
286 |
286 |
287 lemma star_join_def [transfer_unfold]: "join = *f2* join" |
287 lemma star_sup_def [transfer_unfold]: "sup = *f2* sup" |
288 apply (rule is_join_unique [OF is_join_join]) |
288 apply (rule is_join_unique [OF is_join_join]) |
289 apply (transfer is_join_def, rule is_join_join) |
289 apply (transfer is_join_def, rule is_join_join) |
290 done |
290 done |
291 |
291 |
292 lemma Standard_meet [simp]: |
292 lemma Standard_inf [simp]: |
293 "\<lbrakk>x \<in> Standard; y \<in> Standard\<rbrakk> \<Longrightarrow> meet x y \<in> Standard" |
293 "\<lbrakk>x \<in> Standard; y \<in> Standard\<rbrakk> \<Longrightarrow> inf x y \<in> Standard" |
294 by (simp add: star_meet_def) |
294 by (simp add: star_inf_def) |
295 |
295 |
296 lemma Standard_join [simp]: |
296 lemma Standard_sup [simp]: |
297 "\<lbrakk>x \<in> Standard; y \<in> Standard\<rbrakk> \<Longrightarrow> join x y \<in> Standard" |
297 "\<lbrakk>x \<in> Standard; y \<in> Standard\<rbrakk> \<Longrightarrow> sup x y \<in> Standard" |
298 by (simp add: star_join_def) |
298 by (simp add: star_sup_def) |
299 |
299 |
300 lemma star_of_meet [simp]: "star_of (meet x y) = meet (star_of x) (star_of y)" |
300 lemma star_of_inf [simp]: "star_of (inf x y) = inf (star_of x) (star_of y)" |
301 by transfer (rule refl) |
301 by transfer (rule refl) |
302 |
302 |
303 lemma star_of_join [simp]: "star_of (join x y) = join (star_of x) (star_of y)" |
303 lemma star_of_sup [simp]: "star_of (sup x y) = sup (star_of x) (star_of y)" |
304 by transfer (rule refl) |
304 by transfer (rule refl) |
305 |
305 |
306 subsection {* Ordered group classes *} |
306 subsection {* Ordered group classes *} |
307 |
307 |
308 instance star :: (semigroup_add) semigroup_add |
308 instance star :: (semigroup_add) semigroup_add |