diff -r 95f1e700b712 -r 57bf0cecb366 src/ZF/UNITY/AllocBase.thy --- a/src/ZF/UNITY/AllocBase.thy Tue Mar 06 16:46:27 2012 +0000 +++ b/src/ZF/UNITY/AllocBase.thy Tue Mar 06 17:01:37 2012 +0000 @@ -86,18 +86,18 @@ by (cut_tac Nclients_pos NbT_pos, auto) lemma INT_Nclient_iff [iff]: - "b\Inter(RepFun(Nclients, B)) <-> (\x\Nclients. b\B(x))" + "b\\(RepFun(Nclients, B)) \ (\x\Nclients. b\B(x))" by (force simp add: INT_iff) lemma setsum_fun_mono [rule_format]: "n\nat ==> - (\i\nat. i f(i) $<= g(i)) --> + (\i\nat. i f(i) $<= g(i)) \ setsum(f, n) $<= setsum(g,n)" apply (induct_tac "n", simp_all) apply (subgoal_tac "Finite(x) & x\x") prefer 2 apply (simp add: nat_into_Finite mem_not_refl, clarify) apply (simp (no_asm_simp) add: succ_def) -apply (subgoal_tac "\i\nat. i f(i) $<= g(i) ") +apply (subgoal_tac "\i\nat. i f(i) $<= g(i) ") prefer 2 apply (force dest: leI) apply (rule zadd_zle_mono, simp_all) done @@ -107,7 +107,7 @@ lemma tokens_mono_aux [rule_format]: "xs\list(A) ==> \ys\list(A). \prefix(A) - --> tokens(xs) \ tokens(ys)" + \ tokens(xs) \ tokens(ys)" apply (induct_tac "xs") apply (auto dest: gen_prefix.dom_subset [THEN subsetD] simp add: prefix_def) done @@ -148,7 +148,7 @@ lemma bag_of_mono_aux [rule_format]: "xs\list(A) ==> \ys\list(A). \prefix(A) - --> \MultLe(A, r)" + \ \MultLe(A, r)" apply (induct_tac "xs", simp_all, clarify) apply (frule_tac l = ys in bag_of_multiset) apply (auto intro: empty_le_MultLe simp add: prefix_def) @@ -172,7 +172,7 @@ lemmas nat_into_Fin = eqpoll_refl [THEN [2] Fin_lemma] -lemma list_Int_length_Fin: "l \ list(A) ==> C Int length(l) \ Fin(length(l))" +lemma list_Int_length_Fin: "l \ list(A) ==> C \ length(l) \ Fin(length(l))" apply (drule length_type) apply (rule Fin_subset) apply (rule Int_lower2) @@ -186,7 +186,7 @@ by (simp add: ltI) lemma Int_succ_right: - "A Int succ(k) = (if k : A then cons(k, A Int k) else A Int k)" + "A \ succ(k) = (if k \ A then cons(k, A \ k) else A \ k)" by auto @@ -210,9 +210,9 @@ lemma bag_of_sublist_lemma2: "l\list(A) ==> - C <= nat ==> + C \ nat ==> bag_of(sublist(l, C)) = - msetsum(%i. {#nth(i, l)#}, C Int length(l), A)" + msetsum(%i. {#nth(i, l)#}, C \ length(l), A)" apply (erule list_append_induct) apply (simp (no_asm)) apply (simp (no_asm_simp) add: sublist_append nth_append bag_of_sublist_lemma munion_commute bag_of_sublist_lemma msetsum_multiset munion_0) @@ -227,17 +227,17 @@ (*eliminating the assumption C<=nat*) lemma bag_of_sublist: "l\list(A) ==> - bag_of(sublist(l, C)) = msetsum(%i. {#nth(i, l)#}, C Int length(l), A)" -apply (subgoal_tac " bag_of (sublist (l, C Int nat)) = msetsum (%i. {#nth (i, l) #}, C Int length (l), A) ") + bag_of(sublist(l, C)) = msetsum(%i. {#nth(i, l)#}, C \ length(l), A)" +apply (subgoal_tac " bag_of (sublist (l, C \ nat)) = msetsum (%i. {#nth (i, l) #}, C \ length (l), A) ") apply (simp add: sublist_Int_eq) apply (simp add: bag_of_sublist_lemma2 Int_lower2 Int_assoc nat_Int_length_eq) done lemma bag_of_sublist_Un_Int: "l\list(A) ==> - bag_of(sublist(l, B Un C)) +# bag_of(sublist(l, B Int C)) = + bag_of(sublist(l, B \ C)) +# bag_of(sublist(l, B \ C)) = bag_of(sublist(l, B)) +# bag_of(sublist(l, C))" -apply (subgoal_tac "B Int C Int length (l) = (B Int length (l)) Int (C Int length (l))") +apply (subgoal_tac "B \ C \ length (l) = (B \ length (l)) \ (C \ length (l))") prefer 2 apply blast apply (simp (no_asm_simp) add: bag_of_sublist Int_Un_distrib2 msetsum_Un_Int) apply (rule msetsum_Un_Int) @@ -247,14 +247,14 @@ lemma bag_of_sublist_Un_disjoint: - "[| l\list(A); B Int C = 0 |] - ==> bag_of(sublist(l, B Un C)) = + "[| l\list(A); B \ C = 0 |] + ==> bag_of(sublist(l, B \ C)) = bag_of(sublist(l, B)) +# bag_of(sublist(l, C))" by (simp add: bag_of_sublist_Un_Int [symmetric] bag_of_multiset) lemma bag_of_sublist_UN_disjoint [rule_format]: - "[|Finite(I); \i\I. \j\I. i\j --> A(i) \ A(j) = 0; + "[|Finite(I); \i\I. \j\I. i\j \ A(i) \ A(j) = 0; l\list(B) |] ==> bag_of(sublist(l, \i\I. A(i))) = (msetsum(%i. bag_of(sublist(l, A(i))), I, B)) " @@ -278,8 +278,8 @@ by (unfold all_distinct_def, auto) lemma all_distinct_Cons [simp]: - "all_distinct(Cons(a,l)) <-> - (a\set_of_list(l) --> False) & (a \ set_of_list(l) --> all_distinct(l))" + "all_distinct(Cons(a,l)) \ + (a\set_of_list(l) \ False) & (a \ set_of_list(l) \ all_distinct(l))" apply (unfold all_distinct_def) apply (auto elim: list.cases) done @@ -359,7 +359,7 @@ done lemma Inter_Diff_var_iff: - "Finite(A) ==> b\(Inter(RepFun(var-A, B))) <-> (\x\var-A. b\B(x))" + "Finite(A) ==> b\(\(RepFun(var-A, B))) \ (\x\var-A. b\B(x))" apply (subgoal_tac "\x. x\var-A", auto) apply (subgoal_tac "~Finite (var-A) ") apply (drule not_Finite_imp_exist, auto) @@ -369,16 +369,16 @@ done lemma Inter_var_DiffD: - "[| b\Inter(RepFun(var-A, B)); Finite(A); x\var-A |] ==> b\B(x)" + "[| b\\(RepFun(var-A, B)); Finite(A); x\var-A |] ==> b\B(x)" by (simp add: Inter_Diff_var_iff) -(* [| Finite(A); (\x\var-A. b\B(x)) |] ==> b\Inter(RepFun(var-A, B)) *) +(* [| Finite(A); (\x\var-A. b\B(x)) |] ==> b\\(RepFun(var-A, B)) *) lemmas Inter_var_DiffI = Inter_Diff_var_iff [THEN iffD2] declare Inter_var_DiffI [intro!] lemma Acts_subset_Int_Pow_simp [simp]: - "Acts(F)<= A \ Pow(state*state) <-> Acts(F)<=A" + "Acts(F)<= A \ Pow(state*state) \ Acts(F)<=A" by (insert Acts_type [of F], auto) lemma setsum_nsetsum_eq: