equal
deleted
inserted
replaced
1344 lemma da_weaken: |
1344 lemma da_weaken: |
1345 assumes da: "Env\<turnstile> B \<guillemotright>t\<guillemotright> A" and |
1345 assumes da: "Env\<turnstile> B \<guillemotright>t\<guillemotright> A" and |
1346 subseteq_B_B': "B \<subseteq> B'" |
1346 subseteq_B_B': "B \<subseteq> B'" |
1347 shows "\<exists> A'. Env \<turnstile> B' \<guillemotright>t\<guillemotright> A'" |
1347 shows "\<exists> A'. Env \<turnstile> B' \<guillemotright>t\<guillemotright> A'" |
1348 proof - |
1348 proof - |
1349 note assigned.select_convs [CPure.intro] |
1349 note assigned.select_convs [Pure.intro] |
1350 from da |
1350 from da |
1351 show "\<And> B'. B \<subseteq> B' \<Longrightarrow> \<exists> A'. Env\<turnstile> B' \<guillemotright>t\<guillemotright> A'" (is "PROP ?Hyp Env B t") |
1351 show "\<And> B'. B \<subseteq> B' \<Longrightarrow> \<exists> A'. Env\<turnstile> B' \<guillemotright>t\<guillemotright> A'" (is "PROP ?Hyp Env B t") |
1352 proof (induct) |
1352 proof (induct) |
1353 case Skip thus ?case by (rules intro: da.Skip) |
1353 case Skip thus ?case by (rules intro: da.Skip) |
1354 next |
1354 next |