diff -r 46f59511b7bb -r d97fdabd9e2b src/HOL/Nominal/Examples/SOS.thy --- a/src/HOL/Nominal/Examples/SOS.thy Fri Sep 20 19:07:10 2024 +0200 +++ b/src/HOL/Nominal/Examples/SOS.thy Fri Sep 20 19:51:08 2024 +0200 @@ -19,11 +19,11 @@ text \types and terms\ nominal_datatype ty = TVar "nat" - | Arrow "ty" "ty" ("_\_" [100,100] 100) + | Arrow "ty" "ty" (\_\_\ [100,100] 100) nominal_datatype trm = Var "name" - | Lam "\name\trm" ("Lam [_]._" [100,100] 100) + | Lam "\name\trm" (\Lam [_]._\ [100,100] 100) | App "trm" "trm" lemma fresh_ty: @@ -62,7 +62,7 @@ (* parallel substitution *) nominal_primrec - psubst :: "(name\trm) list \ trm \ trm" ("_<_>" [95,95] 105) + psubst :: "(name\trm) list \ trm \ trm" (\_<_>\ [95,95] 105) where "\<(Var x)> = (lookup \ x)" | "\<(App e\<^sub>1 e\<^sub>2)> = App (\1>) (\2>)" @@ -92,7 +92,7 @@ text \Single substitution\ abbreviation - subst :: "trm \ name \ trm \ trm" ("_[_::=_]" [100,100,100] 100) + subst :: "trm \ name \ trm \ trm" (\_[_::=_]\ [100,100,100] 100) where "t[x::=t'] \ ([(x,t')])" @@ -157,7 +157,7 @@ text \Typing Relation\ inductive - typing :: "(name\ty) list\trm\ty\bool" ("_ \ _ : _" [60,60,60] 60) + typing :: "(name\ty) list\trm\ty\bool" (\_ \ _ : _\ [60,60,60] 60) where t_Var[intro]: "\valid \; (x,T)\set \\ \ \ \ Var x : T" | t_App[intro]: "\\ \ e\<^sub>1 : T\<^sub>1\T\<^sub>2; \ \ e\<^sub>2 : T\<^sub>1\ \ \ \ App e\<^sub>1 e\<^sub>2 : T\<^sub>2" @@ -188,7 +188,7 @@ (auto simp add: abs_fresh fresh_ty alpha trm.inject) abbreviation - "sub_context" :: "(name\ty) list \ (name\ty) list \ bool" ("_ \ _" [55,55] 55) + "sub_context" :: "(name\ty) list \ (name\ty) list \ bool" (\_ \ _\ [55,55] 55) where "\\<^sub>1 \ \\<^sub>2 \ \x T. (x,T)\set \\<^sub>1 \ (x,T)\set \\<^sub>2" @@ -257,7 +257,7 @@ text \Big-Step Evaluation\ inductive - big :: "trm\trm\bool" ("_ \ _" [80,80] 80) + big :: "trm\trm\bool" (\_ \ _\ [80,80] 80) where b_Lam[intro]: "Lam [x].e \ Lam [x].e" | b_App[intro]: "\x\(e\<^sub>1,e\<^sub>2,e'); e\<^sub>1\Lam [x].e; e\<^sub>2\e\<^sub>2'; e[x::=e\<^sub>2']\e'\ \ App e\<^sub>1 e\<^sub>2 \ e'" @@ -427,12 +427,12 @@ text \'\ maps x to e' asserts that \ substitutes x with e\ abbreviation - mapsto :: "(name\trm) list \ name \ trm \ bool" ("_ maps _ to _" [55,55,55] 55) + mapsto :: "(name\trm) list \ name \ trm \ bool" (\_ maps _ to _\ [55,55,55] 55) where "\ maps x to e \ (lookup \ x) = e" abbreviation - v_closes :: "(name\trm) list \ (name\ty) list \ bool" ("_ Vcloses _" [55,55] 55) + v_closes :: "(name\trm) list \ (name\ty) list \ bool" (\_ Vcloses _\ [55,55] 55) where "\ Vcloses \ \ \x T. (x,T) \ set \ \ (\v. \ maps x to v \ v \ V T)"