equal
deleted
inserted
replaced
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)]" |