# HG changeset patch # User haftmann # Date 1193426536 -7200 # Node ID b408ceba462736e16ed6e67bbb457e52a28fb2b2 # Parent 36cf92f63a4435a6e1d4bbd582be09516c3f9e52 dropped "brown" syntax diff -r 36cf92f63a44 -r b408ceba4627 src/HOL/Finite_Set.thy --- a/src/HOL/Finite_Set.thy Fri Oct 26 19:58:32 2007 +0200 +++ b/src/HOL/Finite_Set.thy Fri Oct 26 21:22:16 2007 +0200 @@ -2043,32 +2043,27 @@ begin notation - less_eq ("op \<^loc><=") and - less_eq ("(_/ \<^loc><= _)" [51, 51] 50) and - less ("op \<^loc><") and - less ("(_/ \<^loc>< _)" [51, 51] 50) - + less ("(_/ \ _)" [51, 51] 50) + notation (xsymbols) - less_eq ("op \<^loc>\") and - less_eq ("(_/ \<^loc>\ _)" [51, 51] 50) + less_eq ("(_/ \ _)" [51, 51] 50) notation (HTML output) - less_eq ("op \<^loc>\") and - less_eq ("(_/ \<^loc>\ _)" [51, 51] 50) - -lemma below_refl [simp]: "x \<^loc>\ x" + less_eq ("(_/ \ _)" [51, 51] 50) + +lemma below_refl [simp]: "x \ x" by (simp add: below_def idem) lemma below_antisym: - assumes xy: "x \<^loc>\ y" and yx: "y \<^loc>\ x" + assumes xy: "x \ y" and yx: "y \ x" shows "x = y" using xy [unfolded below_def, symmetric] yx [unfolded below_def commute] by (rule trans) lemma below_trans: - assumes xy: "x \<^loc>\ y" and yz: "y \<^loc>\ z" - shows "x \<^loc>\ z" + assumes xy: "x \ y" and yz: "y \ z" + shows "x \ z" proof - from xy have x_xy: "x \ y = x" by (simp add: below_def) from yz have y_yz: "y \ z = y" by (simp add: below_def) @@ -2079,9 +2074,9 @@ then show ?thesis by (simp add: below_def) qed -lemma below_f_conv [simp,noatp]: "x \<^loc>\ y \ z = (x \<^loc>\ y \ x \<^loc>\ z)" +lemma below_f_conv [simp,noatp]: "x \ y \ z = (x \ y \ x \ z)" proof - assume "x \<^loc>\ y \ z" + assume "x \ y \ z" hence xyzx: "x \ (y \ z) = x" by(simp add: below_def) have "x \ y = x" proof - @@ -2097,14 +2092,14 @@ also have "\ = x" by(rule xyzx) finally show ?thesis . qed - ultimately show "x \<^loc>\ y \ x \<^loc>\ z" by(simp add: below_def) + ultimately show "x \ y \ x \ z" by(simp add: below_def) next - assume a: "x \<^loc>\ y \ x \<^loc>\ z" + assume a: "x \ y \ x \ z" hence y: "x \ y = x" and z: "x \ z = x" by(simp_all add: below_def) have "x \ (y \ z) = (x \ y) \ z" by(simp add:assoc) also have "x \ y = x" using a by(simp_all add: below_def) also have "x \ z = x" using a by(simp_all add: below_def) - finally show "x \<^loc>\ y \ z" by(simp_all add: below_def) + finally show "x \ y \ z" by(simp_all add: below_def) qed end @@ -2118,38 +2113,38 @@ begin lemma above_f_conv: - "x \ y \<^loc>\ z = (x \<^loc>\ z \ y \<^loc>\ z)" + "x \ y \ z = (x \ z \ y \ z)" proof - assume a: "x \ y \<^loc>\ z" + assume a: "x \ y \ z" have "x \ y = x \ x \ y = y" using lin[of x y] by simp - thus "x \<^loc>\ z \ y \<^loc>\ z" + thus "x \ z \ y \ z" proof - assume "x \ y = x" hence "x \<^loc>\ z" by(rule subst)(rule a) thus ?thesis .. + assume "x \ y = x" hence "x \ z" by(rule subst)(rule a) thus ?thesis .. next - assume "x \ y = y" hence "y \<^loc>\ z" by(rule subst)(rule a) thus ?thesis .. + assume "x \ y = y" hence "y \ z" by(rule subst)(rule a) thus ?thesis .. qed next - assume "x \<^loc>\ z \ y \<^loc>\ z" - thus "x \ y \<^loc>\ z" + assume "x \ z \ y \ z" + thus "x \ y \ z" proof - assume a: "x \<^loc>\ z" + assume a: "x \ z" have "(x \ y) \ z = (x \ z) \ y" by(simp add:ACI) also have "x \ z = x" using a by(simp add:below_def) - finally show "x \ y \<^loc>\ z" by(simp add:below_def) + finally show "x \ y \ z" by(simp add:below_def) next - assume a: "y \<^loc>\ z" + assume a: "y \ z" have "(x \ y) \ z = x \ (y \ z)" by(simp add:ACI) also have "y \ z = y" using a by(simp add:below_def) - finally show "x \ y \<^loc>\ z" by(simp add:below_def) + finally show "x \ y \ z" by(simp add:below_def) qed qed -lemma strict_below_f_conv[simp,noatp]: "x \<^loc>< y \ z = (x \<^loc>< y \ x \<^loc>< z)" +lemma strict_below_f_conv[simp,noatp]: "x \ y \ z = (x \ y \ x \ z)" apply(simp add: strict_below_def) using lin[of y z] by (auto simp:below_def ACI) lemma strict_above_f_conv: - "x \ y \<^loc>< z = (x \<^loc>< z \ y \<^loc>< z)" + "x \ y \ z = (x \ z \ y \ z)" apply(simp add: strict_below_def above_f_conv) using lin[of y z] lin[of x z] by (auto simp:below_def ACI) @@ -2196,18 +2191,18 @@ lemma (in ACIfSL) below_fold1_iff: assumes A: "finite A" "A \ {}" -shows "x \<^loc>\ fold1 f A = (\a\A. x \<^loc>\ a)" +shows "x \ fold1 f A = (\a\A. x \ a)" using A by(induct rule:finite_ne_induct) simp_all lemma (in ACIfSLlin) strict_below_fold1_iff: - "finite A \ A \ {} \ x \<^loc>< fold1 f A = (\a\A. x \<^loc>< a)" + "finite A \ A \ {} \ x \ fold1 f A = (\a\A. x \ a)" by(induct rule:finite_ne_induct) simp_all lemma (in ACIfSL) fold1_belowI: assumes A: "finite A" "A \ {}" -shows "a \ A \ fold1 f A \<^loc>\ a" +shows "a \ A \ fold1 f A \ a" using A proof (induct rule:finite_ne_induct) case singleton thus ?case by simp @@ -2219,7 +2214,7 @@ assume "a = x" thus ?thesis using insert by(simp add:below_def ACI) next assume "a \ F" - hence bel: "fold1 f F \<^loc>\ a" by(rule insert) + hence bel: "fold1 f F \ a" by(rule insert) have "fold1 f (insert x F) \ a = x \ (fold1 f F \ a)" using insert by(simp add:below_def ACI) also have "fold1 f F \ a = fold1 f F" @@ -2232,19 +2227,19 @@ lemma (in ACIfSLlin) fold1_below_iff: assumes A: "finite A" "A \ {}" -shows "fold1 f A \<^loc>\ x = (\a\A. a \<^loc>\ x)" +shows "fold1 f A \ x = (\a\A. a \ x)" using A by(induct rule:finite_ne_induct)(simp_all add:above_f_conv) lemma (in ACIfSLlin) fold1_strict_below_iff: assumes A: "finite A" "A \ {}" -shows "fold1 f A \<^loc>< x = (\a\A. a \<^loc>< x)" +shows "fold1 f A \ x = (\a\A. a \ x)" using A by(induct rule:finite_ne_induct)(simp_all add:strict_above_f_conv) lemma (in ACIfSLlin) fold1_antimono: assumes "A \ {}" and "A \ B" and "finite B" -shows "fold1 f B \<^loc>\ fold1 f A" +shows "fold1 f B \ fold1 f A" proof(cases) assume "A = B" thus ?thesis by simp next @@ -2259,7 +2254,7 @@ moreover have "A Int (B-A) = {}" using prems by blast ultimately show ?thesis using `A \ {}` by(rule_tac fold1_Un) qed - also have "\ \<^loc>\ fold1 f A" by(simp add: above_f_conv) + also have "\ \ fold1 f A" by(simp add: above_f_conv) finally show ?thesis . qed