-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathatom.xml
More file actions
618 lines (339 loc) · 39.3 KB
/
atom.xml
File metadata and controls
618 lines (339 loc) · 39.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>守株阁</title>
<subtitle>一切都是守株待兔,如切如磋,如琢如磨。I am just joking.</subtitle>
<link href="https://magicliang.github.io/atom.xml" rel="self"/>
<link href="https://magicliang.github.io/"/>
<updated>2026-06-07T10:05:48.055Z</updated>
<id>https://magicliang.github.io/</id>
<author>
<name>magicliang</name>
</author>
<generator uri="https://hexo.io/">Hexo</generator>
<entry>
<title>企业微信能自动加好友并拉群吗:官方 API 能力边界与架构方案</title>
<link href="https://magicliang.github.io/2026/06/05/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%8A%A8%E5%8A%A0%E5%A5%BD%E5%8F%8B%E6%8B%89%E7%BE%A4%E8%83%BD%E5%8A%9B%E8%B0%83%E7%A0%94/"/>
<id>https://magicliang.github.io/2026/06/05/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1%E8%87%AA%E5%8A%A8%E5%8A%A0%E5%A5%BD%E5%8F%8B%E6%8B%89%E7%BE%A4%E8%83%BD%E5%8A%9B%E8%B0%83%E7%A0%94/</id>
<published>2026-06-05T16:00:00.000Z</published>
<updated>2026-06-07T10:05:48.055Z</updated>
<summary type="html"><h2 id="结论先放在前面">结论先放在前面</h2>
<p>截至 2026-06-06,企业微信官方 API</summary>
<category term="技术架构" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF%E6%9E%B6%E6%9E%84/"/>
<category term="架构设计" scheme="https://magicliang.github.io/tags/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
<category term="企业微信" scheme="https://magicliang.github.io/tags/%E4%BC%81%E4%B8%9A%E5%BE%AE%E4%BF%A1/"/>
<category term="客户联系" scheme="https://magicliang.github.io/tags/%E5%AE%A2%E6%88%B7%E8%81%94%E7%B3%BB/"/>
<category term="API" scheme="https://magicliang.github.io/tags/API/"/>
</entry>
<entry>
<title>数据库 Resharding 的在线切换与回滚</title>
<link href="https://magicliang.github.io/2026/06/01/%E6%95%B0%E6%8D%AE%E5%BA%93-Resharding-%E7%9A%84%E5%9C%A8%E7%BA%BF%E5%88%87%E6%8D%A2%E4%B8%8E%E5%9B%9E%E6%BB%9A/"/>
<id>https://magicliang.github.io/2026/06/01/%E6%95%B0%E6%8D%AE%E5%BA%93-Resharding-%E7%9A%84%E5%9C%A8%E7%BA%BF%E5%88%87%E6%8D%A2%E4%B8%8E%E5%9B%9E%E6%BB%9A/</id>
<published>2026-06-01T07:00:00.000Z</published>
<updated>2026-06-07T10:05:48.055Z</updated>
<summary type="html"><p>Resharding 是分库分表架构绕不过去的难题。系统上线时用 uid % 2 把数据分到两个库,跑了两年发现容量不够,要扩成四个库——uid % 4。这个 % 号一变,大约 75%</summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="数据库" scheme="https://magicliang.github.io/tags/%E6%95%B0%E6%8D%AE%E5%BA%93/"/>
<category term="架构" scheme="https://magicliang.github.io/tags/%E6%9E%B6%E6%9E%84/"/>
<category term="分布式系统" scheme="https://magicliang.github.io/tags/%E5%88%86%E5%B8%83%E5%BC%8F%E7%B3%BB%E7%BB%9F/"/>
</entry>
<entry>
<title>Anthropic autonomous-coding 源码拆解:500 行 Python 里的 Harness 工程学</title>
<link href="https://magicliang.github.io/2026/06/01/Anthropic-autonomous-coding-%E6%BA%90%E7%A0%81%E6%8B%86%E8%A7%A3/"/>
<id>https://magicliang.github.io/2026/06/01/Anthropic-autonomous-coding-%E6%BA%90%E7%A0%81%E6%8B%86%E8%A7%A3/</id>
<published>2026-06-01T06:00:00.000Z</published>
<updated>2026-06-07T10:05:48.055Z</updated>
<summary type="html"><p>Anthropic 在 <a href="https://github.com/anthropics/claude-quickstarts/tree/main/autonomous-coding">claude-quickstarts</a> 仓库中放了一个 autonomous-coding 示例项目。整个项目只有 8 个 Python 文件、约 500 行代码、一条 pip 依赖(<code>claude-code-sdk&gt;=0.0.25</code>),却能驱动 Claude 在多个 session 之间持续工作数小时,从零构建一个带 200 个测试用例的完整 Web 应用。</p>
<p>这个项目的价值不在于它有多复杂,恰恰在于它有多简单。它是 Anthropic 对&quot;长程自主编码的最小可行 harness&quot;的官方回答,每一个设计决策都值得拆开看。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Agentic Coding" scheme="https://magicliang.github.io/tags/Agentic-Coding/"/>
<category term="AI Agent" scheme="https://magicliang.github.io/tags/AI-Agent/"/>
<category term="Harness Engineering" scheme="https://magicliang.github.io/tags/Harness-Engineering/"/>
<category term="源码分析" scheme="https://magicliang.github.io/tags/%E6%BA%90%E7%A0%81%E5%88%86%E6%9E%90/"/>
<category term="Anthropic" scheme="https://magicliang.github.io/tags/Anthropic/"/>
<category term="Claude Agent SDK" scheme="https://magicliang.github.io/tags/Claude-Agent-SDK/"/>
<category term="自主编码" scheme="https://magicliang.github.io/tags/%E8%87%AA%E4%B8%BB%E7%BC%96%E7%A0%81/"/>
</entry>
<entry>
<title>Agent Harness Engineering 综述解读:ETCLOVG 七层框架与生态全景</title>
<link href="https://magicliang.github.io/2026/05/31/Agent-Harness-Engineering-%E7%BB%BC%E8%BF%B0%E8%A7%A3%E8%AF%BB-ETCLOVG-%E4%B8%83%E5%B1%82%E6%A1%86%E6%9E%B6%E4%B8%8E%E7%94%9F%E6%80%81%E5%85%A8%E6%99%AF/"/>
<id>https://magicliang.github.io/2026/05/31/Agent-Harness-Engineering-%E7%BB%BC%E8%BF%B0%E8%A7%A3%E8%AF%BB-ETCLOVG-%E4%B8%83%E5%B1%82%E6%A1%86%E6%9E%B6%E4%B8%8E%E7%94%9F%E6%80%81%E5%85%A8%E6%99%AF/</id>
<published>2026-05-31T16:00:00.000Z</published>
<updated>2026-06-07T10:05:48.055Z</updated>
<summary type="html"><p>2026 年 5 月,CMU、Yale、JHU、Virginia Tech、Amazon 等九家机构联合发布了一篇 71 页的综述论文《Agent Harness Engineering: A Survey》。19 位作者对 170 余个开源 Agent Harness 项目做了系统编码,提出了 ETCLOVG 七层分类框架,并给出了一个在业界讨论中反复出现但缺少严格证据支撑的判断:制约 Agent 可靠性的瓶颈不在模型,而在模型外面那层工程系统。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="AI Agent" scheme="https://magicliang.github.io/tags/AI-Agent/"/>
<category term="Harness Engineering" scheme="https://magicliang.github.io/tags/Harness-Engineering/"/>
<category term="ETCLOVG" scheme="https://magicliang.github.io/tags/ETCLOVG/"/>
<category term="综述" scheme="https://magicliang.github.io/tags/%E7%BB%BC%E8%BF%B0/"/>
<category term="系统工程" scheme="https://magicliang.github.io/tags/%E7%B3%BB%E7%BB%9F%E5%B7%A5%E7%A8%8B/"/>
</entry>
<entry>
<title>复刻多 Agent 诊断系统:47 个失败模式复盘</title>
<link href="https://magicliang.github.io/2026/05/30/%E5%A4%8D%E5%88%BB%E4%B8%80%E4%B8%AA%E5%A4%9A-Agent-%E8%AF%8A%E6%96%AD%E7%B3%BB%E7%BB%9F%E6%88%91%E6%94%92%E4%B8%8B%E4%BA%86-47-%E4%B8%AA%E5%A4%B1%E8%B4%A5%E6%A8%A1%E5%BC%8F/"/>
<id>https://magicliang.github.io/2026/05/30/%E5%A4%8D%E5%88%BB%E4%B8%80%E4%B8%AA%E5%A4%9A-Agent-%E8%AF%8A%E6%96%AD%E7%B3%BB%E7%BB%9F%E6%88%91%E6%94%92%E4%B8%8B%E4%BA%86-47-%E4%B8%AA%E5%A4%B1%E8%B4%A5%E6%A8%A1%E5%BC%8F/</id>
<published>2026-05-30T08:20:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>一个项目目标听起来不复杂:把一个已经在线上跑的「客资诊断」agent 系统,用新的技术栈复刻一遍。原系统能根据一个业务 ID</summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="AI Agent" scheme="https://magicliang.github.io/tags/AI-Agent/"/>
<category term="MCP" scheme="https://magicliang.github.io/tags/MCP/"/>
<category term="多智能体" scheme="https://magicliang.github.io/tags/%E5%A4%9A%E6%99%BA%E8%83%BD%E4%BD%93/"/>
<category term="失败复盘" scheme="https://magicliang.github.io/tags/%E5%A4%B1%E8%B4%A5%E5%A4%8D%E7%9B%98/"/>
<category term="工程纪律" scheme="https://magicliang.github.io/tags/%E5%B7%A5%E7%A8%8B%E7%BA%AA%E5%BE%8B/"/>
</entry>
<entry>
<title>联合国官方如何判断台湾地位:从 2758 号决议到发言人答问</title>
<link href="https://magicliang.github.io/2026/05/27/%E8%81%94%E5%90%88%E5%9B%BD%E5%AE%98%E6%96%B9%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E5%8F%B0%E6%B9%BE%E5%9C%B0%E4%BD%8D-%E4%BB%8E-2758-%E5%8F%B7%E5%86%B3%E8%AE%AE%E5%88%B0%E5%8F%91%E8%A8%80%E4%BA%BA%E7%AD%94%E9%97%AE/"/>
<id>https://magicliang.github.io/2026/05/27/%E8%81%94%E5%90%88%E5%9B%BD%E5%AE%98%E6%96%B9%E5%A6%82%E4%BD%95%E5%88%A4%E6%96%AD%E5%8F%B0%E6%B9%BE%E5%9C%B0%E4%BD%8D-%E4%BB%8E-2758-%E5%8F%B7%E5%86%B3%E8%AE%AE%E5%88%B0%E5%8F%91%E8%A8%80%E4%BA%BA%E7%AD%94%E9%97%AE/</id>
<published>2026-05-27T07:07:29.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>有些国际政治问题并不缺材料,难在同一段材料被不同的人剪成不同的形状。</p>
<p>“联合国是否认为台湾是中国的一个省”就是这种问题。</p>
<p>一段视频里,央视记者问联合国秘书长发言人:对联合国来说,台湾是不是中国的一个省?发言人回答“是”。另一段视频里,还是相近的问题,还是联合国发言人,回答却绕开了“省”字,只说联合国立场基于 1971 年联大第 2758 号决议。</p>
<p>这两个回答看起来互相打架。一个像是直接确认,另一个像是在回避。</p>
<p>答案要拆开看:联合国大会 2758 号决议的文本说了一件事,联合国秘书处长期执行时又形成了一套更具体的操作口径。前者解决“中国代表权”,后者把台湾作为中国的一部分处理。把这两层混在一起,就会出现各说各话。</p></summary>
<category term="深度调查" scheme="https://magicliang.github.io/categories/%E6%B7%B1%E5%BA%A6%E8%B0%83%E6%9F%A5/"/>
<category term="深度研究" scheme="https://magicliang.github.io/tags/%E6%B7%B1%E5%BA%A6%E7%A0%94%E7%A9%B6/"/>
<category term="联合国" scheme="https://magicliang.github.io/tags/%E8%81%94%E5%90%88%E5%9B%BD/"/>
<category term="台湾问题" scheme="https://magicliang.github.io/tags/%E5%8F%B0%E6%B9%BE%E9%97%AE%E9%A2%98/"/>
<category term="国际法" scheme="https://magicliang.github.io/tags/%E5%9B%BD%E9%99%85%E6%B3%95/"/>
<category term="2758号决议" scheme="https://magicliang.github.io/tags/2758%E5%8F%B7%E5%86%B3%E8%AE%AE/"/>
</entry>
<entry>
<title>附录:Curry-Howard-Lambek 三角,范畴论第三条腿</title>
<link href="https://magicliang.github.io/2026/05/26/%E9%99%84%E5%BD%95-Curry-Howard-Lambek-%E4%B8%89%E8%A7%92-%E8%8C%83%E7%95%B4%E8%AE%BA%E7%AC%AC%E4%B8%89%E6%9D%A1%E8%85%BF/"/>
<id>https://magicliang.github.io/2026/05/26/%E9%99%84%E5%BD%95-Curry-Howard-Lambek-%E4%B8%89%E8%A7%92-%E8%8C%83%E7%95%B4%E8%AE%BA%E7%AC%AC%E4%B8%89%E6%9D%A1%E8%85%BF/</id>
<published>2026-05-26T14:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>形式化方法导引主线 13 篇结束后,常被问的延伸问题是:&quot;Curry-Howard 同构是不是只有’逻辑 ↔ 类型’这两端?&quot;答案是不完全:1980 年前后 Lambek 把这条同构补成了一个<strong>三角</strong>——加入<strong>范畴论</strong>作为第三个等价表述。</p>
<p>逻辑、类型论、范畴论说的是同一件事,只是观察镜头不同。这条三角对应被叫 <strong>Curry-Howard-Lambek 同构</strong>,是任何想往程序语言语义、依值类型基础、同伦类型论方向走的人必须越过的一座山。</p>
<p>本文是系列附录,不属于主线 13 篇,目的是给硕士生指一条范畴论入门的最短路径。不展开范畴论基础,重点把&quot;三角&quot;的形态点清楚。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Curry-Howard" scheme="https://magicliang.github.io/tags/Curry-Howard/"/>
<category term="范畴论" scheme="https://magicliang.github.io/tags/%E8%8C%83%E7%95%B4%E8%AE%BA/"/>
</entry>
<entry>
<title>收束:作为日常工具的形式化</title>
<link href="https://magicliang.github.io/2026/05/26/%E6%94%B6%E6%9D%9F-%E4%BD%9C%E4%B8%BA%E6%97%A5%E5%B8%B8%E5%B7%A5%E5%85%B7%E7%9A%84%E5%BD%A2%E5%BC%8F%E5%8C%96/"/>
<id>https://magicliang.github.io/2026/05/26/%E6%94%B6%E6%9D%9F-%E4%BD%9C%E4%B8%BA%E6%97%A5%E5%B8%B8%E5%B7%A5%E5%85%B7%E7%9A%84%E5%BD%A2%E5%BC%8F%E5%8C%96/</id>
<published>2026-05-26T13:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>本系列的主线问题是&quot;为什么形式化编译器编译通过就证明命题得证&quot;。从第 00 篇到第 11 篇,答案已经分层给出:</p>
<ul>
<li>直觉主义逻辑把&quot;证明&quot;重新定义成&quot;构造一个见证物&quot;(第 01 篇)。</li>
<li>Curry-Howard 同构把命题、类型、程序、证明检查四件事压成同一个对象(第 02 篇)。</li>
<li>STLC 是最小可证明系统,能精确表达直觉主义命题逻辑(第 03 篇)。</li>
<li>类型检查算法是机械、可终止、可被任何语言实现的(第 04 篇)。</li>
<li>依值类型把表达力从命题逻辑扩到一阶逻辑(第 05 篇)。</li>
<li>归纳类型让数据嵌入证明,递归即归纳法(第 06 篇)。</li>
<li>Lean 4 把这套机制工程化,环境可在本地或浏览器跑起来(第 07-08 篇)。</li>
<li>可信基底说清了&quot;编译通过&quot;到底信什么(第 09 篇)。</li>
<li>大型案例(CompCert、seL4、Four Color、Mathlib)展示了&quot;能干到多深&quot;(第 10 篇)。</li>
<li>局限与取舍说清了&quot;什么时候不该上&quot;(第 11 篇)。</li>
</ul>
<p>本篇收束。它要回答两个尾问:</p>
<ol>
<li>一个普通工程师在不进研究院、不写编译器的前提下,可以怎样把形式化思维带进日常代码?</li>
<li>系列结束后,读者下一步该往哪里走?</li>
</ol></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="工程实践" scheme="https://magicliang.github.io/tags/%E5%B7%A5%E7%A8%8B%E5%AE%9E%E8%B7%B5/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
</entry>
<entry>
<title>形式化方法的局限与工程取舍</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95%E7%9A%84%E5%B1%80%E9%99%90%E4%B8%8E%E5%B7%A5%E7%A8%8B%E5%8F%96%E8%88%8D/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95%E7%9A%84%E5%B1%80%E9%99%90%E4%B8%8E%E5%B7%A5%E7%A8%8B%E5%8F%96%E8%88%8D/</id>
<published>2026-05-26T12:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>第 10 篇展示了 CompCert、seL4、Four Color、Mathlib4、Feit-Thompson 五个把形式化推到极致的项目。它们也共同暴露了一件事:<strong>形式化的代价非常高,证明/代码比常在 2-25:1,时间跨度通常以年计,依赖少数 deep expert</strong>。</p>
<p>本篇接着这条线,回答&quot;什么时候<strong>不该</strong>上形式化&quot;。判断的边界与判断的成本本身同等重要:错用形式化的项目要么半途而废,要么变成一份维护负担巨大的&quot;科研作品&quot;。</p>
<p>本篇分四部分:形式化能给的与不能给的、与传统验证手段的关系、典型决策维度、几条可操作的判断准则。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="测试" scheme="https://magicliang.github.io/tags/%E6%B5%8B%E8%AF%95/"/>
<category term="工程实践" scheme="https://magicliang.github.io/tags/%E5%B7%A5%E7%A8%8B%E5%AE%9E%E8%B7%B5/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="模型检查" scheme="https://magicliang.github.io/tags/%E6%A8%A1%E5%9E%8B%E6%A3%80%E6%9F%A5/"/>
</entry>
<entry>
<title>大型形式化案例:CompCert、seL4、Four Color 与 Mathlib</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%A4%A7%E5%9E%8B%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%A1%88%E4%BE%8B-CompCert-seL4-Four-Color-%E4%B8%8E-Mathlib/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%A4%A7%E5%9E%8B%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%A1%88%E4%BE%8B-CompCert-seL4-Four-Color-%E4%B8%8E-Mathlib/</id>
<published>2026-05-26T11:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>到第 09 篇为止,本系列把形式化方法的概念骨架、工具操作与可信基底都说清楚了。本篇离开理论,看四个被广泛引用的真实大型形式化项目:CompCert、seL4、Four Color Theorem、Mathlib4。</p>
<p>每个案例按同一个模板梳理:</p>
<ol>
<li>它<strong>证了什么</strong>。</li>
<li><strong>代价</strong>多大(人月、行数、时间跨度)。</li>
<li><strong>信任面</strong>在哪里。</li>
<li>对工程或数学<strong>意味着什么</strong>。</li>
</ol>
<p>读完本篇之后,&quot;形式化能在工程里干到多深&quot;这件事不再抽象——四个案例给出了四种不同形态的答案。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="Coq" scheme="https://magicliang.github.io/tags/Coq/"/>
<category term="Isabelle" scheme="https://magicliang.github.io/tags/Isabelle/"/>
<category term="案例研究" scheme="https://magicliang.github.io/tags/%E6%A1%88%E4%BE%8B%E7%A0%94%E7%A9%B6/"/>
</entry>
<entry>
<title>从一个 git 仓到 Skill Hub:一道全栈架构题的逐层推导</title>
<link href="https://magicliang.github.io/2026/05/26/%E4%BB%8E%E4%B8%80%E4%B8%AA-git-%E4%BB%93%E5%88%B0-Skill-Hub-%E4%B8%80%E9%81%93%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84%E9%9D%A2%E8%AF%95%E9%A2%98%E7%9A%84%E9%80%90%E5%B1%82%E6%8E%A8%E5%AF%BC/"/>
<id>https://magicliang.github.io/2026/05/26/%E4%BB%8E%E4%B8%80%E4%B8%AA-git-%E4%BB%93%E5%88%B0-Skill-Hub-%E4%B8%80%E9%81%93%E5%85%A8%E6%A0%88%E6%9E%B6%E6%9E%84%E9%9D%A2%E8%AF%95%E9%A2%98%E7%9A%84%E9%80%90%E5%B1%82%E6%8E%A8%E5%AF%BC/</id>
<published>2026-05-26T10:00:00.000Z</published>
<updated>2026-06-07T10:05:48.053Z</updated>
<summary type="html"><h2 id="题面">题面</h2>
<p>把一个真实落地的项目折叠成一道架构题:</p>
<blockquote>
<p>有一个 git 仓库,里面散落着 N 个 <code>SKILL.md</code> 文件(带 YAML frontmatter +</summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="架构设计" scheme="https://magicliang.github.io/tags/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/"/>
<category term="Git" scheme="https://magicliang.github.io/tags/Git/"/>
<category term="全栈" scheme="https://magicliang.github.io/tags/%E5%85%A8%E6%A0%88/"/>
<category term="Fastify" scheme="https://magicliang.github.io/tags/Fastify/"/>
<category term="系统设计面试" scheme="https://magicliang.github.io/tags/%E7%B3%BB%E7%BB%9F%E8%AE%BE%E8%AE%A1%E9%9D%A2%E8%AF%95/"/>
</entry>
<entry>
<title>类型检查器的可信基底:编译通过到底信什么</title>
<link href="https://magicliang.github.io/2026/05/26/%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%9F%A5%E5%99%A8%E7%9A%84%E5%8F%AF%E4%BF%A1%E5%9F%BA%E5%BA%95-%E7%BC%96%E8%AF%91%E9%80%9A%E8%BF%87%E5%88%B0%E5%BA%95%E4%BF%A1%E4%BB%80%E4%B9%88/"/>
<id>https://magicliang.github.io/2026/05/26/%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%9F%A5%E5%99%A8%E7%9A%84%E5%8F%AF%E4%BF%A1%E5%9F%BA%E5%BA%95-%E7%BC%96%E8%AF%91%E9%80%9A%E8%BF%87%E5%88%B0%E5%BA%95%E4%BF%A1%E4%BB%80%E4%B9%88/</id>
<published>2026-05-26T10:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>到第 08 篇为止,&quot;编译通过 = 定理得证&quot;的等式在 Lean 4 里已经成为肌肉记忆。但每个写过证明的读者迟早会问:</p>
<blockquote>
<p>我相信 Lean 编译通过等价于定理得证。但这条信任传到底是信什么?</p>
</blockquote>
<p>本篇专门回答这个问题。形式化方法不让人脱离信任,它让人把&quot;信什么&quot;明确化。明确化的边界叫<strong>可信计算基底</strong>(Trusted Computing Base,TCB)。形式化系统的 TCB 越小越好;任何 <code>sorry</code>、任何坏公理、任何元理论缺口都会让 TCB 撑大。</p>
<p>本篇按&quot;哪些东西必须信、哪些东西不必信、信任面破口长什么样、坏公理怎样让整套系统崩&quot;四段展开。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="Coq" scheme="https://magicliang.github.io/tags/Coq/"/>
<category term="可信基底" scheme="https://magicliang.github.io/tags/%E5%8F%AF%E4%BF%A1%E5%9F%BA%E5%BA%95/"/>
</entry>
<entry>
<title>在 Lean 4 中证明经典命题</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%9C%A8-Lean-4-%E4%B8%AD%E8%AF%81%E6%98%8E%E7%BB%8F%E5%85%B8%E5%91%BD%E9%A2%98/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%9C%A8-Lean-4-%E4%B8%AD%E8%AF%81%E6%98%8E%E7%BB%8F%E5%85%B8%E5%91%BD%E9%A2%98/</id>
<published>2026-05-26T09:00:00.000Z</published>
<updated>2026-06-07T10:05:48.053Z</updated>
<summary type="html"><p>第 07 篇把 Lean 4 环境装好了。本篇真在 Lean 4 里写一组经典命题的完整证明:合取交换律、析取交换律、等价、自然数加法交换律、列表拼接长度。每条命题给出 term mode 与 tactic mode 两种写法。</p>
<p>读完本篇之后,&quot;在 Lean 4 中写一段非平凡证明&quot;对读者来说不再是抽象。系列的主线问题&quot;为什么编译通过就是定理得证&quot;也由这些可在 InfoView 里看到 <code>No goals</code> 的具体证明落到肌肉记忆。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="证明助手" scheme="https://magicliang.github.io/tags/%E8%AF%81%E6%98%8E%E5%8A%A9%E6%89%8B/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
</entry>
<entry>
<title>准备 Lean 4 实验环境</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%87%86%E5%A4%87-Lean-4-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%87%86%E5%A4%87-Lean-4-%E5%AE%9E%E9%AA%8C%E7%8E%AF%E5%A2%83/</id>
<published>2026-05-26T08:00:00.000Z</published>
<updated>2026-06-07T10:05:48.053Z</updated>
<summary type="html"><p>到第 06 篇为止,本系列的所有概念都已铺开。从本篇开始换姿势:不再用 Python 模拟,也不再贴 Lean 4 片段当示意,而是让读者在自己机器上跑 Lean 4,写下第一个证明,看着编辑器右栏的 <code>No goals</code> 出现。</p>
<p>本篇是一篇短工具文:装 <code>elan</code>、跑 <code>lake new</code>、配 VS Code、写一段会动的 Lean 代码。系列从下一篇开始所有 Lean 示例都默认在这套环境里跑。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="证明助手" scheme="https://magicliang.github.io/tags/%E8%AF%81%E6%98%8E%E5%8A%A9%E6%89%8B/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="工具链" scheme="https://magicliang.github.io/tags/%E5%B7%A5%E5%85%B7%E9%93%BE/"/>
</entry>
<entry>
<title>归纳类型与递归:把数据嵌入证明</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%BD%92%E7%BA%B3%E7%B1%BB%E5%9E%8B%E4%B8%8E%E9%80%92%E5%BD%92-%E6%8A%8A%E6%95%B0%E6%8D%AE%E5%B5%8C%E5%85%A5%E8%AF%81%E6%98%8E/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%BD%92%E7%BA%B3%E7%B1%BB%E5%9E%8B%E4%B8%8E%E9%80%92%E5%BD%92-%E6%8A%8A%E6%95%B0%E6%8D%AE%E5%B5%8C%E5%85%A5%E8%AF%81%E6%98%8E/</id>
<published>2026-05-26T07:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>第 05 篇把 STLC 升级到带 <code>Π</code> 与 <code>Σ</code> 的依值类型,量词被纳入类型系统。但要在自然数、列表、树这些数据结构上证明命题,还差一件事:<strong>归纳法</strong>。</p>
<p>直觉上,“自然数加法可交换&quot;这种命题的证明依赖&quot;对所有自然数都成立”,而自然数本身是一个归纳定义的对象。要让证明跟着数据结构走,类型系统需要支持<strong>归纳类型</strong>:用一组构造子定义一族数据,然后允许&quot;按构造子分情况讨论&quot;——模式匹配——作为消去规则。</p>
<p>本篇说清楚归纳类型怎样定义、模式匹配怎样替代逻辑里的归纳推理、为什么&quot;归纳法&quot;在依值类型系统里就是&quot;良基递归&quot;。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="归纳类型" scheme="https://magicliang.github.io/tags/%E5%BD%92%E7%BA%B3%E7%B1%BB%E5%9E%8B/"/>
</entry>
<entry>
<title>依值类型:从命题逻辑到一阶逻辑</title>
<link href="https://magicliang.github.io/2026/05/26/%E4%BE%9D%E5%80%BC%E7%B1%BB%E5%9E%8B-%E4%BB%8E%E5%91%BD%E9%A2%98%E9%80%BB%E8%BE%91%E5%88%B0%E4%B8%80%E9%98%B6%E9%80%BB%E8%BE%91/"/>
<id>https://magicliang.github.io/2026/05/26/%E4%BE%9D%E5%80%BC%E7%B1%BB%E5%9E%8B-%E4%BB%8E%E5%91%BD%E9%A2%98%E9%80%BB%E8%BE%91%E5%88%B0%E4%B8%80%E9%98%B6%E9%80%BB%E8%BE%91/</id>
<published>2026-05-26T06:00:00.000Z</published>
<updated>2026-06-07T10:05:48.053Z</updated>
<summary type="html"><p>到第 04 篇为止,STLC 已经把直觉主义命题逻辑全部装进类型系统。但日常数学和工程里大量命题超出命题逻辑范围:“对任意自然数 <code>n</code>,<code>n + 0 = n</code>”、“对任意列表 <code>xs</code>,<code>reverse (reverse xs) = xs</code>”。这些命题都带量词,命题逻辑写不出来。</p>
<p>让类型系统能表达量词的关键扩展叫<strong>依值类型</strong>(dependent types):允许类型本身依赖<strong>值</strong>。一旦允许类型依赖值,<code>∀ x : A, P(x)</code> 就能翻译成&quot;对每个 <code>x : A</code> 都给出 <code>P(x) : Prop</code> 的函数&quot;——这条函数本身有依值的返回类型。</p>
<p>本篇说清楚依值函数 <code>Π</code>、依值积 <code>Σ</code>、<code>Vec n α</code> 这种经典例子,并把它们与一阶逻辑的 <code>∀</code>、<code>∃</code> 精确对应起来。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="依值类型" scheme="https://magicliang.github.io/tags/%E4%BE%9D%E5%80%BC%E7%B1%BB%E5%9E%8B/"/>
</entry>
<entry>
<title>类型检查算法:证明检查算法的机械实现</title>
<link href="https://magicliang.github.io/2026/05/26/%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%9F%A5%E7%AE%97%E6%B3%95-%E8%AF%81%E6%98%8E%E6%A3%80%E6%9F%A5%E7%AE%97%E6%B3%95%E7%9A%84%E6%9C%BA%E6%A2%B0%E5%AE%9E%E7%8E%B0/"/>
<id>https://magicliang.github.io/2026/05/26/%E7%B1%BB%E5%9E%8B%E6%A3%80%E6%9F%A5%E7%AE%97%E6%B3%95-%E8%AF%81%E6%98%8E%E6%A3%80%E6%9F%A5%E7%AE%97%E6%B3%95%E7%9A%84%E6%9C%BA%E6%A2%B0%E5%AE%9E%E7%8E%B0/</id>
<published>2026-05-26T05:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>上一篇给出了 STLC 的类型规则。规则本身只描述了&quot;什么样的程序合法&quot;,并没有说&quot;怎样判断合法&quot;。本篇把这个判断过程写成一段可运行的 Python 程序,约 200 行。</p>
<p>读完这段代码之后,&quot;类型检查 = 证明检查&quot;会从概念对位落到一段能跑出真实输出的事实。系列主线问题&quot;为什么编译通过就是定理得证&quot;的第一层——证明可被机械检查——也在这里被实证。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="Python" scheme="https://magicliang.github.io/tags/Python/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="STLC" scheme="https://magicliang.github.io/tags/STLC/"/>
</entry>
<entry>
<title>简单类型 lambda 演算:最小可证明系统</title>
<link href="https://magicliang.github.io/2026/05/26/%E7%AE%80%E5%8D%95%E7%B1%BB%E5%9E%8B-lambda-%E6%BC%94%E7%AE%97-%E6%9C%80%E5%B0%8F%E5%8F%AF%E8%AF%81%E6%98%8E%E7%B3%BB%E7%BB%9F/"/>
<id>https://magicliang.github.io/2026/05/26/%E7%AE%80%E5%8D%95%E7%B1%BB%E5%9E%8B-lambda-%E6%BC%94%E7%AE%97-%E6%9C%80%E5%B0%8F%E5%8F%AF%E8%AF%81%E6%98%8E%E7%B3%BB%E7%BB%9F/</id>
<published>2026-05-26T04:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>上一篇打通了命题与类型的对应:命题就是类型,证明就是程序。本篇把这条同构落在<strong>最小可证明系统</strong>上——简单类型 lambda 演算(Simply Typed Lambda Calculus,STLC)。</p>
<p>STLC 是类型系统的&quot;hello world&quot;。它语法只有三种表达式、五条核心类型规则,却已经能精确对应整个直觉主义命题逻辑。读懂 STLC 之后,依值类型、归纳类型、Lean 4 都只是在它上面加构造,不会改变骨架。</p>
<p>本篇先写出 STLC 的语法和类型规则,再画一棵推导树,最后说清楚 STLC 能证明什么、不能证明什么。下一篇把这些规则用 Python 落地成一个真跑的类型检查器。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="lambda 演算" scheme="https://magicliang.github.io/tags/lambda-%E6%BC%94%E7%AE%97/"/>
<category term="STLC" scheme="https://magicliang.github.io/tags/STLC/"/>
</entry>
<entry>
<title>命题即类型:Curry-Howard 同构</title>
<link href="https://magicliang.github.io/2026/05/26/%E5%91%BD%E9%A2%98%E5%8D%B3%E7%B1%BB%E5%9E%8B-Curry-Howard-%E5%90%8C%E6%9E%84/"/>
<id>https://magicliang.github.io/2026/05/26/%E5%91%BD%E9%A2%98%E5%8D%B3%E7%B1%BB%E5%9E%8B-Curry-Howard-%E5%90%8C%E6%9E%84/</id>
<published>2026-05-26T03:00:00.000Z</published>
<updated>2026-06-07T10:05:48.053Z</updated>
<summary type="html"><p>上一篇用 BHK 解释把&quot;证明&quot;重新定义成&quot;构造一个见证物&quot;,并提到那份翻译表&quot;看起来就是一组类型&quot;。本篇正式给出这个直觉的精确版本:<strong>Curry-Howard 同构</strong>——命题就是类型,证明就是程序,证明检查就是类型检查。</p>
<p>这条同构是形式化方法的基石。理解了它,&quot;为什么形式化编译器编译通过就是定理得证&quot;这条主线问题第一层翻译就被打通:检查证明这件事被压成了机械的类型检查。</p>
<p>本篇不假设读者会 Coq 或 Agda,但要求理解上一篇的 BHK 表,并能读简单的 Python 类型注解。中段会用 Lean 4 写两段简短代码做对照。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="Curry-Howard" scheme="https://magicliang.github.io/tags/Curry-Howard/"/>
</entry>
<entry>
<title>直觉主义逻辑与 BHK 解释:什么算一个证明</title>
<link href="https://magicliang.github.io/2026/05/26/%E7%9B%B4%E8%A7%89%E4%B8%BB%E4%B9%89%E9%80%BB%E8%BE%91%E4%B8%8E-BHK-%E8%A7%A3%E9%87%8A-%E4%BB%80%E4%B9%88%E7%AE%97%E4%B8%80%E4%B8%AA%E8%AF%81%E6%98%8E/"/>
<id>https://magicliang.github.io/2026/05/26/%E7%9B%B4%E8%A7%89%E4%B8%BB%E4%B9%89%E9%80%BB%E8%BE%91%E4%B8%8E-BHK-%E8%A7%A3%E9%87%8A-%E4%BB%80%E4%B9%88%E7%AE%97%E4%B8%80%E4%B8%AA%E8%AF%81%E6%98%8E/</id>
<published>2026-05-26T02:00:00.000Z</published>
<updated>2026-06-07T10:05:48.054Z</updated>
<summary type="html"><p>形式化方法导引系列的主线问题是:“为什么编译通过就是定理得证”。要把这条等式撑起来,第一步是回答一个看似更基本的问题:<strong>什么算一个证明</strong>。</p>
<p>中学数学里&quot;证明&quot;通常意味着一段以&quot;证:&quot;开头、以&quot;证毕&quot;结束的自然语言论证。这种证明里允许使用反证法、双否定消去、排中律,论证的合法性靠人类同行评议把关。这条路线下,&quot;证明&quot;是一份<strong>可被阅读和判断的文档</strong>。</p>
<p>形式化系统走另一条路。证明被要求成为一个<strong>可以被机械构造、机械检查的对象</strong>。这条要求一旦贯彻到底,传统数学里的&quot;反证&quot;和&quot;排中&quot;会被部分剥离,剩下一种叫<strong>直觉主义逻辑</strong>或<strong>构造主义逻辑</strong>的子系统。BHK 解释(Brouwer-Heyting-Kolmogorov)正是把&quot;证明&quot;在这个子系统里重新定义成&quot;构造一个见证物&quot;的规范。</p>
<p>本篇展开 BHK 翻译表,解释为什么它天然导向 Curry-Howard 同构,并用 Python 把表里的每一条编码成一个数据类。</p></summary>
<category term="技术" scheme="https://magicliang.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
<category term="形式化方法" scheme="https://magicliang.github.io/tags/%E5%BD%A2%E5%BC%8F%E5%8C%96%E6%96%B9%E6%B3%95/"/>
<category term="类型论" scheme="https://magicliang.github.io/tags/%E7%B1%BB%E5%9E%8B%E8%AE%BA/"/>
<category term="Lean" scheme="https://magicliang.github.io/tags/Lean/"/>
<category term="直觉主义逻辑" scheme="https://magicliang.github.io/tags/%E7%9B%B4%E8%A7%89%E4%B8%BB%E4%B9%89%E9%80%BB%E8%BE%91/"/>
<category term="BHK 解释" scheme="https://magicliang.github.io/tags/BHK-%E8%A7%A3%E9%87%8A/"/>
</entry>
</feed>