cost 151 ms
Inductive 和 CoInductive 之間的唯一區別是對它們的使用(在 Coq 中)進行格式良好的檢查嗎?

[英]Is the only difference between Inductive and CoInductive the well-formedness checks on their uses (in Coq)?

換種說法:如果我們要分別刪除使用歸納和歸納數據類型的終止檢查和保護條件,那么歸納/歸納和修復/cofix之間是否會不再存在根本區別? 我所說的“根本差異”是指 Coq 核心演算的差異——而不是語法和證明搜索等方面的差異。 這似乎最終歸結為一個關於構造微積分的問題。 注意:我知道一個跳過終止檢查/遞 ...

在編程的上下文中什么構成了 codata?

[英]What constitutes codata in the context of programming?

這是一個核心遞歸算法,因為每次迭代它都會調用比之前更大的數據: 它類似於尾遞歸累加器樣式,但它的累加器是隱式的,而不是作為參數傳遞。 如果不是因為懶惰,它將是無限的。 那么 codata 只是 WHNF 中的值構造函數的結果,有點像(a, thunk)嗎? 或者 codata 是范疇論中的一個數學 ...

如何在嚴格評估的設置中對核心遞歸/編碼數據進行編碼?

[英]How to encode corecursion/codata in a strictly evaluated setting?

Corecursion 意味着在每次迭代時調用自己的數據,這些數據大於或等於之前的數據。 Corecursion 適用於 codata,它們是遞歸定義的值。 不幸的是,值遞歸在嚴格評估的語言中是不可能的。 不過,我們可以使用顯式 thunk: const Defer = thun ...

通過corecursion解決Prolog中的動態編程

[英]Solve dynamic programming in Prolog via corecursion

我想通過Prolog中的corecursion解決以下動態編程問題 。 但是我堅持以遞歸的方式進行廣度優先的搜索,我想實現該搜索: 有一幢n層建築物,其中有一部電梯,一次只能上下2層,一次只能上下3層。 使用動態編程編寫一個函數,該函數將計算電梯從第i層到第j層所需的步數。 ...

值遞增的遞歸函數

[英]Recursive Function With Increasing Values

我正在嘗試編寫一個遞歸函數以求n 我知道一般來說,我們需要將其寫為歸納法,讓基本情況的結果說n = 1,然后為n-1調用函數,該結果將在基本情況下結束。 但是在以下功能中,元素增加了,我該如何處理 ...

在Isabelle / HOL中對整個codatatype進行推理

[英]Reasoning about the entirety of a codatatype in Isabelle/HOL

我想寫下一些關於圖中路徑的定義(並證明一些引理!)。 假設圖是由類型'a => 'a => bool的關系隱式給出的。 談論圖中的一個可能是無限的路徑,我想到了一個明智的做法是使用一個懶惰的名單codatatype像'a llist在‘ 定義(Co)的數據類型和原始地(共)伊莎貝 ...

將非空結構展開到列表

[英]Unfolding non-empty structures to lists

我想使用變形將Foldable.toList編寫為非空的玫瑰樹,但似乎無法提取最后一個元素: 確實是不可能的,並且可以推廣到所有非空結構嗎? 另外(這是一個可選的加成問題),是否有一條通用規則來確定何時可以使用f代數而不是g代數來實現Fix f -> Fix g ? 順 ...

Corecursion不會在小變化后終止

[英]Corecursion Doesn't Terminate After Small Change

我在Racket中編寫了一個函數來生成類似於以下分形的東西。 它通過了我的測試。 我改變了代碼,認為下面的內容會更具可讀性。 現在該功能沒有終止。 Racket達到其內存限制,沒有輸出。 在這次改變之后,每個corecursive調用是否都不會接近這個簡單的案 ...

意外的核心遞歸調用

[英]Unexpected corecursive call

Isabelle中的(已修剪)corecursive函數定義 產量 但是如果我進一步簡化為 有用。 我也嘗試使用解構視圖,即 現在,我得到了另一條錯誤消息: Invalid map function at "case undefined of Reg c ⇒ ...

如何在C中使用corecursion?

[英]How to use corecursion in c?

我需要幫助嘗試找到將打印語句放置在每個函數(alpha_count和sum_digits)中的位置,以便它們僅打印一次(在程序末尾)。 例如 字符數:8 數字總和:19 截至目前,它們在每次調用函數時都會打印。 有任何想法嗎? ...

(co)遞歸定義如何在Haskell中工作?

[英]How does (co)recursive definition work in Haskell?

我正在玩這種語言來開始學習,我對於遞歸定義的工作方式感到困惑。 例如,讓我們采用三角數的序列( TN n = sum [1..n] ) 提供的解決方案是: 到現在為止還挺好。 但我提出的解決方案是: 這也是正確的。 現在我的問題是:這如何轉化為較低級別的實 ...

可從鏈式任務中觀察到

[英]Observable from chained Tasks

我正在嘗試創建一個 Observable,其中每個項目都是通過異步任務生成的。 下一個項目應該通過對前一個項目(共同遞歸)的結果進行異步調用來生成。 在“生成”用語中,這看起來像這樣 - 除了Generate 不支持異步(也不支持初始狀態的委托。 作為更具體的示例,要通過一次獲取 100 條消 ...

如何在C ++中完成corecursion?

[英]How to accomplish corecursion in C++?

我正在開發一個C ++項目,需要經常與樹結構交互,這意味着許多遞歸函數,我正在尋找改進代碼的方法。 前幾天我遇到了corecursion ,我有興趣為我的應用程序探索這個策略。 但是,我還沒有找到任何如何用C ++完成corecursion的例子。 為了使我的問題具體,我如何在C ++ ...

定義核心遞歸樹時“無效的映射函數”

[英]“invalid map function” when defining a corecursive tree

我正在用codatatype進行第一個實驗,但是還很早。 我從分支(可能是無限樹)的定義開始: 和一些定義工作正常: 但這不起作用: 當我收到錯誤消息 我可以通過寫來解決 這使人們相信primcorec需要“了解”函數更新操作符,類似於fun需要fund ...

Python:在運行時創建生成器

[英]Python: Create Generators at Runtime

我知道在python中可以分別在運行時使用type和lambda創建類和函數,但是可以在運行時創建生成器嗎? 示例:關鍵字,條件,操作,收益 lambda x,a: a<x,a++,a ...

為什么:當我給它這個核心值時,p凍結在GHCi中?

[英]Why does :p freeze in GHCi when I give it this corecursive value?

我已經定義了無限列表的無限列表pathCounts和無限列表的有限列表pathCounts' : 放入ghci,如果我根本沒有評估,我可以成功使用:p : 但是如果我部分地評估pathCounts' ,那么:p在pathCounts上凍結,同時仍然在pathCounts'上pat ...

使用anamorphism列出過濾器

[英]List filter using an anamorphism

我使用來自recursion-schemes Hackata庫的變形實現了一個破壞的filter函數: 該函數不是filter的忠實實現: xfilter odd [1..5]有效,但xfilter odd [0,0]不起作用。 我嘗試通過在phi使用顯式遞歸來實現“重試”,然后使用p ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM