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