Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

Consolidated translation findings: 14 source-fix groups with an applicable patch

未关闭
#436 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
50/100
Issue 类型
文档
描述清晰度
描述清楚
活跃度
活跃
技术栈
tex

调研方向

Start in the nine source files named in the report, especially the lambda-definability and satisfaction chapters, and review the supplied unified diff against commit 1e960be. Run git apply --check source-fixes.patch from the repository root, then verify that all 14 correction groups are applied without changing the clarification marked as no source change requested.

由索引模型根据 Issue 内容生成。

描述

Consolidated source corrections from translation checks

Hello! I’m the AI assistant helping the user who maintains these independent Open Logic translations. At their request, I’m consolidating source findings across translation tasks so you receive one organized report rather than separate reports from each language.

This is a bounded batch of 14 source-fix groups across nine files, checked against current master at 1e960bef. Multiple language reports of the same defect are combined. Previously reported items in #432, #433, #435 and the list linked from #432 are not repeated as new fixes.

Each item has a permanent source link and a reason. The expandable section at the end contains one directly applicable unified diff, including the prose replacement. Copy its contents to source-fixes.patch and run git apply --check source-fixes.patch from the upstream repository root; git apply source-fixes.patch applies it. Individual hunks can also be taken separately.

Lambda definability

1. Church multiplication uses the first operand twice

arithmetical-functions.tex:117–122 and fixpoints.tex:22–31.

Both bind a,b but iterate Add a exactly a times: they compute a², ignoring b. Use Add b. Church inputs 2 and 3 then give 6, not 4. In the fixpoints example also write the initial value as \num{0}, matching the Church-numeral notation used for the stated pure-lambda-term expansion.

2. Composition lemma: representer endpoint and function name

primitive-recursive-functions.tex:32–42.

Use G_0,...,G_{k-1}, not an extra G_k; conclude that numerical function h is lambda definable, not representing term H. The proof already distinguishes these correctly.

3. Primitive recursion: step function and iteration state

primitive-recursive-functions.tex:58–88.

In the successor equation the outer right-hand function must be g, whose arity is n+2, not h, whose arity is n+1. The prose should describe iteration of a state pair using g, not iteration of h. The replacement follows the displayed state transformer D and the induction conclusion; it does not change the theorem.

4. Recursive search loses its function argument and a parenthesis

minimization.tex:29–50.

The recursive branch must be (g\, f\, \vec{x} (\fn{Succ}\, y)): retain the function parameter f and close the recursive application. Otherwise the arguments shift after the first unsuccessful test. The recurrence at line 50 already retains F.

5. Minimization proof changes the function name

minimization.tex:19–54.

The lemma defines g, but the proof calls it h and ends with h(...). Use g in those two places and G for its representing term. This is distinct from the locally bound lowercase g in Search.

6. Relation arity: n versus k

truth-values.tex:24–32.

Change R \subseteq \Nat^n to R \subseteq \Nat^k; every tuple and truth condition in this definition has k arguments.

7. Church/Turing comparison loses the Church subscript

fixpoints.tex:157–173.

The comparison announces Y_C but uses bare Y four times in its two properties. Those references should be Y_C, as in the following common-reduct calculation. Bare Y is the Turing combinator for which the preceding theorem explicitly proves Yg \red g(Yg).

Completeness, arithmetic and model theory

8. Alternative representative needs its prime

completeness/identity.tex:119–132.

Change \Sat/{M}{\Atom{R}{t}} to \Sat/{M}{\Atom{R}{t'}} in the hypothesis about the alternative representative. Only the prime is missing: \Sat/ already means non-satisfaction; no extra negation is proposed.

9. Bounded universal zero case: empty conjunction

sigma1-completeness.tex:152–169.

Change “empty disjunction” to “empty conjunction.” This paragraph proves the bounded universal case, whose empty expansion is \ltrue; an empty disjunction would be false.

10. Lindström proof: missing sequence subscript

lindstrom-proof.tex:66–76.

Write “a subsequence of the \Struct{M}_n’s.” The indexed family is the sequence just introduced; the unindexed union is introduced afterward.

First-order satisfaction

The examples below use the declared four-element structure: a=1, b=2 and R={(1,1),(1,2),(2,3),(2,4)}.

11. Existential explanatory branch omits its satisfaction condition

satisfaction.tex:168–176.

The prvEx branch stops after “for at least one m in the domain”; only the other branch contains \Sat{M}{!B(m)}. Move that common condition outside the conditional macro. This is the informal formulation that the paragraph then replaces with variable assignments—not a new definition allowing domain elements as language symbols.

12. Five local notation repairs in the worked example
  • Line 213: remove [s] only from fixed relation interpretation \Assign{R}{M}.
  • Lines 288–290: remove a surplus opening parenthesis in each of the two negated formulas.
  • Line 292: remove the stray comma inside the formula argument; retain the sentence's terminal period.
  • Line 331: restore m in “and $m = 2$.”
  • Line 347: use outer parameter m, not inner witness n, in the summary.

Assignments on satisfaction and term-value expressions are retained.

13. Universal example cites the consequent instead of the false antecedent

satisfaction.tex:301–313.

At line 309 use R(x,a), not R(a,x). For m=2,3,4 it is antecedent R(m,1) that is false. R(1,2) is actually true, so the printed negative assertion fails at m=2. The primitive-universal version already has the correct direction.

14. Final counterexample needs different witnesses

satisfaction.tex:353–363.

For outer m=1, choose inner n=4; for m=2, choose n=1. The printed choice n=4 for both cases fails because (2,4) belongs to the declared relation. The corrected choices are absent pairs (1,4) and (2,1), so the stated existential conjunction remains false.

Clarification of an earlier claim — no source change requested

The older nested expression \cardeq{\cardeq{A}{B}}{C} in the frozen source should not have been called malformed in the list linked from #432. The macro definition expands it to A \approx B \approx C, a valid chained statement. That earlier malformed-expression claim should be disregarded. This concerns the older witness, not a request to revert the current wording.

Patch

Copy-pasteable unified diff (nine files)
--- a/content/first-order-logic/completeness/identity.tex
+++ b/content/first-order-logic/completeness/identity.tex
@@ -123,7 +123,7 @@
 !!{predicate}, the last clause of the definition says that
 $\equivrep{t}{\approx} \in \Assign{R}{\equivclass{M}{\approx}}$ iff
 $\Sat{M}{\Atom{R}{t}}$. If for some other term~$t'$ with $t \approx
-t'$, $\Sat/{M}{\Atom{R}{t}}$, then the definition would require
+t'$, $\Sat/{M}{\Atom{R}{t'}}$, then the definition would require
 $\equivrep{t'}{\approx} \notin \Assign{R}{\equivclass{M}{\approx}}$.
 If $t \approx t'$, then $\equivrep{t}{\approx} =
 \equivrep{t'}{\approx}$, but we can't have both $\equivrep{t}{\approx}
--- a/content/first-order-logic/syntax-and-semantics/satisfaction.tex
+++ b/content/first-order-logic/syntax-and-semantics/satisfaction.tex
@@ -170,7 +170,7 @@
 Then instead of saying that, e.g.,
 \iftag{prvEx}{$\lexists[x][!B(x)]$}{$\lforall[x][!B(x)]$} is satisfied
 in~$\Struct M$ iff \iftag{prvEx}{for at least one $m \in
-\Domain{M}$}{for all $m \in \Domain{M}$, $\Sat{M}{!B(m)}$}, we say it
+\Domain{M}$}{for all $m \in \Domain{M}$}, $\Sat{M}{!B(m)}$, we say it
 is satisfied in~$\Struct M$ \emph{relative to}~$s$ iff $!B(x)$ is
 satisfied relative to~$\Subst{s}{m}{x}$ \iftag{prvEx}{for at least
 one}{for every} $m \in \Domain M$.
@@ -210,7 +210,7 @@
   \Value{t_2}{M}[s]}$, is !!a{element} of~$\Assign{R}{M}$. So, e.g., we
 have $\Sat{M}{R(b,f(a,b))}[s]$ since $\tuple{\Value{b}{M},
   \Value{f(a,b)}{M}} = \tuple{2, 3} \in \Assign{R}{M}$, but
-$\Sat/{M}{R(x, f(a,b))}[s]$ since $\tuple{1, 3} \notin \Assign{R}{M}[s]$.
+$\Sat/{M}{R(x, f(a,b))}[s]$ since $\tuple{1, 3} \notin \Assign{R}{M}$.
 
 To determine if a non-atomic formula~$!A$ is satisfied, you apply the
 clauses in the inductive definition that applies to the main
@@ -285,11 +285,11 @@
   First, $\Sat{M}{R(b,x) \lor R(x, b)}[\Subst{s}{1}{x}]$
   ($\Subst{s}{3}{x}$ would also fit the bill).  So,
   $\Sat/{M}{\lnot(R(b,x) \lor R(x,b))}[\Subst{s}{1}{x}]$, thus
-  $\Sat/{M}{\lforall[x][\lnot((R(b,x) \lor R(x,b))]}[s]$, and
-  therefore $\Sat{M}{\lnot\lforall[x][\lnot((R(b,x) \lor
+  $\Sat/{M}{\lforall[x][\lnot(R(b,x) \lor R(x,b))]}[s]$, and
+  therefore $\Sat{M}{\lnot\lforall[x][\lnot(R(b,x) \lor
   R(x,b))]}[s]$. On the other hand,
   \[
-  \Sat/{M}{\lexists[x][(R(b,x) \land R(x,b))],}[s].
+  \Sat/{M}{\lexists[x][(R(b,x) \land R(x,b))]}[s].
   \]
   That's because $\Sat{M}{\lforall[x][\lnot(R(b,x) \land
   R(x,b))]}[s]$, since for no $m \in \Domain M$, $\Sat{M}{R(b,x) \land
@@ -306,7 +306,7 @@
   \]
   First, $\Sat{M}{R(x,a) \lif R(a,x)}[\Subst{s}{m}{x}]$ for all $m \in
   \Domain M$ ($\Sat{M}{R(a,x)}[\Subst{s}{1}{x}]$ and
-  $\Sat/{M}{R(a,x)}[\Subst{s}{m}{x}]$ for $m = 2$, $3$, or~$4$).
+  $\Sat/{M}{R(x,a)}[\Subst{s}{m}{x}]$ for $m = 2$, $3$, or~$4$).
   Thus, there is no $m \in \Domain M$ such that
   $\Sat{M}{\lnot(R(x,a) \lif R(a,x))}[\Subst{s}{m}{x}]$ and hence
   $\Sat/{M}{\lexists[x][\lnot(R(x,a) \lif R(a,x))]}[s]$. Therefore,
@@ -328,7 +328,7 @@
 Since $\Sat/{M}{R(a,x)}[\Subst{s}{3}{x}]$ and
 $\Sat/{M}{R(a,x)}[\Subst{s}{4}{x}]$, the interesting cases where we
 have to worry about the consequent of the conditional are only $m = 1$
-and $ = 2$. Does $\Sat{M}{\lexists[y][R(x,y)]}[\Subst{s}{1}{x}]$
+and $m = 2$. Does $\Sat{M}{\lexists[y][R(x,y)]}[\Subst{s}{1}{x}]$
 hold? It does if there is at least one $n \in \Domain M$ so that
 $\Sat{M}{R(x,y)}[\Subst{\Subst{s}{1}{x}}{n}{y}]$. In fact, if we take
 $n = 1$, we have $\Subst{\Subst{s}{1}{x}}{n}{y} = \Subst{s}{1}{y} =
@@ -344,7 +344,7 @@
 $\Sat{M}{R(x,y)}[\Subst{s_2}{3}{y}]$ since $\tuple{2,3} \in
 \Assign{R}{M}$, and so $\Sat{M}{\lexists[y][R(x,y)]}[s_2]$.
 
-So, for all $n \in \Domain M$, either
+So, for all $m \in \Domain M$, either
 $\Sat/{M}{R(a,x)}[\Subst{s}{m}{x}]$ (if $m = 3$, $4$) or
 $\Sat{M}{\lexists[y][R(x,y)]}[\Subst{s}{m}{x}]$ (if $m = 1$, $2$), and so
 \[
@@ -356,7 +356,7 @@
 \]
 We have $\Sat{M}{R(a,x)}[\Subst{s}{m}{x}]$ only for $m = 1$ and $m =
 2$. But for both of these values of~$m$, there is in turn an $n \in
-\Domain M$, namely $n = 4$, so that
+\Domain M$, namely $n = 4$ when $m = 1$ and $n = 1$ when $m = 2$, so that
 $\Sat/{M}{R(x,y)}[\Subst{\Subst{s}{m}{x}}{n}{y}]$ and so
 $\Sat/{M}{\lforall[y][R(x,y)]}[\Subst{s}{m}{x}]$ for $m = 1$ and $m =
 2$. In sum, there is no $m \in \Domain M$ such that $\Sat{M}{R(a,x)
--- a/content/incompleteness/representability-in-q/sigma1-completeness.tex
+++ b/content/incompleteness/representability-in-q/sigma1-completeness.tex
@@ -165,7 +165,7 @@
     If $\Value{t}{N} = 0$ then the left-hand side of the
     equivalence is provable in~$\Th{Q}$, because there is no
     $x<\num 0$ by \olref[inc][req][min]{lem:less-zero}.
-    Similarly, we can take an empty disjunction to be simply
+    Similarly, we can take an empty conjunction to be simply
     $\ltrue$, which is also provable in~$\Th{Q}$.
     %
     We therefore suppose that $\Value{t}{N} = k+1$ for some
--- a/content/lambda-calculus/lambda-definability/arithmetical-functions.tex
+++ b/content/lambda-calculus/lambda-definability/arithmetical-functions.tex
@@ -117,7 +117,7 @@
 \begin{prob}
 Multiplication can be !!{lambda define}d by the term
 \[
-  \fn{Mult}' \ident \lambd[ab][a (\fn{Add}\, a) \num{0}].
+  \fn{Mult}' \ident \lambd[ab][a (\fn{Add}\, b) \num{0}].
 \]
 Explain why this works.
 \end{prob}
--- a/content/lambda-calculus/lambda-definability/fixpoints.tex
+++ b/content/lambda-calculus/lambda-definability/fixpoints.tex
@@ -21,7 +21,7 @@
 side. Such recursive definitions involving self-reference
 are not part of the lambda calculus. Defining a term, e.g., by
 \[
-\fn{Mult} \ident \lambd[ab][a (\fn{Add}\, a) 0]
+\fn{Mult} \ident \lambd[ab][a (\fn{Add}\, b) \num{0}]
 \]
 only involves previously defined terms in the right-hand side, such as
 $\fn{Add}$. We can always remove $\fn{Add}$ by replacing it with its
@@ -160,8 +160,8 @@
 \[
 Y_C \ident \lambd[g][(\lambd[x][g(xx)])(\lambd[x][g(xx)])].
 \]
-Church's combinator is a bit weaker than Turing's in that $Yg
-\equal[\beta] g(Yg)$ but not $Yg \bred g(Yg)$. Let $V$ be the term
+Church's combinator is a bit weaker than Turing's in that $Y_Cg
+\equal[\beta] g(Y_Cg)$ but not $Y_Cg \bred g(Y_Cg)$. Let $V$ be the term
 $\lambd[x][g(xx)]$, so that $Y_C \ident \lambd[g][VV]$. Then
 \begin{align*}
   VV & \ident (\lambd[x][g(xx)])V \red g(VV)
--- a/content/lambda-calculus/lambda-definability/minimization.tex
+++ b/content/lambda-calculus/lambda-definability/minimization.tex
@@ -27,12 +27,12 @@
 
 \begin{proof}
   Suppose the lambda term~$F$ $\lambda$-defines the regular
-  function $f(\vec x, y)$. To !!{lambda define}~$h$ we use a search
+  function $f(\vec x, y)$. To !!{lambda define}~$g$ we use a search
   function and a fixpoint combinator:
   \begin{align*}
     \fn{Search} & \ident \lambd[g][\lambd[f\,\vec{x}\,y][
-        \fn{IsZero} (f\, \vec{x}\, y)\, y\, (g\, \vec{x} (\fn{Succ}\, y)]]\\
-    H & \ident \lambd[\vec x][(Y \, \fn{Search}) F\, \vec{x}\, \num{0}],
+        \fn{IsZero} (f\, \vec{x}\, y)\, y\, (g\, f\, \vec{x} (\fn{Succ}\, y))]]\\
+    G & \ident \lambd[\vec x][(Y \, \fn{Search}) F\, \vec{x}\, \num{0}],
   \end{align*}
   where $Y$ is any fixpoint combinator. Informally speaking,
   $\fn{Search}$ is a self-referencing function: starting with~$y$,
@@ -51,7 +51,7 @@
     \intertext{otherwise. Since $f$ is regular, $f(n_1, \dots, n_k, y)
       = 0$ for some $y$, and so}
     (Y \, \fn{Search}) F \num{n_1} \dots\num{n_k}\,\num{0}
-    & \red \num{h(n_1, \dots, n_k)}.
+    & \red \num{g(n_1, \dots, n_k)}.
     \end{align*}
 \end{proof}
 
--- a/content/lambda-calculus/lambda-definability/primitive-recursive-functions.tex
+++ b/content/lambda-calculus/lambda-definability/primitive-recursive-functions.tex
@@ -31,8 +31,8 @@
 \begin{lem}
   \ollabel{lem:comp} Suppose the $k$-ary function $f$, and $n$-ary
   functions $g_0, \dots, g_{k-1}$, are !!{lambda definable} by terms
-  $F$, $G_0$, \dots, $G_k$, and $h$ is defined from them by composition.
-  Then $H$ is !!{lambda definable}.
+  $F$, $G_0$, \dots, $G_{k-1}$, and $h$ is defined from them by composition.
+  Then $h$ is !!{lambda definable}.
 \end{lem}
 
 \begin{proof}
@@ -65,12 +65,13 @@
   Recall that $h$ is defined by
   \begin{align*}
     h(x_1, \dots, x_n, 0) &= f(x_1, \dots, x_n)\\
-    h(x_1, \dots, x_n, y+1) & = h(x_1, \dots, x_n, y, h(x_1, \dots, x_n, y)).
+    h(x_1, \dots, x_n, y+1) & = g(x_1, \dots, x_n, y, h(x_1, \dots, x_n, y)).
   \end{align*}
-  Informally speaking, the primitive recursive definition iterates the
-  application of the function $h$ $y$ times and applies it to $f(x_1,
-  \dots, x_n)$. This is reminiscent of the definition of Church
-  numerals, which is also defined as a iterator.
+  Informally speaking, keep $x_1, \dots, x_n$ fixed and start with the
+  pair $(0,f(x_1, \dots, x_n))$. Iterate the state update
+  $(j,z) \mapsto (j+1,g(x_1, \dots, x_n,j,z))$ exactly $y$ times.
+  The second component is then $h(x_1, \dots, x_n,y)$. This is
+  reminiscent of Church numerals, which act as iterators.
 
   For simplicity, we give the definition and proof for a single
   additional argument~$x$. The function $h$ is !!{lambda define}d by:
--- a/content/lambda-calculus/lambda-definability/truth-values.tex
+++ b/content/lambda-calculus/lambda-definability/truth-values.tex
@@ -22,7 +22,7 @@
 $\fn{false}\, M N$ always reduces to~$N$.
 
 \begin{defn}
-We call a relation $R \subseteq \Nat^n$ !!{lambda definable} if there is
+We call a relation $R \subseteq \Nat^k$ !!{lambda definable} if there is
 a term~$R$ such that
 \begin{align*}
   R\, \num{n_1} \dots \num{n_k} & \bred \fn{true}
--- a/content/model-theory/lindstrom/lindstrom-proof.tex
+++ b/content/model-theory/lindstrom/lindstrom-proof.tex
@@ -71,7 +71,7 @@
 the language by the same objects; furthermore, since there are only
 finitely many atomic !!{sentence}s in the language, we may also assume
 that they satisfy the same atomic !!{sentence}s (we can take a
-subsequence of the $\Struct{M}$'s otherwise). Let $\Struct{M}$ be the
+subsequence of the $\Struct{M}_n$'s otherwise). Let $\Struct{M}$ be the
 union of all the $\Struct{M}_n$'s, i.e., the unique minimal
 !!{structure} having each $\Struct{M}_n$ as a substructure.  As in the
 proof of \olref[lsp]{thm:abstract-p-isom}, let $\Struct{M}^*$ be the

Checks and limits: the patch applies to the linked revision; exact old strings, changed paths and changed formula delimiters were checked. I evaluated multiplication on 36 small input pairs and the satisfaction examples against the stated four-element relation. This is direct source review plus bounded deterministic checks, not a TeX build or an independent human/formal-proof certification. No translation merge or endorsement is requested. Other candidates remain in the local review ledger; unverified claims, translation-only changes and valid conventions have not been promoted to upstream errors.

Please take, adapt or reject the suggestions as appropriate. We wanted to make useful fixes available now rather than wait for every translation to finish.

AI disclosure: report preparation, source review and proposed edits by OpenAI Codex — GPT-6 Astra, Ultra effort, acting on the translation maintainer’s request.

主要语言
TeX
星标
1.4k
派生
289
PR 合并指标
30 天内没有已合并 PR

环境准备

这个项目没有提供开发容器、Dockerfile 或贡献指南,环境需要你自己搭建:先看它的 README,通用步骤见我们的新手贡献指南。

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

OpenLogicProject/OpenLogic 的其他 Issue

查看 OpenLogicProject/OpenLogic 的全部 Issue

相似的 Issue

更多 Content Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。