You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
|Ax_Data:"\<lbrakk> \<turnstile> \<Delta> ; atom T \<sharp> \<Delta> \<rbrakk> \<Longrightarrow> \<turnstile> AxData T \<kappa> # \<Delta>"
13
+
|Ax_Data:"\<lbrakk> \<turnstile> \<Delta> ; \<nexists>k. AxData T k \<in> set \<Delta> \<rbrakk> \<Longrightarrow> \<turnstile> AxData T \<kappa> # \<Delta>"
14
14
15
-
|Ax_Ctor:"\<lbrakk> [] , \<Delta> \<turnstile>\<^sub>t\<^sub>y \<tau> : \<star> ; ctor_type \<tau> = Some T ; atom D \<sharp> \<Delta> \<rbrakk> \<Longrightarrow> \<turnstile> AxCtor D \<tau> # \<Delta>"
15
+
|Ax_Ctor:"\<lbrakk> [] , \<Delta> \<turnstile>\<^sub>t\<^sub>y \<tau> : \<star> ; ctor_type \<tau> = Some T ; \<nexists>t. AxCtor D t \<in> set \<Delta> \<rbrakk> \<Longrightarrow> \<turnstile> AxCtor D \<tau> # \<Delta>"
Copy file name to clipboardExpand all lines: Typing_Lemmas.thy
+6-8Lines changed: 6 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -135,33 +135,31 @@ qed simp_all
135
135
lemmaaxiom_isin_same_kind:"\<lbrakk> AxData T k1 \<in> set (\<Delta>' @ AxData T k2 # \<Delta>) ; \<turnstile> (\<Delta>' @ AxData T k2 # \<Delta>) \<rbrakk> \<Longrightarrow> k1 = k2"
136
136
proof(induction\<Delta>')
137
137
caseNil
138
-
thenhave"atom T \<sharp> \<Delta>"byauto
139
-
thenhave"\<nexists>k. AxData T k \<in> set \<Delta>"by(metis(mono_tags,lifting)axiom.fresh(1)fresh_Consfresh_appendfresh_at_base(2)in_set_conv_decomp_first)
138
+
thenhave"\<nexists>k. AxData T k \<in> set \<Delta>"byauto
140
139
thenshow?caseusingNil.prems(1)byauto
141
140
next
142
141
case(Consa\<Delta>')
143
142
thenshow?caseusingaxioms_valid(2)
144
143
proof(casesarule:axiom.exhaust)
145
144
case(AxDataT'k3)
146
-
thenhave"atom T' \<sharp> (\<Delta>' @ AxData T k2 # \<Delta>)"usingCons(3)byauto
thenhave"\<nexists>k. AxData T' k \<in> set (\<Delta>' @ AxData T k2 # \<Delta>)"usingCons(3)byfastforce
146
+
thenhave"T' \<noteq> T"byauto
148
147
thenshow?thesisusingConsAxDatabyauto
149
148
qedfastforce
150
149
qed
151
150
152
151
lemmaaxiom_isin_same_type:"\<lbrakk> AxCtor D \<tau>1 \<in> set (\<Delta>' @ AxCtor D \<tau>2 # \<Delta>) ; \<turnstile> (\<Delta>' @ AxCtor D \<tau>2 # \<Delta>) \<rbrakk> \<Longrightarrow> \<tau>1 = \<tau>2"
153
152
proof(induction\<Delta>')
154
153
caseNil
155
-
thenhave"atom D \<sharp> \<Delta>"byauto
156
-
thenhave"\<nexists>t. AxCtor D t \<in> set \<Delta>"by(metis(mono_tags,lifting)axiom.fresh(2)fresh_Consfresh_appendfresh_at_base(2)in_set_conv_decomp_first)
154
+
thenhave"\<nexists>t. AxCtor D t \<in> set \<Delta>"byauto
157
155
thenshow?caseusingNil(1)byauto
158
156
next
159
157
case(Consa\<Delta>')
160
158
thenshow?case
161
159
proof(casesarule:axiom.exhaust)
162
160
case(AxCtorD'\<tau>')
163
-
thenhave"atom D' \<sharp> (\<Delta>' @ AxCtor D \<tau>2 # \<Delta>)"usingCons(3)byauto
0 commit comments