型別理論與形式證明筆記

出自Tan Kian-ting的維基
於 2024年7月8日 (一) 22:11 由 Tankianting討論 | 貢獻 所做的修訂 →‎2.2 simple type 簡單型別
跳至導覽 跳至搜尋

ISBN 9781107036505

原標題:Type Theory and Formal Proof: An Introduction

作者:Rob Nederpelt, Herman Geuvers

編輯格式注意

  1. 章節內文太多的時候,拆成新頁面。
  2. typst 撰寫 + pandoc 產生貼上於個人維基的內容。

第1章:無型別lambda運算(untyped lambda calculus)

第2章:簡單型別lambda運算(simple typed lambda calculus)

2.2 simple type 簡單型別

型別變數 type variable:用希臘字母表示。

:所有簡單型別,定義如下:

  1. 型別變數:,表達基本型別,比如list, nat等
  2. 箭頭型別:

箭頭是右結合的,和函數的apply代入不同。比較

註:在本書中, 指數學世界的自然數和列表,而nat和list指電腦程式世界的同樣的型別。

「term 有類型(type、型別)」寫成

type有唯一性。比如:若,則

簡單型別lambda演算的出現的推演規則:

  1. application(代入):若 ,則
  2. abstration(抽象):若 ,則

在這種情況下,因為不可能既是這種型別存在,所以這種式子不會被構造到。

,則是可賦予型別的(typable)。