more fine-granular instantiation
authorhaftmann
Thu, 04 Aug 2011 20:11:39 +0200
changeset 44904bc45393f497b
parent 44903 cb768f4ceaf9
child 44905 53a081c8873d
more fine-granular instantiation
src/HOL/Predicate.thy
     1.1 --- a/src/HOL/Predicate.thy	Thu Aug 04 19:29:52 2011 +0200
     1.2 +++ b/src/HOL/Predicate.thy	Thu Aug 04 20:11:39 2011 +0200
     1.3 @@ -431,7 +431,7 @@
     1.4    "x \<in> (op =) y \<longleftrightarrow> x = y"
     1.5    by (auto simp add: mem_def)
     1.6  
     1.7 -instantiation pred :: (type) complete_boolean_algebra
     1.8 +instantiation pred :: (type) complete_lattice
     1.9  begin
    1.10  
    1.11  definition
    1.12 @@ -482,6 +482,22 @@
    1.13    "eval (\<Squnion>A) = SUPR A eval"
    1.14    by (simp add: Sup_pred_def)
    1.15  
    1.16 +instance proof
    1.17 +qed (auto intro!: pred_eqI simp add: less_eq_pred_def less_pred_def)
    1.18 +
    1.19 +end
    1.20 +
    1.21 +lemma eval_INFI [simp]:
    1.22 +  "eval (INFI A f) = INFI A (eval \<circ> f)"
    1.23 +  by (unfold INFI_def) simp
    1.24 +
    1.25 +lemma eval_SUPR [simp]:
    1.26 +  "eval (SUPR A f) = SUPR A (eval \<circ> f)"
    1.27 +  by (unfold SUPR_def) simp
    1.28 +
    1.29 +instantiation pred :: (type) complete_boolean_algebra
    1.30 +begin
    1.31 +
    1.32  definition
    1.33    "- P = Pred (- eval P)"
    1.34  
    1.35 @@ -497,18 +513,10 @@
    1.36    by (simp add: minus_pred_def)
    1.37  
    1.38  instance proof
    1.39 -qed (auto intro!: pred_eqI simp add: less_eq_pred_def less_pred_def uminus_apply minus_apply)
    1.40 +qed (auto intro!: pred_eqI simp add: uminus_apply minus_apply)
    1.41  
    1.42  end
    1.43  
    1.44 -lemma eval_INFI [simp]:
    1.45 -  "eval (INFI A f) = INFI A (eval \<circ> f)"
    1.46 -  by (unfold INFI_def) simp
    1.47 -
    1.48 -lemma eval_SUPR [simp]:
    1.49 -  "eval (SUPR A f) = SUPR A (eval \<circ> f)"
    1.50 -  by (unfold SUPR_def) simp
    1.51 -
    1.52  definition single :: "'a \<Rightarrow> 'a pred" where
    1.53    "single x = Pred ((op =) x)"
    1.54