₃_⟶⟨_⟩_ e(电子)₁ {电子₂} {电子₃} e(电子)₁-红色-e二氧化碳e(电子)₂-红色*-e₃ =r*变速箱₁ e(电子)二氧化碳e(电子)₃ e(电子)₁-红色-e二氧化碳e(电子)₂-红色*-e₃_⟶*⟨_⟩_ : (e)₁ {电子二氧化碳e(电子)₃} : 项Γτ)→减少*e₁ e(电子)₂ → 减少*e二氧化碳e(电子)Ş→减少*e₁ e(电子)₃_⟶*⟨_⟩_ e(电子)₁ {.e个₁} {电子₃} r*标识e₁-红色*-e₃ = e(电子)₁-红色*-e₃_⟶*⟨_⟩_ e(电子)₁ {.e个₃} {电子₄} (r*事务处理₁ e(电子)二氧化碳e(电子)₃ e(电子)₁-红色-e二氧化碳e(电子)₂-红色*-e₃) e(电子)₃-红色*-e₄ =r*变速箱₁ e(电子)二氧化碳e(电子)₄ e(电子)₁-红色-e二氧化碳(e)₂ ⟶*⟨ e(电子)₂-红色*-eŞ⟩e(电子)₃-红色*-e₄ )_lectric⟨_⟩_:(e₁ {电子二氧化碳e(电子)₃} : 项Γτ)→ e(电子)₁ ≡ e(电子)₂ → 减少*e二氧化碳e(电子)₃ →减少*e₁ e(电子)₃_选择₁ {电子₂} {电子₃} 回流₂-红色-e₃ = e(电子)₂-红色-e₃_■:(e:项Γτ)→ 减少*e e_e=r*Idr应用程序₁* : {τ₁ τ₂ : 典型}→ {Γ:Cxt}→ {电子₁ e(电子)¦Β′:项Γ(τ₂ ⇒ τΓ)}→(e)₂ : Γτ项₂) → 减少*e₁ e(电子)₁′ →减少*(附录e₁ e(电子)二氧化碳)(附录e₁′ e(电子)₂)r应用程序₁* e(电子)二氧化碳r*Id=r*Idr应用程序₁* e(电子)二氧化碳(r*变速器₁ e(电子)₁′ e(电子)₁′′ 红色-红色*)=开始应用程序e₁ e(电子)₂⟶⟨ r应用程序₁ e(电子)二氧化碳红色⟩应用程序e₁′ e(电子)₂⟶*⟨ r应用程序₁* e(电子)二氧化碳红色*⟩应用程序e₁′′ e(电子)₂∎哪里打开红色推理r应用程序₂* : {τ₁ τ₂ : 典型}→ {Γ:Cxt}→ (e)₁ : 项Γ(τ₂ ⇒ τ₁)) →{电子二氧化碳e(电子)₂′ : Γτ项₂} → 减少*e二氧化碳e(电子)₂′ →减少*(附录e₁ e(电子)₂) (附录e₁ e(电子)₂′)r应用程序₂* e r*Id=r*Idr应用程序₂* e(r*Trans e₁ e(电子)二氧化碳e(电子)₃ 红色-红色*)=开始应用程序₁⟶⟨ rApp程序二氧化碳e红色⟩应用程序₂⟶*⟨r应用程序₂* e红色*⟩应用程序₃∎where open red-Reasoning(哪里开红灯)rFun*:{τ二氧化碳τ第二阶段:典型}→ {Γ:Cxt}→ {电子₁ e(电子)₁′ : 项(τ₂ ∷ Γ) τ₁} →减少*e₁ e(电子)₁′ →减少*(Val(Funτ二氧化碳e(电子)₁)) (Val(Funτ二氧化碳e(电子)₁′))rFun*r*Id=r*IdrFun*{τ₂} (r*变速器₁ e(电子)₁′ e(电子)₁′′ 红色-红色*)=开始Val(Funτ二氧化碳e(电子))⟶⟨ rFun红⟩Val(Funτ二氧化碳e(电子)₁′)⟶*⟨ rFun*红色*⟩Val(Funτ二氧化碳e(电子)₁′′)∎where open red-Reasoning(哪里开红灯)--等式关系数据等于{Γ:Cxt}:{τ₁ : 典型}→ Γτ项₁ → Γτ项₁ → 设置位置eqBeta:{τ₁ τ₂ : 典型}→ (e)₁ : 项(τ₂ ∷ Γ) τ₁) → (v:术语Γτ₂) →相等(App(Val(Funτ二氧化碳e(电子)₁)) v) (低于0 v e₁)eq应用程序₁ : {τ¦Βτ₂ : 典型}→ {e₁ e(电子)₁′ : 项Γ(τ₂ ⇒ τ₁)} → (e)₂ : Γτ项₂) →等于e₁ e(电子)₁′ → 相等(附录e₁ e(电子)₂) (附录e₁′ e(电子)₂)eq应用程序₂ : {τ₁ τ₂ : 典型}→ (e)₁ : 项Γ(τ₂ ⇒ τ₁)) → {电子二氧化碳e(电子)₂′ : Γτ项₂} →等于e二氧化碳e(电子)₂′ → 相等(附录e¦Βe(电子)₂) (附录e¦Βe(电子)₂′)eqFun:{τ₁ τ₂ : 典型}→ {电子₁ e(电子)₁′ : 项(τ₂ ∷ Γ) τ₁} →等于e₁ e(电子)₁′ → 等于(Val(Funτ二氧化碳e(电子)₁)) (Val(Funτ二氧化碳e(电子)₁′))eqId:{τ₁ : 典型}→ {e:术语Γτ₁} →等于e eeqTrans:{τ₁ : 典型}→ (e)₁ e(电子)二氧化碳e(电子)₃ : Γτ项₁) →等于e₁ e(电子)二氧化碳→等于e二氧化碳e(电子)₃ → 等于e₁ e(电子)₃eqTrans′:{τ₁ : 典型}→ (e)₁ e(电子)二氧化碳e(电子)₃ : Γτ项Ş)→等于e二氧化碳e(电子)₁ → 等于e二氧化碳e(电子)₃ → 等于e₁ e(电子)₃--等式推理模eq-Reasoning{Γ:Cxt}{τ:typ}其中中缀3中缀2_⟶⟨_⟩_ _⟵⟨_⟩_ _⟷⟨_⟩_ _≡⟨_⟩_中缀1开始_开始_:{e₁ e(电子)₂ : Γτ}项→等于e₁ e(电子)₂ → 等于e₁ e(电子)₂begin_红色=红色_⟶⟨_⟩_ : (e)₁ {e二氧化碳e(电子)₃} : 项Γτ)→等于e₁ e(电子)₂ → 等于e二氧化碳e(电子)₃ → 等于e₁ e(电子)₃_⟶⟨_⟩_ e(电子)¦Β{电子₂} {电子₃} e(电子)₁-等式e二氧化碳e(电子)₂-等式e₃ = eqTrans e(等效传输)₁ e(电子)二氧化碳e(电子)₃ e(电子)₁-等式e二氧化碳e(电子)₂-等式e₃_⟵⟨_⟩_ : (e)₁ {电子二氧化碳e(电子)₃} : 项Γτ)→等于e二氧化碳e(电子)₁ → 等于e二氧化碳e(电子)₃ → 等于e₁ e(电子)₃_⟵⟨_⟩_ e(电子)₁ {e₂} {电子₃} e(电子)₂-等式e₁ e(电子)₂-等式e₃ = eqTrans′e(等效传输)¦Βe(电子)二氧化碳e(电子)₃ e(电子)₂-等式e₁ e(电子)₂-等式e₃_⟷⟨_⟩_ : (e)₁ {电子二氧化碳e(电子)₃} : 项Γτ)→等于e₁ e(电子)₂ → 等于e二氧化碳e(电子)₃ → 等于e₁ e(电子)₃_⟷⟨_⟩_ e(电子)₁ {电子₂} {电子₃} e(电子)₁-等式e二氧化碳e(电子)₂-方程式e₃ = eqTrans e(等效传输)¦Βe(电子)二氧化碳e(电子)₃ e(电子)₁-等式e二氧化碳e(电子)₂-等式e₃_选择_:(e₁ {电子二氧化碳e(电子)₃} : 项Γτ)→ e(电子)₁ ≡ e(电子)₂ → 等于e二氧化碳e(电子)₃ →等于e₁ e(电子)₃_选择₁ {电子₂} {电子₃} 回流₂-等式e₃ = e(电子)₂-等式e₃_■:(e:项Γτ)→ 等于e e_e=eqIdeq-sym:{Γ:Cxt}{τ:typ}{e₁ e(电子)₂ : Γτ}项→ 等于e₁ e(电子)₂ → 等于e二氧化碳e(电子)₁eq-sym{e₁ = e(电子)₁} {电子₂} 等式₁₂ = 开始e(电子)₂⟵⟨ 等式二氧化碳e(电子)₁∎其中打开eq-Reasoning--还原与平等的关系约化相等:{Γ:Cxt}{τ:typ}{e₁ e(电子)₂ : Γτ}项→减少e₁ e(电子)₂ → 等于e₁ e(电子)₂减少-相等(rBeta e v)=eqBeta e v减少-相等(rApp₁ e(电子)二氧化碳红色)=eqApp₁ e(电子)二氧化碳(减少-等于红色)减少-相等(rApp二氧化碳e(电子)₁ 红色)=eqApp二氧化碳e(电子)₁ (减少-等于红色)reduce-equal(rFun-red)=eqFun(reduce-equal red)减少*-等于:{Γ:Cxt}{τ:typ}{e₁ e(电子)₂ : Γτ}项→减少*e₁ e(电子)₂ → 等于e₁ e(电子)₂减少*-等于r*Id=eqId减少*-相等(r*Trans e₁ e(电子)二氧化碳e(电子)₃ 红色-红色*)=eqTrans e(等效传输)₁ e(电子)二氧化碳e(电子)₃ (减少-等于红色)(减少*-等于红色*)--各种属性reduce-ren:{ΓΔ:Cxt}(xs:renΓ△){τ:典型}{e′:项Δτ}→减少e e′→ 减少(ren-xs-e)reduce-ren xs(rBeta{τ₂ = τ₂} e(电子)₁ v)重写rensub0 xs v e₁ = rβ(ren(liftr xs)e₁) (任xs v)reduce-ren xs(rApp₁ e(电子)二氧化碳红色)=rApp₁ (任xse₂) (reduce-ren xs红色)reduce-ren xs(rApp二氧化碳e(电子)¦Β红色)=rApp二氧化碳(任xse)(reduce-ren xs红色)reduce-ren xs(rFun red)=rFun(reduce-reen(liftr xs)red)减少*-ren:{ΓΔ:Cxt}(xs:renΓΔ){τ:典型}{e′:项Δτ}→减少*e e′→ 减少*(ren-xs-e)(ren-xse′)reduce*-ren xs r*Id=r*Idreduce*-ren xs(r*Trans e¦Βe(电子)二氧化碳e(电子)₃ 红色-红色*)=开始任xse₁⟶⟨ reduce-ren xs红色⟩任xse₂⟶*⟨ 减少*-ren xs红色*⟩任xse₃∎where open red-Reasoning(哪里开红灯){-减少*-弱:{ΓΔ:Cxt}{τσ:typ}{e′:项Δτ}→减少*e e′→ reduce*(弱σe)(弱∑e′)reduce*-弱红色*=reduce*-ren(wkr-renId)red*-}ren-wak:{ΓΔ:Cxt}{σ:typ}(τ:typ)(xs:renΓ△)(e:项Δσ)→ren(liftr xs)(弱τe)≡弱τ(ren xse)ren-wakτxse=开始ren(liftr xs)(弱τe)选择reflren(零|wkr-xs)(ren(wkr-renId)e)select⟨sym(rencomp(zero wkr xs)(wkr renId)e)⟩ren(renComp(zeroŞwkr-xs)(wkr-renId))eSelect⟨cong(λl→ ren l e)(lemrr(wkr xs)zero renId)⟩人(人Comp(wkr xs)renId)eSelect⟨cong(λl→ 伦勒)(ridr(wkr-xs))任(wkr-xs)eSelect⟨cong(λl→ ren(wkrl)e(sym(lidr-xs))⟩ren(wkr(renComp renId xs))eSelect⟨cong(λl→ ren l e)(sym(wkrcomp renId xs))⟩ren(renComp(wkr renId)xs)e公司select⟨rencomp(wkr renId)xs e⟩ren(wkr-renId)(人xse)选择refl弱τ(ren-xse)∎where open≡-推理等雷诺数:{ΓΔ:Cxt}(xs:renΓ△){τ:典型}{e′:项Δτ}→等于e e′→ 相等(ren-xs-e)等重线xs(eqBeta e v)重写rensub0 xs v e=eqBeta(ren(liftr xs)e)(ren xs v)等重线xs(eqApp₁ e(电子)二氧化碳eq)=eqApp₁ (任xse₂) (等重xs eq)等重线xs(eqApp二氧化碳e(电子)₁ eq)=eqApp二氧化碳(任xse₁) (等重xs eq)等于ren xs(eqFun eq)=等于ren(提升器xs)eqequal-ren xs eqId=eqId等重线xs(eqTrans e¦Βe(电子)二氧化碳e(电子)₃ 等式₁₂ 等式₂₃) =eqTrans(任xse₁) (任xse₂) (任xse₃)(等于ren xs eq₁₂) (等重xs eq₂₃)等重线xs(eqTrans′e₁ e(电子)二氧化碳e(电子)₃ 等式₂₁ 等式₂₃) =eqTrans′(任xse₁) (任xse₂) (任xse₃)(等重xs eq₂₁) (等重xs eq₂₃)相互的reduce-ne:∀{Γτ}{e e′:项Γτ》}(ne:neΓτ)→e≡embedNe ne→ 减少e e′→ ⊥reduce-ne(变量x)ref()reduce-ne(应用程序(变量x)nf)()(rBeta e₁ v)减少ne(应用程序(应用程序ne x)nf)()(rBeta e₁ v)reduce-ne(应用程序ne nf)refl(rApp在。(嵌入nf nf)红色)带有reduce-ne ne ref red... | ()reduce-ne(应用程序ne nf)refl(rApp₂ .(嵌入ne ne)红色)带reduce-nf-nf-ref-red... | ()减少ne(应用程序ne₁ 核燃料₁) ()(rFun红色)还原-nf:{Γτ}{e′:项Γτ》}(nf:nfΓθ)→e≡嵌入nf nf→ 减少e e′→ ⊥reduce-nf(Ne-Ne)ref red=reduce-Ne Ne ref redreduce-nf(数字)refl()reduce-nf(Funτnf)ref(rFun-red)=reduce-nf nf ref red相互的减少*-ne:{Γτ}{e:termΓτ)→减少*(嵌入ne ne)e→ e≡embedNe nereduce*-ne ne r*Id=refl减少*-ne-ne(r*Trans.(嵌入ne-ne)e二氧化碳e(电子)₃ 红色-红色*)带有reduce-ne ne ref red... | ()减少*-nf:{Γτ}{e:项Γτ》}(nf:nfΓθ)→减少*(嵌入nf nf)e→ e≡嵌入nf nfreduce*-nf nf r*Id=refl减少*-nf-nf(r*Trans.(嵌入nf-nf)e二氧化碳e(电子)₃ 红色-红色*)带reduce-nf-nf-ref-red... | ()