# HG changeset patch # User nipkow # Date 1091804114 -7200 # Node ID f0359f75682e85d19069f65940e0ad0fb65c2cac # Parent e5f167042c1d3654ab73c5dcbde01d0d6b883427 undid UN/INT syntax diff -r e5f167042c1d -r f0359f75682e src/HOL/Algebra/Coset.thy --- a/src/HOL/Algebra/Coset.thy Fri Aug 06 16:54:26 2004 +0200 +++ b/src/HOL/Algebra/Coset.thy Fri Aug 06 16:55:14 2004 +0200 @@ -153,13 +153,13 @@ proof (intro normalI [OF sg], simp add: l_coset_def r_coset_def, clarify) fix x assume x: "x \ carrier G" - show "(\\<^bsub>h\N\<^esub> {h \ x}) = (\\<^bsub>h\N\<^esub> {x \ h})" + show "(\h\N. {h \ x}) = (\h\N. {x \ h})" proof - show "(\\<^bsub>h\N\<^esub> {h \ x}) \ (\\<^bsub>h\N\<^esub> {x \ h})" + show "(\h\N. {h \ x}) \ (\h\N. {x \ h})" proof clarify fix n assume n: "n \ N" - show "n \ x \ (\\<^bsub>h\N\<^esub> {x \ h})" + show "n \ x \ (\h\N. {x \ h})" proof from closed [of "inv x"] show "inv x \ n \ x \ N" by (simp add: x n) @@ -168,11 +168,11 @@ qed qed next - show "(\\<^bsub>h\N\<^esub> {x \ h}) \ (\\<^bsub>h\N\<^esub> {h \ x})" + show "(\h\N. {x \ h}) \ (\h\N. {h \ x})" proof clarify fix n assume n: "n \ N" - show "x \ n \ (\\<^bsub>h\N\<^esub> {h \ x})" + show "x \ n \ (\h\N. {h \ x})" proof show "x \ n \ inv x \ N" by (simp add: x n closed) show "x \ n \ {x \ n \ inv x \ x}" @@ -261,7 +261,7 @@ proof (simp add: r_coset_def SET_INV_def x inv_mult_group, safe) fix h assume "h \ H" - show "inv x \ inv h \ (\\<^bsub>j\H\<^esub> {j \ inv x})" + show "inv x \ inv h \ (\j\H. {j \ inv x})" proof show "inv x \ inv h \ x \ H" by (simp add: inv_op_closed1 prems) @@ -271,7 +271,7 @@ next fix h assume "h \ H" - show "h \ inv x \ (\\<^bsub>j\H\<^esub> {inv x \ inv j})" + show "h \ inv x \ (\j\H. {inv x \ inv j})" proof show "x \ inv h \ inv x \ H" by (simp add: inv_op_closed2 prems) @@ -651,7 +651,7 @@ assume y: "y \ carrier H" with h obtain g where g: "g \ carrier G" "h g = y" by (blast elim: equalityE); - hence "(\\<^bsub>x\kernel G H h #> g\<^esub> {h x}) = {y}" + hence "(\x\kernel G H h #> g. {h x}) = {y}" by (auto simp add: y kernel_def r_coset_def) with g show "y \ (\X. contents (h ` X)) ` carrier (G Mod kernel G H h)" by (auto intro!: bexI simp add: FactGroup_def RCOSETS_def image_eq_UN) diff -r e5f167042c1d -r f0359f75682e src/HOL/Induct/QuoDataType.thy --- a/src/HOL/Induct/QuoDataType.thy Fri Aug 06 16:54:26 2004 +0200 +++ b/src/HOL/Induct/QuoDataType.thy Fri Aug 06 16:55:14 2004 +0200 @@ -147,15 +147,15 @@ MPair :: "[msg,msg] \ msg" "MPair X Y == - Abs_Msg (\\<^bsub>U \ Rep_Msg X\<^esub> \\<^bsub>V \ Rep_Msg Y\<^esub> msgrel``{MPAIR U V})" + Abs_Msg (\U \ Rep_Msg X. \V \ Rep_Msg Y. msgrel``{MPAIR U V})" Crypt :: "[nat,msg] \ msg" "Crypt K X == - Abs_Msg (\\<^bsub>U \ Rep_Msg X\<^esub> msgrel``{CRYPT K U})" + Abs_Msg (\U \ Rep_Msg X. msgrel``{CRYPT K U})" Decrypt :: "[nat,msg] \ msg" "Decrypt K X == - Abs_Msg (\\<^bsub>U \ Rep_Msg X\<^esub> msgrel``{DECRYPT K U})" + Abs_Msg (\U \ Rep_Msg X. msgrel``{DECRYPT K U})" text{*Reduces equality of equivalence classes to the @{term msgrel} relation: @@ -228,7 +228,7 @@ constdefs nonces :: "msg \ nat set" - "nonces X == \\<^bsub>U \ Rep_Msg X\<^esub> freenonces U" + "nonces X == \U \ Rep_Msg X. freenonces U" lemma nonces_congruent: "congruent msgrel freenonces" by (simp add: congruent_def msgrel_imp_eq_freenonces) @@ -263,7 +263,7 @@ constdefs left :: "msg \ msg" - "left X == Abs_Msg (\\<^bsub>U \ Rep_Msg X\<^esub> msgrel``{freeleft U})" + "left X == Abs_Msg (\U \ Rep_Msg X. msgrel``{freeleft U})" lemma left_congruent: "congruent msgrel (\U. msgrel `` {freeleft U})" by (simp add: congruent_def msgrel_imp_eqv_freeleft) @@ -297,7 +297,7 @@ constdefs right :: "msg \ msg" - "right X == Abs_Msg (\\<^bsub>U \ Rep_Msg X\<^esub> msgrel``{freeright U})" + "right X == Abs_Msg (\U \ Rep_Msg X. msgrel``{freeright U})" lemma right_congruent: "congruent msgrel (\U. msgrel `` {freeright U})" by (simp add: congruent_def msgrel_imp_eqv_freeright) diff -r e5f167042c1d -r f0359f75682e src/HOL/Set.thy --- a/src/HOL/Set.thy Fri Aug 06 16:54:26 2004 +0200 +++ b/src/HOL/Set.thy Fri Aug 06 16:55:14 2004 +0200 @@ -120,17 +120,30 @@ "_Ball" :: "pttrn => 'a set => bool => bool" ("(3\_\_./ _)" [0, 0, 10] 10) "_Bex" :: "pttrn => 'a set => bool => bool" ("(3\_\_./ _)" [0, 0, 10] 10) -syntax (input) +syntax (xsymbols) "@UNION1" :: "pttrns => 'b set => 'b set" ("(3\_./ _)" 10) "@INTER1" :: "pttrns => 'b set => 'b set" ("(3\_./ _)" 10) "@UNION" :: "pttrn => 'a set => 'b set => 'b set" ("(3\_\_./ _)" 10) "@INTER" :: "pttrn => 'a set => 'b set => 'b set" ("(3\_\_./ _)" 10) - +(* syntax (xsymbols) "@UNION1" :: "pttrns => 'b set => 'b set" ("(3\(00\<^bsub>_\<^esub>)/ _)" 10) "@INTER1" :: "pttrns => 'b set => 'b set" ("(3\(00\<^bsub>_\<^esub>)/ _)" 10) "@UNION" :: "pttrn => 'a set => 'b set => 'b set" ("(3\(00\<^bsub>_\_\<^esub>)/ _)" 10) "@INTER" :: "pttrn => 'a set => 'b set => 'b set" ("(3\(00\<^bsub>_\_\<^esub>)/ _)" 10) +*) +syntax (latex output) + "@UNION1" :: "pttrns => 'b set => 'b set" ("(3\(00\<^bsub>_\<^esub>)/ _)" 10) + "@INTER1" :: "pttrns => 'b set => 'b set" ("(3\(00\<^bsub>_\<^esub>)/ _)" 10) + "@UNION" :: "pttrn => 'a set => 'b set => 'b set" ("(3\(00\<^bsub>_\_\<^esub>)/ _)" 10) + "@INTER" :: "pttrn => 'a set => 'b set => 'b set" ("(3\(00\<^bsub>_\_\<^esub>)/ _)" 10) + +text{* Note the difference between ordinary xsymbol syntax of indexed +unions and intersections (e.g.\ @{text"\a\<^isub>1\A\<^isub>1. B"}) +and their \LaTeX\ rendition: @{term"\a\<^isub>1\A\<^isub>1. B"}. The +former does not make the index expression a subscript of the +union/intersection symbol because this leads to problems with nested +subscripts in Proof General. *} translations