# HG changeset patch # User wenzelm # Date 1546546552 -3600 # Node ID 53982d5ec0bb8a9d8e450876869f5d58daf980be # Parent 9171d1ce5a355615d3d32124b4f066d6b3f24fab isabelle update -u mixfix_cartouches; diff -r 9171d1ce5a35 -r 53982d5ec0bb src/FOL/IFOL.thy --- a/src/FOL/IFOL.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/FOL/IFOL.thy Thu Jan 03 21:15:52 2019 +0100 @@ -31,13 +31,13 @@ typedecl o judgment - Trueprop :: "o \ prop" ("(_)" 5) + Trueprop :: "o \ prop" (\(_)\ 5) subsubsection \Equality\ axiomatization - eq :: "['a, 'a] \ o" (infixl "=" 50) + eq :: "['a, 'a] \ o" (infixl \=\ 50) where refl: "a = a" and subst: "a = b \ P(a) \ P(b)" @@ -47,9 +47,9 @@ axiomatization False :: o and - conj :: "[o, o] => o" (infixr "\" 35) and - disj :: "[o, o] => o" (infixr "\" 30) and - imp :: "[o, o] => o" (infixr "\" 25) + conj :: "[o, o] => o" (infixr \\\ 35) and + disj :: "[o, o] => o" (infixr \\\ 30) and + imp :: "[o, o] => o" (infixr \\\ 25) where conjI: "\P; Q\ \ P \ Q" and conjunct1: "P \ Q \ P" and @@ -68,8 +68,8 @@ subsubsection \Quantifiers\ axiomatization - All :: "('a \ o) \ o" (binder "\" 10) and - Ex :: "('a \ o) \ o" (binder "\" 10) + All :: "('a \ o) \ o" (binder \\\ 10) and + Ex :: "('a \ o) \ o" (binder \\\ 10) where allI: "(\x. P(x)) \ (\x. P(x))" and spec: "(\x. P(x)) \ P(x)" and @@ -81,35 +81,35 @@ definition "True \ False \ False" -definition Not ("\ _" [40] 40) +definition Not (\\ _\ [40] 40) where not_def: "\ P \ P \ False" -definition iff (infixr "\" 25) +definition iff (infixr \\\ 25) where "P \ Q \ (P \ Q) \ (Q \ P)" -definition Ex1 :: "('a \ o) \ o" (binder "\!" 10) +definition Ex1 :: "('a \ o) \ o" (binder \\!\ 10) where ex1_def: "\!x. P(x) \ \x. P(x) \ (\y. P(y) \ y = x)" axiomatization where \ \Reflection, admissible\ eq_reflection: "(x = y) \ (x \ y)" and iff_reflection: "(P \ Q) \ (P \ Q)" -abbreviation not_equal :: "['a, 'a] \ o" (infixl "\" 50) +abbreviation not_equal :: "['a, 'a] \ o" (infixl \\\ 50) where "x \ y \ \ (x = y)" subsubsection \Old-style ASCII syntax\ notation (ASCII) - not_equal (infixl "~=" 50) and - Not ("~ _" [40] 40) and - conj (infixr "&" 35) and - disj (infixr "|" 30) and - All (binder "ALL " 10) and - Ex (binder "EX " 10) and - Ex1 (binder "EX! " 10) and - imp (infixr "-->" 25) and - iff (infixr "<->" 25) + not_equal (infixl \~=\ 50) and + Not (\~ _\ [40] 40) and + conj (infixr \&\ 35) and + disj (infixr \|\ 30) and + All (binder \ALL \ 10) and + Ex (binder \EX \ 10) and + Ex1 (binder \EX! \ 10) and + imp (infixr \-->\ 25) and + iff (infixr \<->\ 25) subsection \Lemmas and proof tools\ @@ -764,10 +764,10 @@ where "Let(s, f) \ f(s)" syntax - "_bind" :: "[pttrn, 'a] => letbind" ("(2_ =/ _)" 10) - "" :: "letbind => letbinds" ("_") - "_binds" :: "[letbind, letbinds] => letbinds" ("_;/ _") - "_Let" :: "[letbinds, 'a] => 'a" ("(let (_)/ in (_))" 10) + "_bind" :: "[pttrn, 'a] => letbind" (\(2_ =/ _)\ 10) + "" :: "letbind => letbinds" (\_\) + "_binds" :: "[letbind, letbinds] => letbinds" (\_;/ _\) + "_Let" :: "[letbinds, 'a] => 'a" (\(let (_)/ in (_))\ 10) translations "_Let(_binds(b, bs), e)" == "_Let(b, _Let(bs, e))" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/FOL/ex/Locale_Test/Locale_Test1.thy --- a/src/FOL/ex/Locale_Test/Locale_Test1.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/FOL/ex/Locale_Test/Locale_Test1.thy Thu Jan 03 21:15:52 2019 +0100 @@ -11,9 +11,9 @@ typedecl int instance int :: "term" .. -consts plus :: "int => int => int" (infixl "+" 60) - zero :: int ("0") - minus :: "int => int" ("- _") +consts plus :: "int => int => int" (infixl \+\ 60) + zero :: int (\0\) + minus :: "int => int" (\- _\) axiomatization where int_assoc: "(x + y::int) + z = x + (y + z)" and @@ -34,17 +34,17 @@ Fails, cannot generalise parameter. *) -locale param3 = fixes p (infix ".." 50) +locale param3 = fixes p (infix \..\ 50) print_locale! param3 -locale param4 = fixes p :: "'a => 'a => 'a" (infix ".." 50) +locale param4 = fixes p :: "'a => 'a => 'a" (infix \..\ 50) print_locale! param4 subsection \Incremental type constraints\ locale constraint1 = - fixes prod (infixl "**" 65) + fixes prod (infixl \**\ 65) assumes l_id: "x ** y = x" assumes assoc: "(x ** y) ** z = x ** (y ** z)" print_locale! constraint1 @@ -58,7 +58,7 @@ section \Inheritance\ locale semi = - fixes prod (infixl "**" 65) + fixes prod (infixl \**\ 65) assumes assoc: "(x ** y) ** z = x ** (y ** z)" print_locale! semi thm semi_def @@ -68,13 +68,13 @@ and linv: "inv(x) ** x = one" print_locale! lgrp thm lgrp_def lgrp_axioms_def -locale add_lgrp = semi "(++)" for sum (infixl "++" 60) + +locale add_lgrp = semi "(++)" for sum (infixl \++\ 60) + fixes zero and neg assumes lzero: "zero ++ x = x" and lneg: "neg(x) ++ x = zero" print_locale! add_lgrp thm add_lgrp_def add_lgrp_axioms_def -locale rev_lgrp = semi "%x y. y ++ x" for sum (infixl "++" 60) +locale rev_lgrp = semi "%x y. y ++ x" for sum (infixl \++\ 60) print_locale! rev_lgrp thm rev_lgrp_def locale hom = f: semi f + g: semi g for f and g @@ -94,13 +94,13 @@ section \Syntax declarations\ locale logic = - fixes land (infixl "&&" 55) - and lnot ("-- _" [60] 60) + fixes land (infixl \&&\ 55) + and lnot (\-- _\ [60] 60) assumes assoc: "(x && y) && z = x && (y && z)" and notnot: "-- (-- x) = x" begin -definition lor (infixl "||" 50) where +definition lor (infixl \||\ 50) where "x || y = --(-- x && -- y)" end @@ -147,8 +147,8 @@ and p2 :: "'b => o" begin -definition d1 :: "'a => o" ("D1'(_')") where "d1(x) \ \ p2(p1(x))" -definition d2 :: "'b => o" ("D2'(_')") where "d2(x) \ \ p2(x)" +definition d1 :: "'a => o" (\D1'(_')\) where "d1(x) \ \ p2(p1(x))" +definition d2 :: "'b => o" (\D2'(_')\) where "d2(x) \ \ p2(x)" thm d1_def d2_def @@ -191,9 +191,9 @@ section \Defines\ locale logic_def = - fixes land (infixl "&&" 55) - and lor (infixl "||" 50) - and lnot ("-- _" [60] 60) + fixes land (infixl \&&\ 55) + and lor (infixl \||\ 50) + and lnot (\-- _\ [60] 60) assumes assoc: "(x && y) && z = x && (y && z)" and notnot: "-- (-- x) = x" defines "x || y == --(-- x && -- y)" @@ -353,7 +353,7 @@ (* Duality *) locale order = - fixes less :: "'a => 'a => o" (infix "<<" 50) + fixes less :: "'a => 'a => o" (infix \<<\ 50) assumes refl: "x << x" and trans: "[| x << y; y << z |] ==> x << z" @@ -364,14 +364,14 @@ print_locale! order (* Only two instances of order. *) locale order' = - fixes less :: "'a => 'a => o" (infix "<<" 50) + fixes less :: "'a => 'a => o" (infix \<<\ 50) assumes refl: "x << x" and trans: "[| x << y; y << z |] ==> x << z" locale order_with_def = order' begin -definition greater :: "'a => 'a => o" (infix ">>" 50) where +definition greater :: "'a => 'a => o" (infix \>>\ 50) where "x >> y \ y << x" end @@ -464,13 +464,13 @@ by unfold_locales (rule int_assoc int_minus2)+ locale logic2 = - fixes land (infixl "&&" 55) - and lnot ("-- _" [60] 60) + fixes land (infixl \&&\ 55) + and lnot (\-- _\ [60] 60) assumes assoc: "(x && y) && z = x && (y && z)" and notnot: "-- (-- x) = x" begin -definition lor (infixl "||" 50) where +definition lor (infixl \||\ 50) where "x || y = --(-- x && -- y)" end @@ -495,13 +495,13 @@ subsection \Rewrite morphism\ locale logic_o = - fixes land (infixl "&&" 55) - and lnot ("-- _" [60] 60) + fixes land (infixl \&&\ 55) + and lnot (\-- _\ [60] 60) assumes assoc_o: "(x && y) && z \ x && (y && z)" and notnot_o: "-- (-- x) \ x" begin -definition lor_o (infixl "||" 50) where +definition lor_o (infixl \||\ 50) where "x || y \ --(-- x && -- y)" end @@ -536,11 +536,11 @@ subsection \Inheritance of rewrite morphisms\ locale reflexive = - fixes le :: "'a => 'a => o" (infix "\" 50) + fixes le :: "'a => 'a => o" (infix \\\ 50) assumes refl: "x \ x" begin -definition less (infix "\" 50) where "x \ y \ x \ y \ x \ y" +definition less (infix \\\ 50) where "x \ y \ x \ y \ x \ y" end diff -r 9171d1ce5a35 -r 53982d5ec0bb src/FOL/ex/Nat.thy --- a/src/FOL/ex/Nat.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/FOL/ex/Nat.thy Thu Jan 03 21:15:52 2019 +0100 @@ -13,7 +13,7 @@ instance nat :: "term" .. axiomatization - Zero :: nat ("0") and + Zero :: nat (\0\) and Suc :: "nat => nat" and rec :: "[nat, 'a, [nat, 'a] => 'a] => 'a" where @@ -23,7 +23,7 @@ rec_0: "rec(0,a,f) = a" and rec_Suc: "rec(Suc(m), a, f) = f(m, rec(m,a,f))" -definition add :: "[nat, nat] => nat" (infixl "+" 60) +definition add :: "[nat, nat] => nat" (infixl \+\ 60) where "m + n == rec(m, n, %x y. Suc(y))" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/FOL/ex/Natural_Numbers.thy --- a/src/FOL/ex/Natural_Numbers.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/FOL/ex/Natural_Numbers.thy Thu Jan 03 21:15:52 2019 +0100 @@ -17,7 +17,7 @@ instance nat :: "term" .. axiomatization - Zero :: nat ("0") and + Zero :: nat (\0\) and Suc :: "nat => nat" and rec :: "[nat, 'a, [nat, 'a] => 'a] => 'a" where @@ -46,7 +46,7 @@ qed -definition add :: "nat => nat => nat" (infixl "+" 60) +definition add :: "nat => nat => nat" (infixl \+\ 60) where "m + n = rec(m, n, \x y. Suc(y))" lemma add_0 [simp]: "0 + n = n" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/FOL/ex/Prolog.thy --- a/src/FOL/ex/Prolog.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/FOL/ex/Prolog.thy Thu Jan 03 21:15:52 2019 +0100 @@ -14,7 +14,7 @@ axiomatization Nil :: "'a list" and - Cons :: "['a, 'a list]=> 'a list" (infixr ":" 60) and + Cons :: "['a, 'a list]=> 'a list" (infixr \:\ 60) and app :: "['a list, 'a list, 'a list] => o" and rev :: "['a list, 'a list] => o" where diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Arith.thy --- a/src/ZF/Arith.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Arith.thy Thu Jan 03 21:15:52 2019 +0100 @@ -43,15 +43,15 @@ "raw_mult(succ(m), n) = raw_add (n, raw_mult(m, n))" definition - add :: "[i,i]=>i" (infixl "#+" 65) where + add :: "[i,i]=>i" (infixl \#+\ 65) where "m #+ n == raw_add (natify(m), natify(n))" definition - diff :: "[i,i]=>i" (infixl "#-" 65) where + diff :: "[i,i]=>i" (infixl \#-\ 65) where "m #- n == raw_diff (natify(m), natify(n))" definition - mult :: "[i,i]=>i" (infixl "#*" 70) where + mult :: "[i,i]=>i" (infixl \#*\ 70) where "m #* n == raw_mult (natify(m), natify(n))" definition @@ -65,11 +65,11 @@ transrec(m, %j f. if ji" (infixl "div" 70) where + div :: "[i,i]=>i" (infixl \div\ 70) where "m div n == raw_div (natify(m), natify(n))" definition - mod :: "[i,i]=>i" (infixl "mod" 70) where + mod :: "[i,i]=>i" (infixl \mod\ 70) where "m mod n == raw_mod (natify(m), natify(n))" declare rec_type [simp] diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Bin.thy --- a/src/ZF/Bin.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Bin.thy Thu Jan 03 21:15:52 2019 +0100 @@ -23,7 +23,7 @@ datatype "bin" = Pls | Min - | Bit ("w \ bin", "b \ bool") (infixl "BIT" 90) + | Bit ("w \ bin", "b \ bool") (infixl \BIT\ 90) consts integ_of :: "i=>i" @@ -101,11 +101,11 @@ NCons(bin_mult(v,w),0))" syntax - "_Int0" :: i ("#()0") - "_Int1" :: i ("#()1") - "_Int2" :: i ("#()2") - "_Neg_Int1" :: i ("#-()1") - "_Neg_Int2" :: i ("#-()2") + "_Int0" :: i (\#()0\) + "_Int1" :: i (\#()1\) + "_Int2" :: i (\#()2\) + "_Neg_Int1" :: i (\#-()1\) + "_Neg_Int2" :: i (\#-()2\) translations "#0" \ "CONST integ_of(CONST Pls)" "#1" \ "CONST integ_of(CONST Pls BIT 1)" @@ -114,8 +114,8 @@ "#-2" \ "CONST integ_of(CONST Min BIT 0)" syntax - "_Int" :: "num_token => i" ("#_" 1000) - "_Neg_Int" :: "num_token => i" ("#-_" 1000) + "_Int" :: "num_token => i" (\#_\ 1000) + "_Neg_Int" :: "num_token => i" (\#-_\ 1000) ML_file "Tools/numeral_syntax.ML" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Bool.thy --- a/src/ZF/Bool.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Bool.thy Thu Jan 03 21:15:52 2019 +0100 @@ -8,11 +8,11 @@ theory Bool imports pair begin abbreviation - one ("1") where + one (\1\) where "1 == succ(0)" abbreviation - two ("2") where + two (\2\) where "2 == succ(1)" text\2 is equal to bool, but is used as a number rather than a type.\ @@ -24,15 +24,15 @@ definition "not(b) == cond(b,0,1)" definition - "and" :: "[i,i]=>i" (infixl "and" 70) where + "and" :: "[i,i]=>i" (infixl \and\ 70) where "a and b == cond(a,b,0)" definition - or :: "[i,i]=>i" (infixl "or" 65) where + or :: "[i,i]=>i" (infixl \or\ 65) where "a or b == cond(a,1,b)" definition - xor :: "[i,i]=>i" (infixl "xor" 65) where + xor :: "[i,i]=>i" (infixl \xor\ 65) where "a xor b == cond(a,not(b),b)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Cardinal.thy --- a/src/ZF/Cardinal.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Cardinal.thy Thu Jan 03 21:15:52 2019 +0100 @@ -9,23 +9,23 @@ definition (*least ordinal operator*) - Least :: "(i=>o) => i" (binder "\ " 10) where + Least :: "(i=>o) => i" (binder \\ \ 10) where "Least(P) == THE i. Ord(i) & P(i) & (\j. j ~P(j))" definition - eqpoll :: "[i,i] => o" (infixl "\" 50) where + eqpoll :: "[i,i] => o" (infixl \\\ 50) where "A \ B == \f. f \ bij(A,B)" definition - lepoll :: "[i,i] => o" (infixl "\" 50) where + lepoll :: "[i,i] => o" (infixl \\\ 50) where "A \ B == \f. f \ inj(A,B)" definition - lesspoll :: "[i,i] => o" (infixl "\" 50) where + lesspoll :: "[i,i] => o" (infixl \\\ 50) where "A \ B == A \ B & ~(A \ B)" definition - cardinal :: "i=>i" ("|_|") where + cardinal :: "i=>i" (\|_|\) where "|A| == (\ i. i \ A)" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/CardinalArith.thy --- a/src/ZF/CardinalArith.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/CardinalArith.thy Thu Jan 03 21:15:52 2019 +0100 @@ -12,11 +12,11 @@ "InfCard(i) == Card(i) & nat \ i" definition - cmult :: "[i,i]=>i" (infixl "\" 70) where + cmult :: "[i,i]=>i" (infixl \\\ 70) where "i \ j == |i*j|" definition - cadd :: "[i,i]=>i" (infixl "\" 65) where + cadd :: "[i,i]=>i" (infixl \\\ 65) where "i \ j == |i+j|" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Constructible/L_axioms.thy --- a/src/ZF/Constructible/L_axioms.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Constructible/L_axioms.thy Thu Jan 03 21:15:52 2019 +0100 @@ -130,7 +130,7 @@ text\We must use the meta-existential quantifier; otherwise the reflection terms become enormous!\ definition - L_Reflects :: "[i=>o,[i,i]=>o] => prop" ("(3REFLECTS/ [_,/ _])") where + L_Reflects :: "[i=>o,[i,i]=>o] => prop" (\(3REFLECTS/ [_,/ _])\) where "REFLECTS[P,Q] == (\Cl. Closed_Unbounded(Cl) & (\a. Cl(a) \ (\x \ Lset(a). P(x) \ Q(a,x))))" @@ -268,25 +268,25 @@ subsubsection\Some numbers to help write de Bruijn indices\ abbreviation - digit3 :: i ("3") where "3 == succ(2)" + digit3 :: i (\3\) where "3 == succ(2)" abbreviation - digit4 :: i ("4") where "4 == succ(3)" + digit4 :: i (\4\) where "4 == succ(3)" abbreviation - digit5 :: i ("5") where "5 == succ(4)" + digit5 :: i (\5\) where "5 == succ(4)" abbreviation - digit6 :: i ("6") where "6 == succ(5)" + digit6 :: i (\6\) where "6 == succ(5)" abbreviation - digit7 :: i ("7") where "7 == succ(6)" + digit7 :: i (\7\) where "7 == succ(6)" abbreviation - digit8 :: i ("8") where "8 == succ(7)" + digit8 :: i (\8\) where "8 == succ(7)" abbreviation - digit9 :: i ("9") where "9 == succ(8)" + digit9 :: i (\9\) where "9 == succ(8)" subsubsection\The Empty Set, Internalized\ diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Constructible/MetaExists.thy --- a/src/ZF/Constructible/MetaExists.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Constructible/MetaExists.thy Thu Jan 03 21:15:52 2019 +0100 @@ -10,7 +10,7 @@ Yields a proposition rather than a FOL formula.\ definition - ex :: "(('a::{}) \ prop) \ prop" (binder "\" 0) where + ex :: "(('a::{}) \ prop) \ prop" (binder \\\ 0) where "ex(P) == (\Q. (\x. PROP P(x) \ PROP Q) \ PROP Q)" lemma meta_exI: "PROP P(x) ==> (\x. PROP P(x))" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Constructible/Normal.thy --- a/src/ZF/Constructible/Normal.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Constructible/Normal.thy Thu Jan 03 21:15:52 2019 +0100 @@ -456,7 +456,7 @@ numbers.\ definition - Aleph :: "i => i" ("\_" [90] 90) where + Aleph :: "i => i" (\\_\ [90] 90) where "Aleph(a) == transrec2(a, nat, \x r. csucc(r))" lemma Card_Aleph [simp, intro]: diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/EquivClass.thy --- a/src/ZF/EquivClass.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/EquivClass.thy Thu Jan 03 21:15:52 2019 +0100 @@ -8,7 +8,7 @@ theory EquivClass imports Trancl Perm begin definition - quotient :: "[i,i]=>i" (infixl "'/'/" 90) (*set of equiv classes*) where + quotient :: "[i,i]=>i" (infixl \'/'/\ 90) (*set of equiv classes*) where "A//r == {r``{x} . x \ A}" definition @@ -21,11 +21,11 @@ :r1 \ :r2 \ b(y1,y2) = b(z1,z2)" abbreviation - RESPECTS ::"[i=>i, i] => o" (infixr "respects" 80) where + RESPECTS ::"[i=>i, i] => o" (infixr \respects\ 80) where "f respects r == congruent(r,f)" abbreviation - RESPECTS2 ::"[i=>i=>i, i] => o" (infixr "respects2 " 80) where + RESPECTS2 ::"[i=>i=>i, i] => o" (infixr \respects2 \ 80) where "f respects2 r == congruent2(r,r,f)" \ \Abbreviation for the common case where the relations are identical\ diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Finite.thy --- a/src/ZF/Finite.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Finite.thy Thu Jan 03 21:15:52 2019 +0100 @@ -19,7 +19,7 @@ consts Fin :: "i=>i" - FiniteFun :: "[i,i]=>i" ("(_ -||>/ _)" [61, 60] 60) + FiniteFun :: "[i,i]=>i" (\(_ -||>/ _)\ [61, 60] 60) inductive domains "Fin(A)" \ "Pow(A)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/IMP/Com.thy --- a/src/ZF/IMP/Com.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/IMP/Com.thy Thu Jan 03 21:15:52 2019 +0100 @@ -23,7 +23,7 @@ consts evala :: i abbreviation - evala_syntax :: "[i, i] => o" (infixl "-a->" 50) + evala_syntax :: "[i, i] => o" (infixl \-a->\ 50) where "p -a-> n == \ evala" inductive @@ -46,14 +46,14 @@ | false | ROp ("f \ (nat \ nat)->bool", "a0 \ aexp", "a1 \ aexp") | noti ("b \ bexp") - | andi ("b0 \ bexp", "b1 \ bexp") (infixl "andi" 60) - | ori ("b0 \ bexp", "b1 \ bexp") (infixl "ori" 60) + | andi ("b0 \ bexp", "b1 \ bexp") (infixl \andi\ 60) + | ori ("b0 \ bexp", "b1 \ bexp") (infixl \ori\ 60) consts evalb :: i abbreviation - evalb_syntax :: "[i,i] => o" (infixl "-b->" 50) + evalb_syntax :: "[i,i] => o" (infixl \-b->\ 50) where "p -b-> b == \ evalb" inductive @@ -77,17 +77,17 @@ consts com :: i datatype com = - skip ("\" []) - | assignment ("x \ loc", "a \ aexp") (infixl "\" 60) - | semicolon ("c0 \ com", "c1 \ com") ("_\ _" [60, 60] 10) - | while ("b \ bexp", "c \ com") ("\ _ \ _" 60) - | "if" ("b \ bexp", "c0 \ com", "c1 \ com") ("\ _ \ _ \ _" 60) + skip (\\\ []) + | assignment ("x \ loc", "a \ aexp") (infixl \\\ 60) + | semicolon ("c0 \ com", "c1 \ com") (\_\ _\ [60, 60] 10) + | while ("b \ bexp", "c \ com") (\\ _ \ _\ 60) + | "if" ("b \ bexp", "c0 \ com", "c1 \ com") (\\ _ \ _ \ _\ 60) consts evalc :: i abbreviation - evalc_syntax :: "[i, i] => o" (infixl "-c->" 50) + evalc_syntax :: "[i, i] => o" (infixl \-c->\ 50) where "p -c-> s == \ evalc" inductive diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/IMP/Denotation.thy --- a/src/ZF/IMP/Denotation.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/IMP/Denotation.thy Thu Jan 03 21:15:52 2019 +0100 @@ -14,7 +14,7 @@ C :: "i => i" definition - Gamma :: "[i,i,i] => i" ("\") where + Gamma :: "[i,i,i] => i" (\\\) where "\(b,cden) == (\phi. {io \ (phi O cden). B(b,fst(io))=1} \ {io \ id(loc->nat). B(b,fst(io))=0})" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Induct/Comb.thy --- a/src/ZF/Induct/Comb.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Induct/Comb.thy Thu Jan 03 21:15:52 2019 +0100 @@ -24,7 +24,7 @@ datatype comb = K | S -| app ("p \ comb", "q \ comb") (infixl "\" 90) +| app ("p \ comb", "q \ comb") (infixl \\\ 90) text \ Inductive definition of contractions, \\\<^sup>1\ and @@ -32,10 +32,10 @@ \ consts contract :: i -abbreviation contract_syntax :: "[i,i] \ o" (infixl "\\<^sup>1" 50) +abbreviation contract_syntax :: "[i,i] \ o" (infixl \\\<^sup>1\ 50) where "p \\<^sup>1 q \ \ contract" -abbreviation contract_multi :: "[i,i] \ o" (infixl "\" 50) +abbreviation contract_multi :: "[i,i] \ o" (infixl \\\ 50) where "p \ q \ \ contract^*" inductive @@ -54,10 +54,10 @@ consts parcontract :: i -abbreviation parcontract_syntax :: "[i,i] => o" (infixl "\\<^sup>1" 50) +abbreviation parcontract_syntax :: "[i,i] => o" (infixl \\\<^sup>1\ 50) where "p \\<^sup>1 q == \ parcontract" -abbreviation parcontract_multi :: "[i,i] => o" (infixl "\" 50) +abbreviation parcontract_multi :: "[i,i] => o" (infixl \\\ 50) where "p \ q == \ parcontract^+" inductive diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Induct/FoldSet.thy --- a/src/ZF/Induct/FoldSet.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Induct/FoldSet.thy Thu Jan 03 21:15:52 2019 +0100 @@ -19,7 +19,7 @@ type_intros Fin.intros definition - fold :: "[i, [i,i]=>i, i, i] => i" ("fold[_]'(_,_,_')") where + fold :: "[i, [i,i]=>i, i, i] => i" (\fold[_]'(_,_,_')\) where "fold[B](f,e, A) == THE x. \fold_set(A, B, f,e)" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Induct/Multiset.thy --- a/src/ZF/Induct/Multiset.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Induct/Multiset.thy Thu Jan 03 21:15:52 2019 +0100 @@ -33,7 +33,7 @@ "mset_of(M) == domain(M)" definition - munion :: "[i, i] => i" (infixl "+#" 65) where + munion :: "[i, i] => i" (infixl \+#\ 65) where "M +# N == \x \ mset_of(M) \ mset_of(N). if x \ mset_of(M) \ mset_of(N) then (M`x) #+ (N`x) else (if x \ mset_of(M) then M`x else N`x)" @@ -47,13 +47,13 @@ else 0" definition - mdiff :: "[i, i] => i" (infixl "-#" 65) where + mdiff :: "[i, i] => i" (infixl \-#\ 65) where "M -# N == normalize(\x \ mset_of(M). if x \ mset_of(N) then M`x #- N`x else M`x)" definition (* set of elements of a multiset *) - msingle :: "i => i" ("{#_#}") where + msingle :: "i => i" (\{#_#}\) where "{#a#} == {}" definition @@ -70,11 +70,11 @@ "msize(M) == setsum(%a. $# mcount(M,a), mset_of(M))" abbreviation - melem :: "[i,i] => o" ("(_/ :# _)" [50, 51] 50) where + melem :: "[i,i] => o" (\(_/ :# _)\ [50, 51] 50) where "a :# M == a \ mset_of(M)" syntax - "_MColl" :: "[pttrn, i, o] => i" ("(1{# _ \ _./ _#})") + "_MColl" :: "[pttrn, i, o] => i" (\(1{# _ \ _./ _#})\) translations "{#x \ M. P#}" == "CONST MCollect(M, \x. P)" @@ -100,11 +100,11 @@ "omultiset(M) == \i. Ord(i) & M \ Mult(field(Memrel(i)))" definition - mless :: "[i, i] => o" (infixl "<#" 50) where + mless :: "[i, i] => o" (infixl \<#\ 50) where "M <# N == \i. Ord(i) & \ multirel(field(Memrel(i)), Memrel(i))" definition - mle :: "[i, i] => o" (infixl "<#=" 50) where + mle :: "[i, i] => o" (infixl \<#=\ 50) where "M <#= N == (omultiset(M) & M = N) | M <# N" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Induct/PropLog.thy --- a/src/ZF/Induct/PropLog.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Induct/PropLog.thy Thu Jan 03 21:15:52 2019 +0100 @@ -26,8 +26,8 @@ datatype propn = Fls - | Var ("n \ nat") ("#_" [100] 100) - | Imp ("p \ propn", "q \ propn") (infixr "=>" 90) + | Var ("n \ nat") (\#_\ [100] 100) + | Imp ("p \ propn", "q \ propn") (infixr \=>\ 90) subsection \The proof system\ @@ -35,7 +35,7 @@ consts thms :: "i => i" abbreviation - thms_syntax :: "[i,i] => o" (infixl "|-" 50) + thms_syntax :: "[i,i] => o" (infixl \|-\ 50) where "H |- p == p \ thms(H)" inductive @@ -86,7 +86,7 @@ \ definition - logcon :: "[i,i] => o" (infixl "|=" 50) where + logcon :: "[i,i] => o" (infixl \|=\ 50) where "H |= p == \t. (\q \ H. is_true(q,t)) \ is_true(p,t)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Int.thy --- a/src/ZF/Int.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Int.thy Thu Jan 03 21:15:52 2019 +0100 @@ -17,7 +17,7 @@ "int == (nat*nat)//intrel" definition - int_of :: "i=>i" \ \coercion from nat to int\ ("$# _" [80] 80) where + int_of :: "i=>i" \ \coercion from nat to int\ (\$# _\ [80] 80) where "$# m == intrel `` {}" definition @@ -29,7 +29,7 @@ "raw_zminus(z) == \\z. intrel``{}" definition - zminus :: "i=>i" ("$- _" [80] 80) where + zminus :: "i=>i" (\$- _\ [80] 80) where "$- z == raw_zminus (intify(z))" definition @@ -65,7 +65,7 @@ intrel``{}, p2), p1)" definition - zmult :: "[i,i]=>i" (infixl "$*" 70) where + zmult :: "[i,i]=>i" (infixl \$*\ 70) where "z1 $* z2 == raw_zmult (intify(z1),intify(z2))" definition @@ -75,19 +75,19 @@ in intrel``{}" definition - zadd :: "[i,i]=>i" (infixl "$+" 65) where + zadd :: "[i,i]=>i" (infixl \$+\ 65) where "z1 $+ z2 == raw_zadd (intify(z1),intify(z2))" definition - zdiff :: "[i,i]=>i" (infixl "$-" 65) where + zdiff :: "[i,i]=>i" (infixl \$-\ 65) where "z1 $- z2 == z1 $+ zminus(z2)" definition - zless :: "[i,i]=>o" (infixl "$<" 50) where + zless :: "[i,i]=>o" (infixl \$<\ 50) where "z1 $< z2 == znegative(z1 $- z2)" definition - zle :: "[i,i]=>o" (infixl "$\" 50) where + zle :: "[i,i]=>o" (infixl \$\\ 50) where "z1 $\ z2 == z1 $< z2 | intify(z1)=intify(z2)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/IntDiv.thy --- a/src/ZF/IntDiv.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/IntDiv.thy Thu Jan 03 21:15:52 2019 +0100 @@ -88,11 +88,11 @@ else negateSnd (posDivAlg (<$-a,$-b>))" definition - zdiv :: "[i,i]=>i" (infixl "zdiv" 70) where + zdiv :: "[i,i]=>i" (infixl \zdiv\ 70) where "a zdiv b == fst (divAlg ())" definition - zmod :: "[i,i]=>i" (infixl "zmod" 70) where + zmod :: "[i,i]=>i" (infixl \zmod\ 70) where "a zmod b == snd (divAlg ())" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/List.thy --- a/src/ZF/List.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/List.thy Thu Jan 03 21:15:52 2019 +0100 @@ -15,8 +15,8 @@ syntax - "_Nil" :: i ("[]") - "_List" :: "is => i" ("[(_)]") + "_Nil" :: i (\[]\) + "_List" :: "is => i" (\[(_)]\) translations "[x, xs]" == "CONST Cons(x, [xs])" @@ -45,7 +45,7 @@ consts map :: "[i=>i, i] => i" set_of_list :: "i=>i" - app :: "[i,i]=>i" (infixr "@" 60) + app :: "[i,i]=>i" (infixr \@\ 60) (*map is a binding operator -- it applies to meta-level functions, not object-level functions. This simplifies the final form of term_rec_conv, diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/OrdQuant.thy --- a/src/ZF/OrdQuant.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/OrdQuant.thy Thu Jan 03 21:15:52 2019 +0100 @@ -23,9 +23,9 @@ "OUnion(i,B) == {z: \x\i. B(x). Ord(i)}" syntax - "_oall" :: "[idt, i, o] => o" ("(3\_<_./ _)" 10) - "_oex" :: "[idt, i, o] => o" ("(3\_<_./ _)" 10) - "_OUNION" :: "[idt, i, i] => i" ("(3\_<_./ _)" 10) + "_oall" :: "[idt, i, o] => o" (\(3\_<_./ _)\ 10) + "_oex" :: "[idt, i, o] => o" (\(3\_<_./ _)\ 10) + "_OUNION" :: "[idt, i, i] => i" (\(3\_<_./ _)\ 10) translations "\x "CONST oall(a, \x. P)" "\x "CONST oex(a, \x. P)" @@ -192,8 +192,8 @@ "rex(M, P) == \x. M(x) & P(x)" syntax - "_rall" :: "[pttrn, i=>o, o] => o" ("(3\_[_]./ _)" 10) - "_rex" :: "[pttrn, i=>o, o] => o" ("(3\_[_]./ _)" 10) + "_rall" :: "[pttrn, i=>o, o] => o" (\(3\_[_]./ _)\ 10) + "_rex" :: "[pttrn, i=>o, o] => o" (\(3\_[_]./ _)\ 10) translations "\x[M]. P" \ "CONST rall(M, \x. P)" "\x[M]. P" \ "CONST rex(M, \x. P)" @@ -323,7 +323,7 @@ subsubsection\Sets as Classes\ definition - setclass :: "[i,i] => o" ("##_" [40] 40) where + setclass :: "[i,i] => o" (\##_\ [40] 40) where "setclass(A) == %x. x \ A" lemma setclass_iff [simp]: "setclass(A,x) <-> x \ A" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Order.thy --- a/src/ZF/Order.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Order.thy Thu Jan 03 21:15:52 2019 +0100 @@ -49,7 +49,7 @@ {f \ A->B. \x\A. \y\A. :r \ :s}" definition - ord_iso :: "[i,i,i,i]=>i" ("(\_, _\ \/ \_, _\)" 51) (*Order isomorphisms*) where + ord_iso :: "[i,i,i,i]=>i" (\(\_, _\ \/ \_, _\)\ 51) (*Order isomorphisms*) where "\A,r\ \ \B,s\ == {f \ bij(A,B). \x\A. \y\A. :r \ :s}" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/OrderType.thy --- a/src/ZF/OrderType.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/OrderType.thy Thu Jan 03 21:15:52 2019 +0100 @@ -31,7 +31,7 @@ definition (*ordinal multiplication*) - omult :: "[i,i]=>i" (infixl "**" 70) where + omult :: "[i,i]=>i" (infixl \**\ 70) where "i ** j == ordertype(j*i, rmult(j,Memrel(j),i,Memrel(i)))" definition @@ -40,12 +40,12 @@ "raw_oadd(i,j) == ordertype(i+j, radd(i,Memrel(i),j,Memrel(j)))" definition - oadd :: "[i,i]=>i" (infixl "++" 65) where + oadd :: "[i,i]=>i" (infixl \++\ 65) where "i ++ j == raw_oadd(ordify(i),ordify(j))" definition (*ordinal subtraction*) - odiff :: "[i,i]=>i" (infixl "--" 65) where + odiff :: "[i,i]=>i" (infixl \--\ 65) where "i -- j == ordertype(i-j, Memrel(i))" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Ordinal.thy --- a/src/ZF/Ordinal.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Ordinal.thy Thu Jan 03 21:15:52 2019 +0100 @@ -20,7 +20,7 @@ "Ord(i) == Transset(i) & (\x\i. Transset(x))" definition - lt :: "[i,i] => o" (infixl "<" 50) (*less-than on ordinals*) where + lt :: "[i,i] => o" (infixl \<\ 50) (*less-than on ordinals*) where "ij & Ord(j)" definition @@ -28,7 +28,7 @@ "Limit(i) == Ord(i) & 0y. y succ(y)" 50) where + le (infixl \\\ 50) where "x \ y == x < succ(y)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Perm.thy --- a/src/ZF/Perm.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Perm.thy Thu Jan 03 21:15:52 2019 +0100 @@ -14,7 +14,7 @@ definition (*composition of relations and functions; NOT Suppes's relative product*) - comp :: "[i,i]=>i" (infixr "O" 60) where + comp :: "[i,i]=>i" (infixr \O\ 60) where "r O s == {xz \ domain(s)*range(r) . \x y z. xz= & :s & :r}" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/QPair.thy --- a/src/ZF/QPair.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/QPair.thy Thu Jan 03 21:15:52 2019 +0100 @@ -21,7 +21,7 @@ \ definition - QPair :: "[i, i] => i" ("<(_;/ _)>") where + QPair :: "[i, i] => i" (\<(_;/ _)>\) where " == a+b" definition @@ -45,16 +45,16 @@ "QSigma(A,B) == \x\A. \y\B(x). {}" syntax - "_QSUM" :: "[idt, i, i] => i" ("(3QSUM _ \ _./ _)" 10) + "_QSUM" :: "[idt, i, i] => i" (\(3QSUM _ \ _./ _)\ 10) translations "QSUM x \ A. B" => "CONST QSigma(A, %x. B)" abbreviation - qprod (infixr "<*>" 80) where + qprod (infixr \<*>\ 80) where "A <*> B == QSigma(A, %_. B)" definition - qsum :: "[i,i]=>i" (infixr "<+>" 65) where + qsum :: "[i,i]=>i" (infixr \<+>\ 65) where "A <+> B == ({0} <*> A) \ ({1} <*> B)" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Resid/Confluence.thy --- a/src/ZF/Resid/Confluence.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Resid/Confluence.thy Thu Jan 03 21:15:52 2019 +0100 @@ -68,11 +68,11 @@ Sconv :: "i" abbreviation - Sconv1_rel (infixl "<-1->" 50) where + Sconv1_rel (infixl \<-1->\ 50) where "a<-1->b == \ Sconv1" abbreviation - Sconv_rel (infixl "<-\" 50) where + Sconv_rel (infixl \<-\\ 50) where "a<-\b == \ Sconv" inductive diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Resid/Redex.thy --- a/src/ZF/Resid/Redex.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Resid/Redex.thy Thu Jan 03 21:15:52 2019 +0100 @@ -18,11 +18,11 @@ Sreg :: "i" abbreviation - Ssub_rel (infixl "\" 70) where + Ssub_rel (infixl \\\ 70) where "a \ b == \ Ssub" abbreviation - Scomp_rel (infixl "\" 70) where + Scomp_rel (infixl \\\ 70) where "a \ b == \ Scomp" abbreviation @@ -43,7 +43,7 @@ %c z u. App(b or c, union_aux(f)`z, union_aux(a)`u), t))" definition - union (infixl "\" 70) where + union (infixl \\\ 70) where "u \ v == union_aux(u)`v" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Resid/Reduction.thy --- a/src/ZF/Resid/Reduction.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Resid/Reduction.thy Thu Jan 03 21:15:52 2019 +0100 @@ -74,19 +74,19 @@ Spar_red :: "i" abbreviation - Sred1_rel (infixl "-1->" 50) where + Sred1_rel (infixl \-1->\ 50) where "a -1-> b == \ Sred1" abbreviation - Sred_rel (infixl "-\" 50) where + Sred_rel (infixl \-\\ 50) where "a -\ b == \ Sred" abbreviation - Spar_red1_rel (infixl "=1=>" 50) where + Spar_red1_rel (infixl \=1=>\ 50) where "a =1=> b == \ Spar_red1" abbreviation - Spar_red_rel (infixl "===>" 50) where + Spar_red_rel (infixl \===>\ 50) where "a ===> b == \ Spar_red" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Resid/Residuals.thy --- a/src/ZF/Resid/Residuals.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Resid/Residuals.thy Thu Jan 03 21:15:52 2019 +0100 @@ -26,7 +26,7 @@ type_intros subst_type nat_typechecks redexes.intros bool_typechecks definition - res_func :: "[i,i]=>i" (infixl "|>" 70) where + res_func :: "[i,i]=>i" (infixl \|>\ 70) where "u |> v == THE w. residuals(u,v,w)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Resid/Substitution.thy --- a/src/ZF/Resid/Substitution.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Resid/Substitution.thy Thu Jan 03 21:15:52 2019 +0100 @@ -42,7 +42,7 @@ "subst_rec(u,r,k) == subst_aux(r)`u`k" abbreviation - subst :: "[i,i]=>i" (infixl "'/" 70) where + subst :: "[i,i]=>i" (infixl \'/\ 70) where "u/v == subst_rec(u,v,0)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Sum.thy --- a/src/ZF/Sum.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Sum.thy Thu Jan 03 21:15:52 2019 +0100 @@ -9,7 +9,7 @@ text\And the "Part" primitive for simultaneous recursive type definitions\ -definition sum :: "[i,i]=>i" (infixr "+" 65) where +definition sum :: "[i,i]=>i" (infixr \+\ 65) where "A+B == {0}*A \ {1}*B" definition Inl :: "i=>i" where diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/Trancl.thy --- a/src/ZF/Trancl.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/Trancl.thy Thu Jan 03 21:15:52 2019 +0100 @@ -32,16 +32,16 @@ "trans(r) == \x y z. : r \ : r \ : r" definition - trans_on :: "[i,i]=>o" ("trans[_]'(_')") where + trans_on :: "[i,i]=>o" (\trans[_]'(_')\) where "trans[A](r) == \x\A. \y\A. \z\A. : r \ : r \ : r" definition - rtrancl :: "i=>i" ("(_^*)" [100] 100) (*refl/transitive closure*) where + rtrancl :: "i=>i" (\(_^*)\ [100] 100) (*refl/transitive closure*) where "r^* == lfp(field(r)*field(r), %s. id(field(r)) \ (r O s))" definition - trancl :: "i=>i" ("(_^+)" [100] 100) (*transitive closure*) where + trancl :: "i=>i" (\(_^+)\ [100] 100) (*transitive closure*) where "r^+ == r O r^*" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Comp.thy --- a/src/ZF/UNITY/Comp.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Comp.thy Thu Jan 03 21:15:52 2019 +0100 @@ -18,20 +18,20 @@ theory Comp imports Union Increasing begin definition - component :: "[i,i]=>o" (infixl "component" 65) where + component :: "[i,i]=>o" (infixl \component\ 65) where "F component H == (\G. F \ G = H)" definition - strict_component :: "[i,i]=>o" (infixl "strict'_component" 65) where + strict_component :: "[i,i]=>o" (infixl \strict'_component\ 65) where "F strict_component H == F component H & F\H" definition (* A stronger form of the component relation *) - component_of :: "[i,i]=>o" (infixl "component'_of" 65) where + component_of :: "[i,i]=>o" (infixl \component'_of\ 65) where "F component_of H == (\G. F ok G & F \ G = H)" definition - strict_component_of :: "[i,i]=>o" (infixl "strict'_component'_of" 65) where + strict_component_of :: "[i,i]=>o" (infixl \strict'_component'_of\ 65) where "F strict_component_of H == F component_of H & F\H" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Constrains.thy --- a/src/ZF/UNITY/Constrains.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Constrains.thy Thu Jan 03 21:15:52 2019 +0100 @@ -40,11 +40,11 @@ definition - Constrains :: "[i,i] => i" (infixl "Co" 60) where + Constrains :: "[i,i] => i" (infixl \Co\ 60) where "A Co B == {F:program. F:(reachable(F) \ A) co B}" definition - op_Unless :: "[i, i] => i" (infixl "Unless" 60) where + op_Unless :: "[i, i] => i" (infixl \Unless\ 60) where "A Unless B == (A-B) Co (A \ B)" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Follows.thy --- a/src/ZF/UNITY/Follows.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Follows.thy Thu Jan 03 21:15:52 2019 +0100 @@ -34,12 +34,12 @@ "m_Incr(f) == Increasing(Mult(nat), MultLe(nat, Le), f)" abbreviation - n_Fols :: "[i=>i, i=>i]=>i" (infixl "n'_Fols" 65) where + n_Fols :: "[i=>i, i=>i]=>i" (infixl \n'_Fols\ 65) where "f n_Fols g == Follows(nat, Le, f, g)" abbreviation Follows' :: "[i=>i, i=>i, i, i] => i" - ("(_ /Fols _ /Wrt (_ /'/ _))" [60, 0, 0, 60] 60) where + (\(_ /Fols _ /Wrt (_ /'/ _))\ [60, 0, 0, 60] 60) where "f Fols g Wrt r/A == Follows(A,r,f,g)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/GenPrefix.thy --- a/src/ZF/UNITY/GenPrefix.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/GenPrefix.thy Thu Jan 03 21:15:52 2019 +0100 @@ -49,11 +49,11 @@ (* less or equal and greater or equal over prefixes *) abbreviation - pfixLe :: "[i, i] => o" (infixl "pfixLe" 50) where + pfixLe :: "[i, i] => o" (infixl \pfixLe\ 50) where "xs pfixLe ys == :gen_prefix(nat, Le)" abbreviation - pfixGe :: "[i, i] => o" (infixl "pfixGe" 50) where + pfixGe :: "[i, i] => o" (infixl \pfixGe\ 50) where "xs pfixGe ys == :gen_prefix(nat, Ge)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Guar.thy --- a/src/ZF/UNITY/Guar.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Guar.thy Thu Jan 03 21:15:52 2019 +0100 @@ -57,7 +57,7 @@ (SKIP \ X & (\F \ program. \G \ program. F ok G \(F \ X & G \ X) \ (F \ G \ X)))" definition - guar :: "[i, i] => i" (infixl "guarantees" 55) where + guar :: "[i, i] => i" (infixl \guarantees\ 55) where (*higher than membership, lower than Co*) "X guarantees Y == {F \ program. \G \ program. F ok G \ F \ G \ X \ F \ G \ Y}" @@ -77,13 +77,13 @@ "welldef == {F \ program. Init(F) \ 0}" definition - refines :: "[i, i, i] => o" ("(3_ refines _ wrt _)" [10,10,10] 10) where + refines :: "[i, i, i] => o" (\(3_ refines _ wrt _)\ [10,10,10] 10) where "G refines F wrt X == \H \ program. (F ok H & G ok H & F \ H \ welldef \ X) \ (G \ H \ welldef \ X)" definition - iso_refines :: "[i,i, i] => o" ("(3_ iso'_refines _ wrt _)" [10,10,10] 10) where + iso_refines :: "[i,i, i] => o" (\(3_ iso'_refines _ wrt _)\ [10,10,10] 10) where "G iso_refines F wrt X == F \ welldef \ X \ G \ welldef \ X" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Increasing.thy --- a/src/ZF/UNITY/Increasing.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Increasing.thy Thu Jan 03 21:15:52 2019 +0100 @@ -11,19 +11,19 @@ theory Increasing imports Constrains Monotonicity begin definition - increasing :: "[i, i, i=>i] => i" ("increasing[_]'(_, _')") where + increasing :: "[i, i, i=>i] => i" (\increasing[_]'(_, _')\) where "increasing[A](r, f) == {F \ program. (\k \ A. F \ stable({s \ state. \ r})) & (\x \ state. f(x):A)}" definition - Increasing :: "[i, i, i=>i] => i" ("Increasing[_]'(_, _')") where + Increasing :: "[i, i, i=>i] => i" (\Increasing[_]'(_, _')\) where "Increasing[A](r, f) == {F \ program. (\k \ A. F \ Stable({s \ state. \ r})) & (\x \ state. f(x):A)}" abbreviation (input) - IncWrt :: "[i=>i, i, i] => i" ("(_ IncreasingWrt _ '/ _)" [60, 0, 60] 60) where + IncWrt :: "[i=>i, i, i] => i" (\(_ IncreasingWrt _ '/ _)\ [60, 0, 60] 60) where "f IncreasingWrt r/A == Increasing[A](r,f)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/SubstAx.thy --- a/src/ZF/UNITY/SubstAx.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/SubstAx.thy Thu Jan 03 21:15:52 2019 +0100 @@ -13,11 +13,11 @@ definition (* The definitions below are not `conventional', but yield simpler rules *) - Ensures :: "[i,i] => i" (infixl "Ensures" 60) where + Ensures :: "[i,i] => i" (infixl \Ensures\ 60) where "A Ensures B == {F \ program. F \ (reachable(F) \ A) ensures (reachable(F) \ B) }" definition - LeadsTo :: "[i, i] => i" (infixl "\w" 60) where + LeadsTo :: "[i, i] => i" (infixl \\w\ 60) where "A \w B == {F \ program. F:(reachable(F) \ A) \ (reachable(F) \ B)}" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/UNITY.thy --- a/src/ZF/UNITY/UNITY.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/UNITY.thy Thu Jan 03 21:15:52 2019 +0100 @@ -27,7 +27,7 @@ cons(id(state), allowed \ Pow(state*state))>" definition - SKIP :: i ("\") where + SKIP :: i (\\\) where "SKIP == mk_program(state, 0, Pow(state*state))" (* Coercion from anything to program *) @@ -68,12 +68,12 @@ initially :: "i=>i" where "initially(A) == {F \ program. Init(F)\A}" -definition "constrains" :: "[i, i] => i" (infixl "co" 60) where +definition "constrains" :: "[i, i] => i" (infixl \co\ 60) where "A co B == {F \ program. (\act \ Acts(F). act``A\B) & st_set(A)}" \ \the condition @{term "st_set(A)"} makes the definition slightly stronger than the HOL one\ -definition unless :: "[i, i] => i" (infixl "unless" 60) where +definition unless :: "[i, i] => i" (infixl \unless\ 60) where "A unless B == (A - B) co (A \ B)" definition @@ -90,7 +90,7 @@ (* meta-function composition *) definition - metacomp :: "[i=>i, i=>i] => (i=>i)" (infixl "comp" 65) where + metacomp :: "[i=>i, i=>i] => (i=>i)" (infixl \comp\ 65) where "f comp g == %x. f(g(x))" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/Union.thy --- a/src/ZF/UNITY/Union.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/Union.thy Thu Jan 03 21:15:52 2019 +0100 @@ -15,7 +15,7 @@ definition (*FIXME: conjoin Init(F) \ Init(G) \ 0 *) - ok :: "[i, i] => o" (infixl "ok" 65) where + ok :: "[i, i] => o" (infixl \ok\ 65) where "F ok G == Acts(F) \ AllowedActs(G) & Acts(G) \ AllowedActs(F)" @@ -31,7 +31,7 @@ \i \ I. AllowedActs(F(i)))" definition - Join :: "[i, i] => i" (infixl "\" 65) where + Join :: "[i, i] => i" (infixl \\\ 65) where "F \ G == mk_program (Init(F) \ Init(G), Acts(F) \ Acts(G), AllowedActs(F) \ AllowedActs(G))" definition @@ -41,8 +41,8 @@ SKIP \ X & (\G \ program. Acts(G) \ (\F \ X. Acts(F)) \ G \ X)" syntax - "_JOIN1" :: "[pttrns, i] => i" ("(3\_./ _)" 10) - "_JOIN" :: "[pttrn, i, i] => i" ("(3\_ \ _./ _)" 10) + "_JOIN1" :: "[pttrns, i] => i" (\(3\_./ _)\ 10) + "_JOIN" :: "[pttrn, i, i] => i" (\(3\_ \ _./ _)\ 10) translations "\x \ A. B" == "CONST JOIN(A, (\x. B))" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/UNITY/WFair.thy --- a/src/ZF/UNITY/WFair.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/UNITY/WFair.thy Thu Jan 03 21:15:52 2019 +0100 @@ -21,7 +21,7 @@ act``A \ state-A) & st_set(A)}" definition - ensures :: "[i,i] => i" (infixl "ensures" 60) where + ensures :: "[i,i] => i" (infixl \ensures\ 60) where "A ensures B == ((A-B) co (A \ B)) \ transient(A-B)" consts @@ -43,7 +43,7 @@ definition (* The Visible version of the LEADS-TO relation*) - leadsTo :: "[i, i] => i" (infixl "\" 60) where + leadsTo :: "[i, i] => i" (infixl \\\ 60) where "A \ B == {F \ program. :leads(state, F)}" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/WF.thy --- a/src/ZF/WF.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/WF.thy Thu Jan 03 21:15:52 2019 +0100 @@ -24,7 +24,7 @@ "wf(r) == \Z. Z=0 | (\x\Z. \y. :r \ ~ y \ Z)" definition - wf_on :: "[i,i]=>o" ("wf[_]'(_')") where + wf_on :: "[i,i]=>o" (\wf[_]'(_')\) where (*r is well-founded on A*) "wf_on(A,r) == wf(r \ A*A)" @@ -46,7 +46,7 @@ "wfrec(r,a,H) == wftrec(r^+, a, %x f. H(x, restrict(f,r-``{x})))" definition - wfrec_on :: "[i, i, i, [i,i]=>i] =>i" ("wfrec[_]'(_,_,_')") where + wfrec_on :: "[i, i, i, [i,i]=>i] =>i" (\wfrec[_]'(_,_,_')\) where "wfrec[A](r,a,H) == wfrec(r \ A*A, a, H)" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/ZF.thy --- a/src/ZF/ZF.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/ZF.thy Thu Jan 03 21:15:52 2019 +0100 @@ -7,14 +7,14 @@ subsection\Iteration of the function @{term F}\ -consts iterates :: "[i=>i,i,i] => i" ("(_^_ '(_'))" [60,1000,1000] 60) +consts iterates :: "[i=>i,i,i] => i" (\(_^_ '(_'))\ [60,1000,1000] 60) primrec "F^0 (x) = x" "F^(succ(n)) (x) = F(F^n (x))" definition - iterates_omega :: "[i=>i,i] => i" ("(_^\ '(_'))" [60,1000] 60) where + iterates_omega :: "[i=>i,i] => i" (\(_^\ '(_'))\ [60,1000] 60) where "F^\ (x) == \n\nat. F^n (x)" lemma iterates_triv: diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/ZF_Base.thy --- a/src/ZF/ZF_Base.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/ZF_Base.thy Thu Jan 03 21:15:52 2019 +0100 @@ -16,14 +16,14 @@ typedecl i instance i :: "term" .. -axiomatization mem :: "[i, i] \ o" (infixl "\" 50) \ \membership relation\ - and zero :: "i" ("0") \ \the empty set\ +axiomatization mem :: "[i, i] \ o" (infixl \\\ 50) \ \membership relation\ + and zero :: "i" (\0\) \ \the empty set\ and Pow :: "i \ i" \ \power sets\ and Inf :: "i" \ \infinite set\ - and Union :: "i \ i" ("\_" [90] 90) + and Union :: "i \ i" (\\_\ [90] 90) and PrimReplace :: "[i, [i, i] \ o] \ i" -abbreviation not_mem :: "[i, i] \ o" (infixl "\" 50) \ \negated membership relation\ +abbreviation not_mem :: "[i, i] \ o" (infixl \\\ 50) \ \negated membership relation\ where "x \ y \ \ (x \ y)" @@ -36,8 +36,8 @@ where "Bex(A, P) \ \x. x\A \ P(x)" syntax - "_Ball" :: "[pttrn, i, o] \ o" ("(3\_\_./ _)" 10) - "_Bex" :: "[pttrn, i, o] \ o" ("(3\_\_./ _)" 10) + "_Ball" :: "[pttrn, i, o] \ o" (\(3\_\_./ _)\ 10) + "_Bex" :: "[pttrn, i, o] \ o" (\(3\_\_./ _)\ 10) translations "\x\A. P" \ "CONST Ball(A, \x. P)" "\x\A. P" \ "CONST Bex(A, \x. P)" @@ -52,7 +52,7 @@ where "Replace(A,P) == PrimReplace(A, %x y. (\!z. P(x,z)) & P(x,y))" syntax - "_Replace" :: "[pttrn, pttrn, i, o] => i" ("(1{_ ./ _ \ _, _})") + "_Replace" :: "[pttrn, pttrn, i, o] => i" (\(1{_ ./ _ \ _, _})\) translations "{y. x\A, Q}" \ "CONST Replace(A, \x y. Q)" @@ -63,7 +63,7 @@ where "RepFun(A,f) == {y . x\A, y=f(x)}" syntax - "_RepFun" :: "[i, pttrn, i] => i" ("(1{_ ./ _ \ _})" [51,0,51]) + "_RepFun" :: "[i, pttrn, i] => i" (\(1{_ ./ _ \ _})\ [51,0,51]) translations "{b. x\A}" \ "CONST RepFun(A, \x. b)" @@ -74,19 +74,19 @@ where "Collect(A,P) == {y . x\A, x=y & P(x)}" syntax - "_Collect" :: "[pttrn, i, o] \ i" ("(1{_ \ _ ./ _})") + "_Collect" :: "[pttrn, i, o] \ i" (\(1{_ \ _ ./ _})\) translations "{x\A. P}" \ "CONST Collect(A, \x. P)" subsection \General union and intersection\ -definition Inter :: "i => i" ("\_" [90] 90) +definition Inter :: "i => i" (\\_\ [90] 90) where "\(A) == { x\\(A) . \y\A. x\y}" syntax - "_UNION" :: "[pttrn, i, i] => i" ("(3\_\_./ _)" 10) - "_INTER" :: "[pttrn, i, i] => i" ("(3\_\_./ _)" 10) + "_UNION" :: "[pttrn, i, i] => i" (\(3\_\_./ _)\ 10) + "_INTER" :: "[pttrn, i, i] => i" (\(3\_\_./ _)\ 10) translations "\x\A. B" == "CONST Union({B. x\A})" "\x\A. B" == "CONST Inter({B. x\A})" @@ -100,16 +100,16 @@ definition Upair :: "[i, i] => i" where "Upair(a,b) == {y. x\Pow(Pow(0)), (x=0 & y=a) | (x=Pow(0) & y=b)}" -definition Subset :: "[i, i] \ o" (infixl "\" 50) \ \subset relation\ +definition Subset :: "[i, i] \ o" (infixl \\\ 50) \ \subset relation\ where subset_def: "A \ B \ \x\A. x\B" -definition Diff :: "[i, i] \ i" (infixl "-" 65) \ \set difference\ +definition Diff :: "[i, i] \ i" (infixl \-\ 65) \ \set difference\ where "A - B == { x\A . ~(x\B) }" -definition Un :: "[i, i] \ i" (infixl "\" 65) \ \binary union\ +definition Un :: "[i, i] \ i" (infixl \\\ 65) \ \binary union\ where "A \ B == \(Upair(A,B))" -definition Int :: "[i, i] \ i" (infixl "\" 70) \ \binary intersection\ +definition Int :: "[i, i] \ i" (infixl \\\ 70) \ \binary intersection\ where "A \ B == \(Upair(A,B))" definition cons :: "[i, i] => i" @@ -120,9 +120,9 @@ nonterminal "is" syntax - "" :: "i \ is" ("_") - "_Enum" :: "[i, is] \ is" ("_,/ _") - "_Finset" :: "is \ i" ("{(_)}") + "" :: "i \ is" (\_\) + "_Enum" :: "[i, is] \ is" (\_,/ _\) + "_Finset" :: "is \ i" (\{(_)}\) translations "{x, xs}" == "CONST cons(x, {xs})" "{x}" == "CONST cons(x, 0)" @@ -153,14 +153,14 @@ subsection \Definite descriptions -- via Replace over the set "1"\ -definition The :: "(i \ o) \ i" (binder "THE " 10) +definition The :: "(i \ o) \ i" (binder \THE \ 10) where the_def: "The(P) == \({y . x \ {0}, P(y)})" -definition If :: "[o, i, i] \ i" ("(if (_)/ then (_)/ else (_))" [10] 10) +definition If :: "[o, i, i] \ i" (\(if (_)/ then (_)/ else (_))\ [10] 10) where if_def: "if P then a else b == THE z. P & z=a | ~P & z=b" abbreviation (input) - old_if :: "[o, i, i] => i" ("if '(_,_,_')") + old_if :: "[o, i, i] => i" (\if '(_,_,_')\) where "if(P,a,b) == If(P,a,b)" @@ -182,10 +182,10 @@ (* Patterns -- extends pre-defined type "pttrn" used in abstractions *) nonterminal patterns syntax - "_pattern" :: "patterns => pttrn" ("\_\") - "" :: "pttrn => patterns" ("_") - "_patterns" :: "[pttrn, patterns] => patterns" ("_,/_") - "_Tuple" :: "[i, is] => i" ("\(_,/ _)\") + "_pattern" :: "patterns => pttrn" (\\_\\) + "" :: "pttrn => patterns" (\_\) + "_patterns" :: "[pttrn, patterns] => patterns" (\_,/_\) + "_Tuple" :: "[i, is] => i" (\\(_,/ _)\\) translations "\x, y, z\" == "\x, \y, z\\" "\x, y\" == "CONST Pair(x, y)" @@ -195,7 +195,7 @@ definition Sigma :: "[i, i \ i] \ i" where "Sigma(A,B) == \x\A. \y\B(x). {\x,y\}" -abbreviation cart_prod :: "[i, i] => i" (infixr "\" 80) \ \Cartesian product\ +abbreviation cart_prod :: "[i, i] => i" (infixr \\\ 80) \ \Cartesian product\ where "A \ B \ Sigma(A, \_. B)" @@ -220,10 +220,10 @@ definition "function" :: "i \ o" \ \recognizes functions; can have non-pairs\ where "function(r) == \x y. \x,y\ \ r \ (\y'. \x,y'\ \ r \ y = y')" -definition Image :: "[i, i] \ i" (infixl "``" 90) \ \image\ +definition Image :: "[i, i] \ i" (infixl \``\ 90) \ \image\ where image_def: "r `` A == {y \ range(r). \x\A. \x,y\ \ r}" -definition vimage :: "[i, i] \ i" (infixl "-``" 90) \ \inverse image\ +definition vimage :: "[i, i] \ i" (infixl \-``\ 90) \ \inverse image\ where vimage_def: "r -`` A == converse(r)``A" (* Restrict the relation r to the domain A *) @@ -236,22 +236,22 @@ definition Lambda :: "[i, i \ i] \ i" where lam_def: "Lambda(A,b) == {\x,b(x)\. x\A}" -definition "apply" :: "[i, i] \ i" (infixl "`" 90) \ \function application\ +definition "apply" :: "[i, i] \ i" (infixl \`\ 90) \ \function application\ where "f`a == \(f``{a})" definition Pi :: "[i, i \ i] \ i" where "Pi(A,B) == {f\Pow(Sigma(A,B)). A\domain(f) & function(f)}" -abbreviation function_space :: "[i, i] \ i" (infixr "->" 60) \ \function space\ +abbreviation function_space :: "[i, i] \ i" (infixr \->\ 60) \ \function space\ where "A -> B \ Pi(A, \_. B)" (* binder syntax *) syntax - "_PROD" :: "[pttrn, i, i] => i" ("(3\_\_./ _)" 10) - "_SUM" :: "[pttrn, i, i] => i" ("(3\_\_./ _)" 10) - "_lam" :: "[pttrn, i, i] => i" ("(3\_\_./ _)" 10) + "_PROD" :: "[pttrn, i, i] => i" (\(3\_\_./ _)\ 10) + "_SUM" :: "[pttrn, i, i] => i" (\(3\_\_./ _)\ 10) + "_lam" :: "[pttrn, i, i] => i" (\(3\_\_./ _)\ 10) translations "\x\A. B" == "CONST Pi(A, \x. B)" "\x\A. B" == "CONST Sigma(A, \x. B)" @@ -261,27 +261,27 @@ subsection \ASCII syntax\ notation (ASCII) - cart_prod (infixr "*" 80) and - Int (infixl "Int" 70) and - Un (infixl "Un" 65) and - function_space (infixr "\" 60) and - Subset (infixl "<=" 50) and - mem (infixl ":" 50) and - not_mem (infixl "~:" 50) + cart_prod (infixr \*\ 80) and + Int (infixl \Int\ 70) and + Un (infixl \Un\ 65) and + function_space (infixr \\\ 60) and + Subset (infixl \<=\ 50) and + mem (infixl \:\ 50) and + not_mem (infixl \~:\ 50) syntax (ASCII) - "_Ball" :: "[pttrn, i, o] => o" ("(3ALL _:_./ _)" 10) - "_Bex" :: "[pttrn, i, o] => o" ("(3EX _:_./ _)" 10) - "_Collect" :: "[pttrn, i, o] => i" ("(1{_: _ ./ _})") - "_Replace" :: "[pttrn, pttrn, i, o] => i" ("(1{_ ./ _: _, _})") - "_RepFun" :: "[i, pttrn, i] => i" ("(1{_ ./ _: _})" [51,0,51]) - "_UNION" :: "[pttrn, i, i] => i" ("(3UN _:_./ _)" 10) - "_INTER" :: "[pttrn, i, i] => i" ("(3INT _:_./ _)" 10) - "_PROD" :: "[pttrn, i, i] => i" ("(3PROD _:_./ _)" 10) - "_SUM" :: "[pttrn, i, i] => i" ("(3SUM _:_./ _)" 10) - "_lam" :: "[pttrn, i, i] => i" ("(3lam _:_./ _)" 10) - "_Tuple" :: "[i, is] => i" ("<(_,/ _)>") - "_pattern" :: "patterns => pttrn" ("<_>") + "_Ball" :: "[pttrn, i, o] => o" (\(3ALL _:_./ _)\ 10) + "_Bex" :: "[pttrn, i, o] => o" (\(3EX _:_./ _)\ 10) + "_Collect" :: "[pttrn, i, o] => i" (\(1{_: _ ./ _})\) + "_Replace" :: "[pttrn, pttrn, i, o] => i" (\(1{_ ./ _: _, _})\) + "_RepFun" :: "[i, pttrn, i] => i" (\(1{_ ./ _: _})\ [51,0,51]) + "_UNION" :: "[pttrn, i, i] => i" (\(3UN _:_./ _)\ 10) + "_INTER" :: "[pttrn, i, i] => i" (\(3INT _:_./ _)\ 10) + "_PROD" :: "[pttrn, i, i] => i" (\(3PROD _:_./ _)\ 10) + "_SUM" :: "[pttrn, i, i] => i" (\(3SUM _:_./ _)\ 10) + "_lam" :: "[pttrn, i, i] => i" (\(3lam _:_./ _)\ 10) + "_Tuple" :: "[i, is] => i" (\<(_,/ _)>\) + "_pattern" :: "patterns => pttrn" (\<_>\) subsection \Substitution\ diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/ex/Group.thy --- a/src/ZF/ex/Group.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/ex/Group.thy Thu Jan 03 21:15:52 2019 +0100 @@ -22,11 +22,11 @@ "carrier(M) == fst(M)" definition - mmult :: "[i, i, i] => i" (infixl "\\" 70) where + mmult :: "[i, i, i] => i" (infixl \\\\ 70) where "mmult(M,x,y) == fst(snd(M)) ` " definition - one :: "i => i" ("\\") where + one :: "i => i" (\\\\) where "one(M) == fst(snd(snd(M)))" definition @@ -34,7 +34,7 @@ "update_carrier(M,A) == " definition - m_inv :: "i => i => i" ("inv\ _" [81] 80) where + m_inv :: "i => i => i" (\inv\ _\ [81] 80) where "inv\<^bsub>G\<^esub> x == (THE y. y \ carrier(G) & y \\<^bsub>G\<^esub> x = \\<^bsub>G\<^esub> & x \\<^bsub>G\<^esub> y = \\<^bsub>G\<^esub>)" locale monoid = fixes G (structure) @@ -302,7 +302,7 @@ subsection \Direct Products\ definition - DirProdGroup :: "[i,i] => i" (infixr "\" 80) where + DirProdGroup :: "[i,i] => i" (infixr \\\ 80) where "G \ H == carrier(H), (\<, > \ (carrier(G) \ carrier(H)) \ (carrier(G) \ carrier(H)). @@ -370,7 +370,7 @@ subsection \Isomorphisms\ definition - iso :: "[i,i] => i" (infixr "\" 60) where + iso :: "[i,i] => i" (infixr \\\ 60) where "G \ H == hom(G,H) \ bij(carrier(G), carrier(H))" lemma (in group) iso_refl: "id(carrier(G)) \ G \ G" @@ -576,23 +576,23 @@ subsection\Cosets and Quotient Groups\ definition - r_coset :: "[i,i,i] => i" (infixl "#>\" 60) where + r_coset :: "[i,i,i] => i" (infixl \#>\\ 60) where "H #>\<^bsub>G\<^esub> a == \h\H. {h \\<^bsub>G\<^esub> a}" definition - l_coset :: "[i,i,i] => i" (infixl "<#\" 60) where + l_coset :: "[i,i,i] => i" (infixl \<#\\ 60) where "a <#\<^bsub>G\<^esub> H == \h\H. {a \\<^bsub>G\<^esub> h}" definition - RCOSETS :: "[i,i] => i" ("rcosets\ _" [81] 80) where + RCOSETS :: "[i,i] => i" (\rcosets\ _\ [81] 80) where "rcosets\<^bsub>G\<^esub> H == \a\carrier(G). {H #>\<^bsub>G\<^esub> a}" definition - set_mult :: "[i,i,i] => i" (infixl "<#>\" 60) where + set_mult :: "[i,i,i] => i" (infixl \<#>\\ 60) where "H <#>\<^bsub>G\<^esub> K == \h\H. \k\K. {h \\<^bsub>G\<^esub> k}" definition - SET_INV :: "[i,i] => i" ("set'_inv\ _" [81] 80) where + SET_INV :: "[i,i] => i" (\set'_inv\ _\ [81] 80) where "set_inv\<^bsub>G\<^esub> H == \h\H. {inv\<^bsub>G\<^esub> h}" @@ -600,7 +600,7 @@ assumes coset_eq: "(\x \ carrier(G). H #> x = x <# H)" notation - normal (infixl "\" 60) + normal (infixl \\\ 60) subsection \Basic Properties of Cosets\ @@ -860,7 +860,7 @@ subsubsection\Two distinct right cosets are disjoint\ definition - r_congruent :: "[i,i] => i" ("rcong\ _" [60] 60) where + r_congruent :: "[i,i] => i" (\rcong\ _\ [60] 60) where "rcong\<^bsub>G\<^esub> H == { \ carrier(G) * carrier(G). inv\<^bsub>G\<^esub> x \\<^bsub>G\<^esub> y \ H}" @@ -1020,7 +1020,7 @@ subsection \Quotient Groups: Factorization of a Group\ definition - FactGroup :: "[i,i] => i" (infixl "Mod" 65) where + FactGroup :: "[i,i] => i" (infixl \Mod\ 65) where \ \Actually defined for groups rather than monoids\ "G Mod H == G\<^esub> H, \ \ (rcosets\<^bsub>G\<^esub> H) \ (rcosets\<^bsub>G\<^esub> H). K1 <#>\<^bsub>G\<^esub> K2, H, 0>" diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/ex/Primes.thy --- a/src/ZF/ex/Primes.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/ex/Primes.thy Thu Jan 03 21:15:52 2019 +0100 @@ -8,7 +8,7 @@ theory Primes imports ZF begin definition - divides :: "[i,i]=>o" (infixl "dvd" 50) where + divides :: "[i,i]=>o" (infixl \dvd\ 50) where "m dvd n == m \ nat & n \ nat & (\k \ nat. n = m#*k)" definition diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/ex/Ring.thy --- a/src/ZF/ex/Ring.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/ex/Ring.thy Thu Jan 03 21:15:52 2019 +0100 @@ -7,8 +7,8 @@ theory Ring imports Group begin no_notation - cadd (infixl "\" 65) and - cmult (infixl "\" 70) + cadd (infixl \\\ 65) and + cmult (infixl \\\ 70) (*First, we must simulate a record declaration: record ring = monoid + @@ -21,11 +21,11 @@ "add_field(M) = fst(snd(snd(snd(M))))" definition - ring_add :: "[i, i, i] => i" (infixl "\\" 65) where + ring_add :: "[i, i, i] => i" (infixl \\\\ 65) where "ring_add(M,x,y) = add_field(M) ` " definition - zero :: "i => i" ("\\") where + zero :: "i => i" (\\\\) where "zero(M) = fst(snd(snd(snd(snd(M)))))" @@ -42,11 +42,11 @@ text \Derived operations.\ definition - a_inv :: "[i,i] => i" ("\\ _" [81] 80) where + a_inv :: "[i,i] => i" (\\\ _\ [81] 80) where "a_inv(R) == m_inv ()" definition - minus :: "[i,i,i] => i" ("(_ \\ _)" [65,66] 65) where + minus :: "[i,i,i] => i" (\(_ \\ _)\ [65,66] 65) where "\x \ carrier(R); y \ carrier(R)\ \ x \\<^bsub>R\<^esub> y = x \\<^bsub>R\<^esub> (\\<^bsub>R\<^esub> y)" locale abelian_monoid = fixes G (structure) diff -r 9171d1ce5a35 -r 53982d5ec0bb src/ZF/func.thy --- a/src/ZF/func.thy Thu Jan 03 21:06:39 2019 +0100 +++ b/src/ZF/func.thy Thu Jan 03 21:15:52 2019 +0100 @@ -451,10 +451,10 @@ (* Let expressions *) - "_updbind" :: "[i, i] => updbind" ("(2_ :=/ _)") - "" :: "updbind => updbinds" ("_") - "_updbinds" :: "[updbind, updbinds] => updbinds" ("_,/ _") - "_Update" :: "[i, updbinds] => i" ("_/'((_)')" [900,0] 900) + "_updbind" :: "[i, i] => updbind" (\(2_ :=/ _)\) + "" :: "updbind => updbinds" (\_\) + "_updbinds" :: "[updbind, updbinds] => updbinds" (\_,/ _\) + "_Update" :: "[i, updbinds] => i" (\_/'((_)')\ [900,0] 900) translations "_Update (f, _updbinds(b,bs))" == "_Update (_Update(f,b), bs)"