equal
deleted
inserted
replaced
390 lemma max_spec_preserves_length: |
390 lemma max_spec_preserves_length: |
391 "max_spec G C (mn, pTs) = {((md,rT),pTs')} |
391 "max_spec G C (mn, pTs) = {((md,rT),pTs')} |
392 \<Longrightarrow> length pTs = length pTs'" |
392 \<Longrightarrow> length pTs = length pTs'" |
393 apply (frule max_spec2mheads) |
393 apply (frule max_spec2mheads) |
394 apply (erule exE)+ |
394 apply (erule exE)+ |
395 apply (simp add: list_all2_def) |
395 apply (simp add: list_all2_iff) |
396 done |
396 done |
397 |
397 |
398 |
398 |
399 lemma ty_exprs_length [simp]: "(E\<turnstile>es[::]Ts \<longrightarrow> length es = length Ts)" |
399 lemma ty_exprs_length [simp]: "(E\<turnstile>es[::]Ts \<longrightarrow> length es = length Ts)" |
400 apply (subgoal_tac "(E\<turnstile>e::T \<longrightarrow> True) \<and> (E\<turnstile>es[::]Ts \<longrightarrow> length es = length Ts) \<and> (E\<turnstile>s\<surd> \<longrightarrow> True)") |
400 apply (subgoal_tac "(E\<turnstile>e::T \<longrightarrow> True) \<and> (E\<turnstile>es[::]Ts \<longrightarrow> length es = length Ts) \<and> (E\<turnstile>s\<surd> \<longrightarrow> True)") |