src/HOL/Nominal/Examples/Pattern.thy
changeset 41798 c3aa3c87ef21
parent 34990 81e8fdfeb849
child 44687 20deab90494e
equal deleted inserted replaced
41797:0c6093d596d6 41798:c3aa3c87ef21
   136   by (induct p) simp_all
   136   by (induct p) simp_all
   137 
   137 
   138 lemma pat_type_perm_eq: "pat_type ((pi :: name prm) \<bullet> p) = pat_type p"
   138 lemma pat_type_perm_eq: "pat_type ((pi :: name prm) \<bullet> p) = pat_type p"
   139   by (induct p) (simp_all add: perm_type)
   139   by (induct p) (simp_all add: perm_type)
   140 
   140 
   141 types ctx = "(name \<times> ty) list"
   141 type_synonym ctx = "(name \<times> ty) list"
   142 
   142 
   143 inductive
   143 inductive
   144   ptyping :: "pat \<Rightarrow> ty \<Rightarrow> ctx \<Rightarrow> bool"  ("\<turnstile> _ : _ \<Rightarrow> _" [60, 60, 60] 60)
   144   ptyping :: "pat \<Rightarrow> ty \<Rightarrow> ctx \<Rightarrow> bool"  ("\<turnstile> _ : _ \<Rightarrow> _" [60, 60, 60] 60)
   145 where
   145 where
   146   PVar: "\<turnstile> PVar x T : T \<Rightarrow> [(x, T)]"
   146   PVar: "\<turnstile> PVar x T : T \<Rightarrow> [(x, T)]"