src/HOL/Nominal/Nominal.thy
changeset 61260 e6f03fae14d5
parent 60585 48fdff264eb2
child 62145 5b946c81dfbf
equal deleted inserted replaced
61259:6dc3d5d50e57 61260:e6f03fae14d5
     3 keywords
     3 keywords
     4   "atom_decl" "nominal_datatype" "equivariance" :: thy_decl and
     4   "atom_decl" "nominal_datatype" "equivariance" :: thy_decl and
     5   "nominal_primrec" "nominal_inductive" "nominal_inductive2" :: thy_goal and
     5   "nominal_primrec" "nominal_inductive" "nominal_inductive2" :: thy_goal and
     6   "avoids"
     6   "avoids"
     7 begin
     7 begin
       
     8 
       
     9 declare [[typedef_overloaded]]
       
    10 
     8 
    11 
     9 section {* Permutations *}
    12 section {* Permutations *}
    10 (*======================*)
    13 (*======================*)
    11 
    14 
    12 type_synonym 
    15 type_synonym 
  3376   where
  3379   where
  3377   ABS_in: "(abs_fun a x)\<in>ABS_set"
  3380   ABS_in: "(abs_fun a x)\<in>ABS_set"
  3378 
  3381 
  3379 definition "ABS = ABS_set"
  3382 definition "ABS = ABS_set"
  3380 
  3383 
  3381 typedef ('x,'a) ABS ("\<guillemotleft>_\<guillemotright>_" [1000,1000] 1000) =
  3384 typedef ('x, 'a) ABS ("\<guillemotleft>_\<guillemotright>_" [1000,1000] 1000) =
  3382     "ABS::('x\<Rightarrow>('a noption)) set"
  3385     "ABS::('x\<Rightarrow>('a noption)) set"
  3383   morphisms Rep_ABS Abs_ABS
  3386   morphisms Rep_ABS Abs_ABS
  3384   unfolding ABS_def
  3387   unfolding ABS_def
  3385 proof 
  3388 proof 
  3386   fix x::"'a" and a::"'x"
  3389   fix x::"'a" and a::"'x"