proof

    2熱度

    1回答

    優化編譯器的最終目的是在程序空間中搜索等價於原始程序但速度更快的程序。這已經在實踐中用於非常小的基本塊:https://en.wikipedia.org/wiki/Superoptimization 聽起來很難的部分是搜索空間的指數性質,但實際上它不是;最難的部分是,假設你找到了你想找的東西,你如何證明這個新的,更快的程序與原始程序真的是相同的? 上次我研究過它,在某些情況下證明程序的某些屬性已經

    8熱度

    1回答

    我如何讓Idris自動證明兩個值不相等? p : Not (Int = String) p = \Refl impossible 我該如何讓Idris自動生成此證明? auto似乎不能證明涉及Not的陳述。我的最終目標是讓Idris自動證明矢量中的所有元素都是唯一的,並且兩個矢量不相交。 namespace IsSet data IsSet : List t -> Type whe

    0熱度

    2回答

    我試圖找到N0(N不是)與n的大尺寸歐米茄函數的^ 3其中c = 2.25 ()= 3^3 - 39^2 + 360 + 20。爲了證明()是Ω(^ 3),我們需要常數0> 0,使得每個≥0的()≥^ 3 如果c = 2.25,如何找到滿足n0的最小整數? 我首先想到的是在n = 1至堵塞,因爲N> 0,並且如果不等式工作n = 1時將是最小的n(因此N0)。但是,對於每個n> = n0都必須滿足

    1熱度

    1回答

    我得到的溶液與以下定理,如下所示: Require Import Coq.Lists.List. Import ListNotations. Inductive suffix {X : Type} : list X -> list X -> Prop := | suffix_end : forall xs, suffix xs xs | suffix_ste

    -1熱度

    2回答

    我需要證明 f (g xs) == g (f xs) whenver XS是INTS的有限列表。 假設兩個F和G型[INT] - > [INT]

    0熱度

    2回答

    我試圖在Agda 中定義1..n∈ℕ的和爲n *(n + 1)/ 2,並且需要證明n * (n + 1)就是這樣。 證明非常簡單,但似乎有一個概念我不明白,因爲我是Agda的新手(雖然對數學和哈斯克爾都不熟悉),並從http://www.cse.chalmers.se/~ulfn/papers/afp08/tutorial.pdf 中得知它(指向更高級的教程比歡迎! )。 open import

    2熱度

    1回答

    我一直在嘗試共同誘導類型,並決定定義自然數和向量的共同誘導版本(與他們的大小類型列表)。我確定他們和無限多的像這樣: CoInductive conat : Set := | cozero : conat | cosuc : conat -> conat. CoInductive covec (A : Set) : conat -> Set := | conil : covec A co

    -1熱度

    1回答

    我的一位同事編寫了一個程序,證明在測試運行多個併發線程的算法試圖找到可能觸發不需要的條件的序列之後,某些條件將不會被滿足。他使用了專爲此目的而設計的計算機語言,但我不記得它的名字。爲此特定目的提供哪些語言?

    0熱度

    2回答

    我有一個遞歸函數,如下所示,其中b> = 0 def multiply(a,b): if b == 0: return 0 elif b % 2 == 0: return multiply(2*a, b/2) else: return a + multiply(a, b-1) 我想知道多少倍的功能將在一個方面和b運行。 謝謝。

    0熱度

    1回答

    的方法的復發時在學習的算法和參照CLRS,我碰到 T(n) = T(n-a) + T(a) + cn ; a >= 1 and c > 0 it is Big-theta(n^2), can be easily proved by recursion tree method 我可以通過遞歸樹的方法解決它的問題。 在我的實驗室與朋友們討論時,一位朋友從不知情的地方宣佈,這個問題永遠無法通過替代