diff -r f6e595e4f608 -r 261cd8722677 src/HOL/Transitive_Closure.thy --- a/src/HOL/Transitive_Closure.thy Mon Sep 23 12:59:10 2024 +0200 +++ b/src/HOL/Transitive_Closure.thy Mon Sep 23 13:32:38 2024 +0200 @@ -26,21 +26,21 @@ context notes [[inductive_internals]] begin -inductive_set rtrancl :: "('a \ 'a) set \ ('a \ 'a) set" ("(_\<^sup>*)" [1000] 999) +inductive_set rtrancl :: "('a \ 'a) set \ ('a \ 'a) set" (\(_\<^sup>*)\ [1000] 999) for r :: "('a \ 'a) set" where rtrancl_refl [intro!, Pure.intro!, simp]: "(a, a) \ r\<^sup>*" | rtrancl_into_rtrancl [Pure.intro]: "(a, b) \ r\<^sup>* \ (b, c) \ r \ (a, c) \ r\<^sup>*" -inductive_set trancl :: "('a \ 'a) set \ ('a \ 'a) set" ("(_\<^sup>+)" [1000] 999) +inductive_set trancl :: "('a \ 'a) set \ ('a \ 'a) set" (\(_\<^sup>+)\ [1000] 999) for r :: "('a \ 'a) set" where r_into_trancl [intro, Pure.intro]: "(a, b) \ r \ (a, b) \ r\<^sup>+" | trancl_into_trancl [Pure.intro]: "(a, b) \ r\<^sup>+ \ (b, c) \ r \ (a, c) \ r\<^sup>+" notation - rtranclp ("(_\<^sup>*\<^sup>*)" [1000] 1000) and - tranclp ("(_\<^sup>+\<^sup>+)" [1000] 1000) + rtranclp (\(_\<^sup>*\<^sup>*)\ [1000] 1000) and + tranclp (\(_\<^sup>+\<^sup>+)\ [1000] 1000) declare rtrancl_def [nitpick_unfold del] @@ -50,19 +50,19 @@ end -abbreviation reflcl :: "('a \ 'a) set \ ('a \ 'a) set" ("(_\<^sup>=)" [1000] 999) +abbreviation reflcl :: "('a \ 'a) set \ ('a \ 'a) set" (\(_\<^sup>=)\ [1000] 999) where "r\<^sup>= \ r \ Id" -abbreviation reflclp :: "('a \ 'a \ bool) \ 'a \ 'a \ bool" ("(_\<^sup>=\<^sup>=)" [1000] 1000) +abbreviation reflclp :: "('a \ 'a \ bool) \ 'a \ 'a \ bool" (\(_\<^sup>=\<^sup>=)\ [1000] 1000) where "r\<^sup>=\<^sup>= \ sup r (=)" notation (ASCII) - rtrancl ("(_^*)" [1000] 999) and - trancl ("(_^+)" [1000] 999) and - reflcl ("(_^=)" [1000] 999) and - rtranclp ("(_^**)" [1000] 1000) and - tranclp ("(_^++)" [1000] 1000) and - reflclp ("(_^==)" [1000] 1000) + rtrancl (\(_^*)\ [1000] 999) and + trancl (\(_^+)\ [1000] 999) and + reflcl (\(_^=)\ [1000] 999) and + rtranclp (\(_^**)\ [1000] 1000) and + tranclp (\(_^++)\ [1000] 1000) and + reflclp (\(_^==)\ [1000] 1000) subsection \Reflexive closure\