- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图确保我使用自然数的基本情况来理解初始代数和变形概念,但我肯定遗漏了一些东西(我的 Haskell 语法也可能是一团糟)。
稍后编辑
我认为我的问题主要与功能有关 Fx
/unFix
定义 NatF (Fix NatF)
之间的同构和 Fix NatF
.我的理解是Fix NatF
是 电话 (自然数集),即 Nat = Zero | Succ Nat
.
怎么样Fx
确切定义?这样对吗?
Fx ZeroF = Zero
Fx (SuccF ZeroF) = Succ (Fx ZeroF) = Succ (Zero)
如果是这样,为什么这与初始代数不一样
1 + N -> N 由对评估
[0, 成功] ?
data NatF a = ZeroF | SuccF a
它的固定点为
data Nat = Zero | Succ Nat
我想我们可以定义
Fx :: NatF (Fix NatF) -> Fix NatF
或者说
Fix NatF = Fx (NatF (Fix NatF))
如果我们定义另一个带有载体类型
String
的代数像这样
h :: NatF String -> String
h ZeroF = "0"
h (SuccF x) = x ++ " + 1"
那么我想我们可以使用
cata h = h . fmap (cata h) . unFix
对于像 1 这样的自然数,如下
(h . fmap (cata h) . unFix) Fx(SuccF Fx(ZeroF)) =
(h . fmap (cata h)) (SuccF Fx(ZeroF)) =
h (SuccF (cata h)(Fx(ZeroF))) =
h(SuccF h(ZeroF)) =
h (SuccF "0") =
"0 + 1"
但这似乎不是公式
cata(n) = hn(单位) .在这一切中我的错误在哪里?
最佳答案
代数 NatF A -> A
由(直至同构)组成
A
z :: A
(你称之为“单位”)s :: A -> A
(你称之为“h”)cata algebra n = s^n(z)
.
h
是
h :: NatF String -> String
h ZeroF = "0"
h (SuccF x) = x ++ " + 1"
但这是整个代数(
z
和
s
),而不仅仅是
s
态射。
h
以上对应于:
A = String
z = "0"
s x = x ++ " + 1"
cata h 1 = s^1(z) = s z = "0" ++ " + 1" = "0 + 1"
.
h
调用代数和态射
s
这是代数的“内部”。
关于haskell - 自然数的初代数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63765883/
我不知道引用引用的对象的值如何。顺便说一句,我不是在谈论整数。 我想做这个方法。 swapNN(NaturalNumber j, NaturalNumber n) 我希望交换 j 和 n 的引用,但是
给定一个向量 v w [1] -2 -1 0 1 2 3 4 7 8 9 10 11 12 13 19 20 21 22 23 24 25 最佳答案 另一种方法是 c(t(sapp
给定前 n 个自然数的 k 组合,出于某种原因,我需要在 itertools 返回的那些组合中找到这种组合的位置。 combination(range(1,n),k)(原因是这样我可以使用 list
在根据代码摘录识别复杂性或最坏情况时,我了解什么是大 O 表示法。 在类里面,我被教导说,当谈到复杂性和大 O 表示法时,我们忽略低于 M 的小参数 n 和常数因子 C 。 这是在类里面给我的: In
我需要编写一个算法来解决这个练习,有什么建议吗? 练习: 我们有一个矩形,分成 n x m 个正方形,每个正方形都是自然数。编写一个函数来计算这个矩形内有多少个幻方。 幻方是 k x k (k>=2)
我是一名优秀的程序员,十分优秀!