Skip to content
This repository was archived by the owner on Jan 5, 2025. It is now read-only.

Commit 7f1826e

Browse files
authored
Language翻訳 (#10)
* 翻訳開始 * 翻訳完了
1 parent ed579ce commit 7f1826e

File tree

9 files changed

+569
-96
lines changed

9 files changed

+569
-96
lines changed

GLOSSARY.md

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,17 @@
77
| angle bracket | 角括弧 | square bracketと同じ訳語にしているが、直後にコード例がある場合も多いため文脈で見分けられる想定 |
88
| annotation | 注釈 | |
99
| anonymous constructor | 匿名コンストラクタ | |
10+
| assign | 割り当て | |
1011
| associativity | 結合性 | |
1112
| assumption | 仮定 | |
1213
| at most | 高々 | |
1314
| attribute | 属性 | |
15+
| auto-bound | 自動的に束縛された | |
1416
| backtrack | バックトラック | 後戻りと書かれる場合あり |
1517
| base case | 基本ケース | |
1618
| bijection | 全単射 | |
1719
| binder | 束縛子 | |
20+
| binding | 束縛 | |
1821
| boolean | 真偽値 | |
1922
| bound variable | 束縛変数 | |
2023
| box | ボックス化 | |
@@ -46,10 +49,12 @@
4649
| declaration | 宣言 | |
4750
| definition | 定義 | |
4851
| definitional (η-)equality | 定義上の(η)等価性 | |
52+
| definition-like | 定義に類する | |
4953
| definitional proof irrelevance | 定義上の証明の無関係性 | |
5054
| dependent | 依存的 | 後ろに何も続かない場合 |
5155
| dependent function | 依存関数 | |
5256
| dependent type theory | 依存型理論 | |
57+
| derivation | 導出 | |
5358
| deriving | 導出 | |
5459
| desugar | 脱糖 | |
5560
| disjointness | 不連結性 | |
@@ -77,6 +82,7 @@
7782
| extend | 拡張 | |
7883
| field | (構造体・クラスのメンバの意味)フィールド | |
7984
| field specifier | フィールド指定子 | |
85+
| first-class | 第一級 | |
8086
| fixed point operator | 不動点演算子 | |
8187
| fixed-width integer | 固定幅 整数 | |
8288
| formalization | 形式化 | |
@@ -94,7 +100,9 @@
94100
| identifier | 識別子 | |
95101
| identifier component | 識別子要素 | |
96102
| identifier continuation character | 識別子継続文字 | |
103+
| identity function | 恒等関数 | |
97104
| implicit parameter | 暗黙のパラメータ | |
105+
| incompatible | 互換性 | |
98106
| index, indices | 添字 | |
99107
| induction | 帰納法 | |
100108
| induction hypothese | 帰納法の仮定 | |
@@ -108,7 +116,7 @@
108116
| injectivity | 単射性 | |
109117
| instance implicit parameter | インスタンスの暗黙のパラメータ | |
110118
| instances synthesize | インスタンス合成 | |
111-
| instantiate | インスタンス化 | |
119+
| instantiate, instantiation | インスタンス化 | |
112120
| intensional | 内包的 | |
113121
| interactive theorem prover | 対話型定理証明器 | |
114122
| interface | インタフェース | |
@@ -120,9 +128,11 @@
120128
| kind || |
121129
| laziness | 遅延 | |
122130
| language server | 言語サーバ | |
131+
| least upper bound | 最小上界 | |
123132
| lemma | 補題 | |
124133
| letter | 文字 | |
125134
| letterlike | 文字様 | |
135+
| level expression | レベル式 | |
126136
| longest match | 最長一致 | |
127137
| macro | マクロ | |
128138
| machine integer | 機械整数 | |
@@ -133,6 +143,7 @@
133143
| memoization | メモ化 | |
134144
| modifier | 修飾子 | |
135145
| monad | モナド | |
146+
| monomorphism | モノ射 | |
136147
| motive | 動機 | |
137148
| multi-threading | マルチスレッド | |
138149
| mutually inductive | 相互帰納 | |
@@ -155,13 +166,15 @@
155166
| predicate | 述語 | |
156167
| pretty printer | プリティプリンタ | |
157168
| primitive | プリミティブ | |
169+
| primitive recursion | 原始再帰 | |
158170
| product type | 直積型 | |
159171
| projection function | 射影関数 | |
160172
| proof checker | 証明チェッカ | |
161173
| proof state | 証明状態 | |
162174
| proof term | 証明項 | |
163175
| qualification | 修飾 | |
164-
| quantify | 定量化 | |
176+
| quantify | 量化 | |
177+
| quantification | 量化子 | |
165178
| question mark | 疑問符 | |
166179
| quote | クォート | |
167180
| quotient type | 商型 | |
@@ -180,6 +193,7 @@
180193
| run-time | ランタイム | |
181194
| rule | 規則 | |
182195
| saturated application | 完全な適用 | 固定訳は無いように思われ、飽和では意味が分かりづらいため |
196+
| schematic definition | スキーマ的定義 | |
183197
| scope | スコープ | |
184198
| separator | 区切り文字 | |
185199
| set | (数学的な集合を意味しない場合)あつまり、(数学的な集合の場合)集合 | |
@@ -188,18 +202,21 @@
188202
| side effect | 副作用 | |
189203
| signature | シグネチャ | |
190204
| single quote | シングルクォート | |
205+
| singleton | 単集合 | |
191206
| soundness | 健全性 | |
192207
| square bracket | 角括弧 | |
193208
| specialization | 特殊化 | |
194209
| statement || |
195210
| strict implicit parameter | 厳格な暗黙のパラメータ | |
211+
| strictly | (順序の意味で)狭義 | |
196212
| strictness | 正格 | |
197213
| strong induction | 強帰納法 | |
198214
| structure | 構造体 | |
199215
| subfield | サブフィールド | |
200216
| subterm | 部分項 | |
201217
| subtype | 部分型 | |
202218
| subscript | 下付き文字 | |
219+
| substitution | 置換 | |
203220
| syntactically | 構文上 | |
204221
| syntactic sugar | 構文糖衣 | |
205222
| syntax | 構文 | |
@@ -222,6 +239,7 @@
222239
| tree || |
223240
| trivial | 自明な | |
224241
| trust | 信頼 | |
242+
| tuple | タプル | |
225243
| type class | 型クラス | |
226244
| type class instance synthesis | 型クラスインスタンス合成 | |
227245
| type signature | 型シグネチャ | |
@@ -244,10 +262,13 @@
244262
| 用語 | 備考 |
245263
| --- | --- |
246264
| choice node | |
265+
| cumulative | |
266+
| impredicativity, predicativity | |
247267
| packed array | System Verilogという言語にこの名前の文法要素がある? |
248268
| strict positively, negatively | 自己言及される定義の分類、定訳は無い模様 |
249269
| prelude | |
250270
| relevant, irrelevant | 直訳して「関係・無関係」はわかりづらいと判断 |
251271
| subject reduction | TAPLに出てくる模様 |
252272
| subsingleton | |
253-
| type ascription | Scala、Rustに同じ用語あり |
273+
| type ascription | Scala、Rustに同じ用語あり |
274+
| well-typed | |

Manual/Elaboration.lean

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ def ullrich23 : Thesis where
3939
/-
4040
#doc (Manual) "Elaboration and Compilation" =>
4141
-/
42-
#doc (Manual) "エラボレーションとコンパイル" =>
42+
#doc (Manual) "エラボレーションとコンパイル(Elaboration and Compilation)" =>
4343
%%%
4444
htmlSplit := .never
4545
%%%
@@ -132,7 +132,7 @@ The next command is parsed and elaborated in this updated state, and itself upda
132132
# Parsing
133133
:::
134134

135-
# パース
135+
# パース(Parsing)
136136

137137
:::comment
138138
Lean's parser is a recursive-descent parser that uses dynamic tables based on Pratt parsing{citep pratt73}[] to resolve operator precedence and associativity.
@@ -191,7 +191,7 @@ Syntax extensions are described in more detail in {ref "language-extension"}[a d
191191
# Macro Expansion and Elaboration
192192
:::
193193

194-
# マクロ展開とエラボレーション
194+
# マクロ展開とエラボレーション(Macro Expansion and Elaboration)
195195

196196
:::comment
197197
Having parsed a command, the next step is to elaborate it.
@@ -248,7 +248,7 @@ While macro expansion occurs prior to elaboration for a given “layer” of the
248248
## Info Trees
249249
:::
250250

251-
## 情報木
251+
## 情報木(Info Trees)
252252

253253
:::comment
254254
When interacting with Lean code, much more information is needed than when simply importing it as a dependency.
@@ -278,7 +278,7 @@ This can be used to add information to be used by custom code actions or other u
278278
# The Kernel
279279
:::
280280

281-
# カーネル
281+
# カーネル(The Kernel)
282282

283283
:::comment
284284
Lean's trusted {deftech}_kernel_ is a small, robust implementation of a type checker for the core type theory.
@@ -311,7 +311,7 @@ The language implemented by the kernel is a version of the Calculus of Construct
311311
カーネルが実装する言語は Calculus of Constructions の一種で、以下の特徴を持つ依存型理論です:
312312
+ 完全な依存型
313313
+ 相互に帰納的であったり、他の帰納的データ型の下で入れ子になった再帰を含んだりする帰納的に定義されたデータ型
314-
+ {tech}[impredicative] ・定義上証明と irrelevant な {tech}[propositions] の拡張的 {tech}[universe]
314+
+ {tech}[impredicative] ・定義上証明と irrelevant な {tech}[命題] の拡張的 {tech}[宇宙]
315315
+ {tech}[predicative] なデータの宇宙の非蓄積な階層
316316
* 定義上の計算規則を伴った {ref "quotients"}[商型] (Quotient type)
317317
+ 命題上の関数外延性 {margin}[関数外延性は商型を使って証明できる定理ですが、重要な帰結であるため別で挙げておきます。]
@@ -362,7 +362,7 @@ Lean の型理論には subject reduction の機能はなく、定義上の等
362362
# Elaboration Results
363363
:::
364364

365-
# エラボレーションの結果
365+
# エラボレーションの結果(Elaboration Results)
366366

367367
:::comment
368368
Lean's core type theory does not include pattern matching or recursive definitions.
@@ -371,7 +371,7 @@ Thus, the elaborator must translate definitions that use pattern matching and re
371371
This translation is additionally a proof that the function terminates for all potential arguments, because all functions that can be translated to recursors also terminate.
372372
:::
373373

374-
Lean のコア型理論には、パターンマッチや再帰定義は含まれていません。その代わりに、場合分けとプリミティブな再帰の両方を実装するために使用できる低レベルの {tech}[再帰子] を提供します。したがって、エラボレータはパターンマッチと再帰を使用する定義から再帰子を使用する定義に変換する必要があります。この変換はさらに、関数がすべての潜在的な引数に対して停止することの証明でもあります。なぜなら再帰子へ翻訳されるすべての関数は停止するからです。
374+
Lean のコア型理論には、パターンマッチや再帰定義は含まれていません。その代わりに、場合分けと原始再帰の両方を実装するために使用できる低レベルの {tech}[再帰子] を提供します。したがって、エラボレータはパターンマッチと再帰を使用する定義から再帰子を使用する定義に変換する必要があります。この変換はさらに、関数がすべての潜在的な引数に対して停止することの証明でもあります。なぜなら再帰子へ翻訳されるすべての関数は停止するからです。
375375

376376
:::comment
377377
The translation to recursors happens in two phases: during term elaboration, uses of pattern matching are replaced by appeals to auxiliary functions that implement the particular case distinction that occurs in the code.
@@ -655,7 +655,7 @@ For most workloads, the overhead of compilation is larger than the time saved by
655655
# Initialization
656656
:::
657657

658-
# 初期化コード
658+
# 初期化(Initialization)
659659

660660
:::comment
661661
Before starting up, the elaborator must be correctly initialized.

0 commit comments

Comments
 (0)