textt : "< (nat ==> ctxt ==> type ==> To assess this, we define a typing judgement for contexts.›🚫 \<turnstile\^sub>ctt E : (T1→ U; \< \T t : T1 <akk>\<> tt (E t T U"
inductive typing_ctxt : type) ==> type <>ctxt\>pe type ==>
(‹Γ ⊨cx\∙ U" where type_ctxtEmpty[intro!">\<Delta>\<turnstile>\<^sub>c\<^subt<sub<sub>\diamond:T\<Leftarrow>T"| type_ctxtAppntro<><amma,\<Delta>\<turnstile>\<^sub>c\<^sub>t\<^sub>x\<^sub>tE:(T1\<rightarrow>T2)\<Leftarrow>U;\<Gamma>,\<Delta>\<turnstile>\<^sub>Tt:T1\<rbrakk>\<Longrightarrow>\<Gamma>,\<Delta>\<turnstile>\<^sub>c\<^sub>t\<^sub>x\<^sub>t(E\<^sup>\<bullet>t):T2\<Leftarrow>U"
lemmactxt_subst: assumes"\<Gamma>,\<Delta>\<turnstile>\<^sub>c\<^sub>t\<^sub>x\<^sub>tE:U\<Leftarrow>T" shows"(ctxt_substE(\<mu>T:c))\<longlonglongrightarrow>\<^sup>*\<mu>U:(c[0=0(liftM_ctxtE0)]\<^sup>C)" usingassmsproof(inductEarbitrary:UT\<Gamma>\<Delta>c) caseContextEmpty havectxtEmpty_inv:"\<Gamma>,\<Delta>\<turnstile>\<^sub>c\<^sub>t\<^sub>x\<^sub>t\<diamond>:U\<Leftarrow>T\<Longrightarrow>U=T" by(cases\<Gamma>\<Delta>"\<diamond>"rule:typing_ctxt.cases,fastforce,simp) show?case usingContextEmptyby(clarsimpdest!:ctxtEmpty_invsimp:ctxt_subst_basecase) next case(ContextAppEx) thenshow?case byclarsimp(rulertc_term_trans,rulertc_appL,assumption,rulestep_term,force,clarsimpsimpadd:ctxt_subst_caseApp(1)) qed end
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.