src/HOL/Nominal/Nominal.thy
changeset 58310 91ea607a34d8
parent 58238 a701907d621e
child 58318 f95754ca7082
equal deleted inserted replaced
58309:a09ec6daaa19 58310:91ea607a34d8
    16 consts 
    16 consts 
    17   perm :: "'x prm \<Rightarrow> 'a \<Rightarrow> 'a"     (infixr "\<bullet>" 80)
    17   perm :: "'x prm \<Rightarrow> 'a \<Rightarrow> 'a"     (infixr "\<bullet>" 80)
    18   swap :: "('x \<times> 'x) \<Rightarrow> 'x \<Rightarrow> 'x"
    18   swap :: "('x \<times> 'x) \<Rightarrow> 'x \<Rightarrow> 'x"
    19 
    19 
    20 (* a "private" copy of the option type used in the abstraction function *)
    20 (* a "private" copy of the option type used in the abstraction function *)
    21 datatype_new 'a noption = nSome 'a | nNone
    21 datatype 'a noption = nSome 'a | nNone
    22 
    22 
    23 datatype_compat noption
    23 datatype_compat noption
    24 
    24 
    25 (* a "private" copy of the product type used in the nominal induct method *)
    25 (* a "private" copy of the product type used in the nominal induct method *)
    26 datatype_new ('a, 'b) nprod = nPair 'a 'b
    26 datatype ('a, 'b) nprod = nPair 'a 'b
    27 
    27 
    28 datatype_compat nprod
    28 datatype_compat nprod
    29 
    29 
    30 (* an auxiliary constant for the decision procedure involving *) 
    30 (* an auxiliary constant for the decision procedure involving *) 
    31 (* permutations (to avoid loops when using perm-compositions)  *)
    31 (* permutations (to avoid loops when using perm-compositions)  *)