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

Commit 1d3ae6f

Browse files
authored
definitional equalityの訳修正 (#14)
1 parent c0a76d5 commit 1d3ae6f

File tree

1 file changed

+5
-5
lines changed

1 file changed

+5
-5
lines changed

lean/main/04_metam.lean

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@ Its arguments are:
290290
291291
--#--
292292
- `type?`:新しいメタ変数のターゲットの型。`none` の場合、ターゲットの型は `Sort ?u` となります。ここで `?u` は宇宙レベルのメタ変数です。(これは宇宙レベルのメタ変数の特別なクラスであり、これまで単に「メタ変数」と呼んできた式についてのメタ変数とは区別されます。)
293-
- `kind`:メタ変数の種(kind)。詳しくは [メタ変数の種](#定義上の同値) [^fn1] を参照してください(通常はデフォルト値が正しいです)。[^fn1]
293+
- `kind`:メタ変数の種(kind)。詳しくは [メタ変数の種](#定義上の等しさ) [^fn1] を参照してください(通常はデフォルト値が正しいです)。[^fn1]
294294
- `userName`:新しいメタ変数のユーザが目にする名前。これはメタ変数がゴールに現れる際に表示されるものになります。`MVarId` と異なり、この名前は一意である必要はありません。
295295
296296
--#--
@@ -680,7 +680,7 @@ The `myAssumption` tactic contains three functions we have not seen before:
680680
681681
--#--
682682
- `Lean.MVarId.checkNotAssigned` はメタ変数がすでに割当済みかどうかチェックします。上記で渡している「myAssumption」引数は現在のタクティクの名前です。これはより良いエラーメッセージを生成するために使用されます。
683-
- `Lean.Meta.isDefEq` は2つの定義が定義上等しいかどうかをチェックします。詳細は [定義上の同値の節](#定義上の同値) を参照してください。
683+
- `Lean.Meta.isDefEq` は2つの定義が定義上等しいかどうかをチェックします。詳細は [定義上の等しさの節](#定義上の等しさ) を参照してください。
684684
- `Lean.LocalDecl.toExpr` はローカルの仮定に対応する `fvar` 式を構築する補助関数です。
685685
686686
--#--
@@ -1249,15 +1249,15 @@ ourselves.
12491249
### Definitional Equality
12501250
12511251
--#--
1252-
### 定義上の同値
1252+
### 定義上の等しさ
12531253
12541254
--#--
12551255
As mentioned, definitional equality is equality up to computation. Two
12561256
expressions `t` and `s` are definitionally equal or *defeq* (at the current
12571257
transparency) if their normal forms (at the current transparency) are equal.
12581258
12591259
--#--
1260-
前述したように、定義上の同値は計算においての同値です。2つの式 `t` と `s` は(現在の透過度において)正規形が等しい場合、定義上等しい、もしくは **defeq** となります。
1260+
前述したように、定義上の等しさは計算においての同値です。2つの式 `t` と `s` は(現在の透過度において)正規形が等しい場合、定義上等しい、もしくは **defeq** となります。
12611261
12621262
--#--
12631263
To check whether two expressions are defeq, use `Lean.Meta.isDefEq` with type
@@ -1280,7 +1280,7 @@ reduce `s` and `t` so often that they end up in normal form anyway. But usually
12801280
the heuristics are good and `isDefEq` is reasonably fast.
12811281
12821282
--#--
1283-
定義上の同値は正規形で定義されていますが、実際には `isDefEq` は非常に高価になりうる引数の正規形の計算をすることはありません。その代わりに、`t` と `s` をできるだけ少ない簡約で「一致」させようとします。これは必然的に発見的な試みであり、この発見的な試みが失敗すると `isDefEq` は非常に高価になる可能性があります。最悪の場合、`s` と `t` を頻繁に簡約しなければならず、結局正規形になってしまうこともあります。しかし、通常はこの発見的な手法はうまく働き、`isDefEq` はそれなりに高速です。
1283+
定義上の等しさは正規形で定義されていますが、実際には `isDefEq` は非常に高価になりうる引数の正規形の計算をすることはありません。その代わりに、`t` と `s` をできるだけ少ない簡約で「一致」させようとします。これは必然的に発見的な試みであり、この発見的な試みが失敗すると `isDefEq` は非常に高価になる可能性があります。最悪の場合、`s` と `t` を頻繁に簡約しなければならず、結局正規形になってしまうこともあります。しかし、通常はこの発見的な手法はうまく働き、`isDefEq` はそれなりに高速です。
12841284
12851285
--#--
12861286
If expressions `t` and `u` contain assignable metavariables, `isDefEq` may

0 commit comments

Comments
 (0)