diff -r 8407b4c068e2 -r 739b99d0911a src/HOL/Library/FSet.thy --- a/src/HOL/Library/FSet.thy Wed Oct 02 13:34:03 2024 +0200 +++ b/src/HOL/Library/FSet.thy Wed Oct 02 14:23:28 2024 +0200 @@ -194,24 +194,47 @@ syntax (input) "_fBall" :: "pttrn \ 'a fset \ bool \ bool" (\(3! (_/|:|_)./ _)\ [0, 0, 10] 10) "_fBex" :: "pttrn \ 'a fset \ bool \ bool" (\(3? (_/|:|_)./ _)\ [0, 0, 10] 10) + "_fBex1" :: "pttrn \ 'a fset \ bool \ bool" (\(3?! (_/:_)./ _)\ [0, 0, 10] 10) syntax "_fBall" :: "pttrn \ 'a fset \ bool \ bool" (\(3\(_/|\|_)./ _)\ [0, 0, 10] 10) "_fBex" :: "pttrn \ 'a fset \ bool \ bool" (\(3\(_/|\|_)./ _)\ [0, 0, 10] 10) + "_fBnex" :: "pttrn \ 'a fset \ bool \ bool" (\(3\(_/|\|_)./ _)\ [0, 0, 10] 10) + "_fBex1" :: "pttrn \ 'a fset \ bool \ bool" (\(3\!(_/|\|_)./ _)\ [0, 0, 10] 10) syntax_consts - "_fBall" \ FSet.Ball and - "_fBex" \ FSet.Bex + "_fBall" "_fBnex" \ fBall and + "_fBex" \ fBex and + "_fBex1" \ Ex1 translations "\x|\|A. P" \ "CONST FSet.Ball A (\x. P)" "\x|\|A. P" \ "CONST FSet.Bex A (\x. P)" + "\x|\|A. P" \ "CONST fBall A (\x. \ P)" + "\!x|\|A. P" \ "\!x. x |\| A \ P" print_translation \ [Syntax_Trans.preserve_binder_abs2_tr' \<^const_syntax>\fBall\ \<^syntax_const>\_fBall\, Syntax_Trans.preserve_binder_abs2_tr' \<^const_syntax>\fBex\ \<^syntax_const>\_fBex\] \ \ \to avoid eta-contraction of body\ +syntax + "_setlessfAll" :: "[idt, 'a, bool] \ bool" (\(3\_|\|_./ _)\ [0, 0, 10] 10) + "_setlessfEx" :: "[idt, 'a, bool] \ bool" (\(3\_|\|_./ _)\ [0, 0, 10] 10) + "_setlefAll" :: "[idt, 'a, bool] \ bool" (\(3\_|\|_./ _)\ [0, 0, 10] 10) + "_setlefEx" :: "[idt, 'a, bool] \ bool" (\(3\_|\|_./ _)\ [0, 0, 10] 10) + +syntax_consts + "_setlessfAll" "_setlefAll" \ All and + "_setlessfEx" "_setlefEx" \ Ex + +translations + "\A|\|B. P" \ "\A. A |\| B \ P" + "\A|\|B. P" \ "\A. A |\| B \ P" + "\A|\|B. P" \ "\A. A |\| B \ P" + "\A|\|B. P" \ "\A. A |\| B \ P" + + context includes lifting_syntax begin