curry-howard

    1熱度

    1回答

    我讀了implications are functions。但我有一個很難試圖瞭解在上述頁面給出的示例: 一個蘊涵P→Q中的證據項是一個函數, 證據對於P作爲輸入,併產生證據對於Q爲它的輸出。 引理silly_implication:(1 + 1)= 2→0×3 = 0.證明。引子H. 反身性。 QED。 我們可以看到,對於上述引理的證明任期的確是一個 功能: 打印silly_implicatio

    1熱度

    1回答

    所以我最近看了以下的打擊後:http://www.chuusai.com/2011/06/09/scala-union-types-curry-howard/ 而且我真的很感激的辦法!我試圖做一個函數 def neq[A,B] = ... 其中neq [String,String]不會編譯,但neq [String,Int]會。看起來這應該是可能的,但是我不認爲我深刻理解我們可以使用curry

    22熱度

    2回答

    所以,在我不斷嘗試通過小哈斯克爾練習半懂咖喱霍華德,我已經得到停留在這一點上: {-# LANGUAGE GADTs #-} import Data.Void type Not a = a -> Void -- | The type of type equality proofs, which can only be instantiated if a = b. data Equal

    2熱度

    1回答

    通過Curry-Howard isomorphism斯卡拉的Unit對應邏輯真和Nothing邏輯假。 def toUnit[A](x: A): Unit = { } 是否有一個功能,有目擊者說邏輯錯誤意味着什麼的事實,那就是Nothing => A類型的功能:即邏輯真由任何隱含的事實是由一個簡單的功能,只是丟棄參數見證?或者有沒有一種習慣的方式來構建一個? 人們總是可以做這樣的事情 def

    1熱度

    1回答

    在Propositions as Types,它寫的是: 1935年,在25歲的時候,Gentzen15就不一一介紹,但邏輯自然演繹和相繼式的兩個新 配方微積分是 才被確立爲兩大用於制定邏輯 的系統,直到今天仍然如此。他展示瞭如何規範化證明以確保 他們不是「迴旋處」,產生了一個新的證明Hilbert系統一致性的證明。並且,爲了匹配Peano引入的存在量化符號「 」的使用,Gentzen 引入了符號

    1熱度

    1回答

    簡而言之,Curry-Howard correspondence指出一個類型是一個定理,並且返回這個類型的程序是對應定理的一個證明。 該對應基於數學證明的形式化,在諸如謂詞演算之類的語言中,受限於直覺主義邏輯。但是,當用這些正式語言編寫數學證明時,他們的錯誤可以被計算機檢測到。例如,Mizar是一種相對高級的數學語言,再加上一個編譯器來檢查寫在其中的證明。 所以庫裏霍華德將程序與數學證明聯繫起來沒

    1熱度

    1回答

    > {-# LANGUAGE RankNTypes #-} 我想知道是否有方法來表示haskell和/或其他函數式編程語言中的選擇公理。 正如我們所知,false由沒有值的類型表示(haskell中的Void)。 > import Data.Void 我們可以代表像這樣 > type Not a = a -> Void 我們可以表達排中律的類型a就像否定因此 > type LEM a

    2熱度

    1回答

    自從我開始學習交互式精益教程以來,一個問題讓我感到不快:在Type內,單獨的Prop層次結構的目的是什麼? 正如我現在明白了吧,我們已經制定了以下宇宙層次: Type (n+1) | \ | Sort (n+1) | | Type n | (?) | \ | ... Sort n | | Type 0 ... (?) | \ |

    5熱度

    1回答

    在維基百科中,bottom type被簡單地定義爲「沒有值的類型」。但是,如果b是這種空白類型,那麼產品類型(b,b)也沒有值,但似乎與b不同。我同意底部是無人居住的,但我不認爲這個屬性足以定義它。 通過Curry-Howard correspondence,底部與數學錯誤相關聯。現在有一個邏輯原則,說明False遵循任何命題。通過庫裏霍華德,這意味着類型forall a. bottom -> a

    2熱度

    2回答

    前一段時間我讀的功能類型a -> b對應關係a ≤ b,或者它是a ≥ b?這對我來說很有意義,因爲如果我們在它們之間有雙射(即(a ≈ b) ≡ (a -> b, b -> a)),那麼兩種類型是同構的。同樣,(a = b) ≡ (a ≤ b) ∧ (a ≥ b)。我知道這不是庫裏霍華德蘭貝克的對應關係(即類型理論,邏輯和範疇理論之間的對應關係)。這是類型理論和別的東西之間的對應關係。我想知道更