theorem-proving

    0熱度

    1回答

    我試圖證明這個引理: lemma set_integral_mult: fixes f g :: "_ ⇒ _ :: {banach, second_countable_topology}" assumes "set_integrable M A (λx. f x)" "set_integrable M A (λx. g x)" shows "set_integrab

    0熱度

    1回答

    我的問題是關於在書中具體語義練習2.11(http://concrete-semantics.org/): 定義超過整數 (類型int)作爲數據類型的變量算術表達式: datatype exp = Var | Const int | Add exp exp | Mult exp exp 定義一個函數eval :: exp => int => int使得eval e x在 x的值的計算結果即 多

    3熱度

    1回答

    我對coq很新穎,迄今爲止我設法證明了我也可以通過手工證明的東西。所以當我遇到Selection monad並決定在haskell中實現它時,我認爲這將是一個很好的練習,但我被卡住了。有人能提供一個coq證明的例子,說明選擇monad是應用程序和monad嗎?這是一個函數的haskell實現。 newtype Sel r a = Sel { runSel :: (a -> r) -> a }

    2熱度

    1回答

    嗨,我想在精益證明助手中做一些數學,看看它是如何工作的。我決定玩一個交換戒指的冪等物應該很有趣。下面是我的嘗試: variables (A : Type) (R : comm_ring A) definition KR : Type := \Sigma x : A, x * x = x 然後我得到的錯誤 failed to synthesize placeholder A : Type,

    2熱度

    1回答

    假設我想要一個子串的歸納定義(字符串只是列表的同義詞)。 Inductive substring {A : Set} (w : string A) : (string A) -> Prop := | SS_substr : forall x y z : string A, x ++ y ++ z = w -> substring w

    5熱度

    1回答

    我正在通過Terry Tao的真實分析教科書,它從自然數中構建了基礎數學。通過儘可能多的證明形式,我希望熟悉Idris和依賴類型。 我已經定義了以下數據類型: data GE: Nat -> Nat -> Type where Ge : (n: Nat) -> (m: Nat) -> GE n (n + m) 代表主張一個自然數大於或等於另一個。 我目前正在努力證明這種關係的反思,即

    0熱度

    1回答

    我想證明一些簡單的事情與idris,但我失敗悲慘。這裏是我的代碼 module MyReverse %hide reverse %default total reverse : List a -> List a reverse [] = [] reverse (x :: xs) = reverse xs ++ [x] listEmptyAppend : (l : List a) -

    2熱度

    1回答

    在數學中添加完整的轉折的假設,我們經常進行如下操作:「現在讓我們考慮兩種情況,數量k可以even或odd對於even情況下,我們可以說exists k', 2k' = k ...。」 通過將它分解成可用於重構原始集合的幾個不相交子集,擴展到關於整個對象推理的一般思想。 考慮到我們並不總是有一個假設是我們想要解構的子集之一,所以這個推理原理是如何在coq中捕獲的? 考慮遵循例子演示: forall

    1熱度

    1回答

    在許多編程語言中,分支效率取決於子句的提供順序。例如,在Python, if p or q : 將盡快擴展成if語句爲p計算結果爲true,所以它一般是首先提供計算光條款是個好主意。我想知道Z3中的可滿足性檢查是否也是如此。換句話說,檢查And(P, Q)和And(Q, P)是否有區別,前提是其中一個公式比另一個公式複雜得多?

    5熱度

    1回答

    我嘗試使用感應數據類型的語法,但它得到一條錯誤消息「互感類型必須編譯爲具有相關消除的基本歸納類型」。 下面是我嘗試的例子對自然數 mutual inductive even, odd with even: ℕ → Prop | z: even 0 | n: ∀ n, odd n → even (n + 1) with odd: ℕ → Prop | z: odd 1 | n: ∀ n,