Fitch 式自然演绎:修订间差异
创建页面,内容为“分类:证明论{{DEFAULTSORT:fitch shi4zi4ran2yan3yi4}} {{#seo: |keywords=费奇式自然演绎 |description=费奇式自然演绎是自然演绎系统的一种记号,本文介绍了这种记号的写法,以及用于命题逻辑、谓词逻辑时的推理规则。 |modified_time={{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} |published_time=2026-01-16 }} {{InfoBox |name=费奇式自然演绎 |eng_name=Fitch's natural deduction |aliases=Fitch's not…” |
无编辑摘要 |
||
| (未显示同一用户的1个中间版本) | |||
| 第17行: | 第17行: | ||
== 描述 == | == 描述 == | ||
以下是 <math>p\rightarrow q\rightarrow p</math> 的一个证明。 | 以下是 <math>p\rightarrow q\rightarrow p</math> 的一个证明。<ref>此处右侧注解的假设、重复记号使用徐明《符号逻辑讲义》的版本且进行了简化,部分材料使用的不同。</ref> | ||
<pre> | <pre> | ||
1 | | p hyp | 1 | | p hyp | ||
| |------- | | |------- | ||
| 第52行: | 第51行: | ||
| | | | ||
9 | ¬q→¬p →I,2,8 | 9 | ¬q→¬p →I,2,8 | ||
</pre> | |||
=== 符号及术语说明 === | === 符号及术语说明 === | ||
| 第57行: | 第57行: | ||
* 部分材料中,记号可能有微小差异,请以具体记号为准。 | * 部分材料中,记号可能有微小差异,请以具体记号为准。 | ||
* 演绎过程中的每一个公式称为一'''行'''('''line'''),且左侧有行号。 | * 演绎过程中的每一个公式称为一'''行'''('''line'''),且左侧有行号。 | ||
* 每条竖线代表一个'''子证明'''('''subordinate proof''') | * 每条竖线代表一个'''子证明'''('''subordinate proof''')。除最外层外,竖线的右侧总是伸出一条横线。这条横线上方仅有一行,是当前子证明的假设。极端情况下,子证明可以只有一行假设没有其他行(一般仅用于得到 <math>\phi\rightarrow\phi</math> )。 | ||
** 最外层证明若有横线,上方为整个演绎过程中的前提,可能有多行;若为无前提证明,则不需要绘制横线。 | |||
* 每行右侧有这一行使用的变形规则及其依赖行号,或仅指出这是一个假设而非变形结果。 | * 每行右侧有这一行使用的变形规则及其依赖行号,或仅指出这是一个假设而非变形结果。 | ||
| 第63行: | 第64行: | ||
* 每行都是形式语言中的一个公式。 | * 每行都是形式语言中的一个公式。 | ||
* | * 每个行或者是假设,或者依赖一个或多个其他行。 | ||
* 证明中的每行都在这一行所依赖的前提下为真。其中所依赖的前提指所依赖的行中是前提的那些,而所依赖的行指这行所在的子证明及其右侧给出的依赖行号,及其间接再依赖的行号。如上例中第 6 行的 <math>q</math> 的依赖为 4,5 而 4 是一个 hyp , 5 依赖 3 、 3 依赖 1 、 1 是一个 hyp ,因此所依赖的前提是第 1 行和第 4 行,即 <math>q</math> 在条件 <math>p\rightarrow q, p</math> 下成立。 | * 证明中的每行都在这一行所依赖的前提下为真。其中所依赖的前提指所依赖的行中是前提的那些,而所依赖的行指这行所在的子证明及其右侧给出的依赖行号,及其间接再依赖的行号。如上例中第 6 行的 <math>q</math> 的依赖为 4,5 而 4 是一个 hyp , 5 依赖 3 、 3 依赖 1 、 1 是一个 hyp ,因此所依赖的前提是第 1 行和第 4 行,即 <math>q</math> 在条件 <math>p\rightarrow q, p</math> 下成立。 | ||
| 第84行: | 第85行: | ||
== 变形规则 == | == 变形规则 == | ||
Fitch | Fitch 式自然演绎中有几个通用的操作: | ||
* | * 进行一个公式假设,并开始一个子证明。最外层的前提允许有多个,内层的子证明都只能有一个假设。不同材料中可能记为 hyp/hypothesis 或 ass/assumption 或不写右侧。有的材料中前提的右侧可能改为写 premise 。 | ||
* | * 重复:可以重复当前上一层证明(仅一层)中在当前子证明开始前的任意一行。记为 r/reit/reiteration 并依赖被重复行。 | ||
* 应用某种规则,从当前子证明中的几个公式得到新的公式。如果需要外层的公式,需要逐层使用重复规则,如上述例子中的 3、5 行将第 1 行的假设一路复制到最内层。 | * 应用某种规则,从当前子证明中的几个公式得到新的公式。如果需要外层的公式,需要逐层使用重复规则,如上述例子中的 3、5 行将第 1 行的假设一路复制到最内层。 | ||
| 第93行: | 第94行: | ||
关于命题逻辑的 Fitch 式自然演绎系统,可能包括以下规则。其中 <math>\phi,\psi,\chi</math> 可以代入为任意公式。 | 关于命题逻辑的 Fitch 式自然演绎系统,可能包括以下规则。其中 <math>\phi,\psi,\chi</math> 可以代入为任意公式。 | ||
* 否定引入('''<math>\lnot_I</math>''' 或 '''<math>\lnot</math>-int'''):一个假设为 <math>\phi</math> 的子证明中出现了 <math>\psi</math> 和 <math>\lnot\psi</math> ,可结束子证明在上一层证明中得到 <math>\lnot\phi</math> 。 | |||
* 否定消去('''<math>\lnot_E</math>''' 或 '''<math>\lnot</math>-elim''')或双重否定消去('''<math>\lnot\lnot_E</math>''' 或 '''<math>\lnot\lnot</math>-elim'''):从 <math>\lnot\lnot \phi</math> 可推出 <math>\phi</math> 。 | |||
* 合取引入('''<math>\land_I</math>''' 或 '''<math>\land</math>-int'''):从 <math>\phi</math> 和 <math>\psi</math> 可推出 <math>\phi\land\psi</math> 。 | |||
* 合取消去('''<math>\land_E</math>''' 或 '''<math>\land</math>-elim'''):从 <math>\phi\land\psi</math> 可推出 <math>\phi</math> 、从 <math>\phi\land\psi</math> 可推出 <math>\psi</math>。 | |||
* 析取引入('''<math>\lor_I</math>''' 或 '''<math>\lor</math>-int'''):从 <math>\phi</math> 可推出 <math>\phi\lor\psi</math> 、从 <math>\phi</math> 可推出 <math>\psi\lor\phi</math>。 | |||
* 析取消去('''<math>\lor_E</math>''' 或 '''<math>\lor</math>-elim'''):从 <math>\phi\lor\psi</math> 和两个子证明 <math>\phi</math> 推出 <math>\chi</math> 、 <math>\psi</math> 推出 <math>\chi</math> 可推出 <math>\chi</math> 。 | |||
* 双条件引入('''<math>\leftrightarrow_I</math>''' 或 '''<math>\leftrightarrow</math>-int'''):从 <math>\phi\rightarrow\psi</math> 和 <math>\psi\rightarrow\phi</math> 可推出 <math>\phi\leftrightarrow\psi</math> 。也指通过两个子证明从 <math>\phi</math> 推出 <math>\psi</math> 、从 <math>\psi</math> 推出 <math>\phi</math> ,则可在结束两个子证明后在其上一层证明中得到 <math>\phi\leftrightarrow\psi</math> 。 | |||
* 双条件消去('''<math>\leftrightarrow_E</math>''' 或 '''<math>\leftrightarrow</math>-elim'''):从 <math>\phi\leftrightarrow\psi</math> 可推出 <math>\phi\rightarrow\psi</math> 、 从 <math>\phi\leftrightarrow\psi</math> 可推出 <math>\psi\rightarrow\phi</math> 。也指从 <math>\phi\leftrightarrow\psi</math> 和 <math>\phi</math> 可推出 <math>\psi</math> ,从 <math>\phi\leftrightarrow\psi</math> 和 <math>\psi</math> 可推出 <math>\phi</math> 。 | |||
* 条件引入('''<math>\rightarrow_E</math>''' 或 '''<math>\rightarrow</math>-int'''):引入一个由假设开始的子证明,假定 <math>\phi</math> 为真后演绎出 <math>\psi</math> ,可结束子证明在上一层证明中得到 <math>\phi\rightarrow\psi</math> 。 | |||
* 条件消去('''<math>\rightarrow_E</math>''' 或 '''<math>\rightarrow</math>-elim'''):从 <math>\phi\rightarrow\psi</math> 和 <math>\phi</math> 可推出 <math>\psi</math>。 | |||
=== 谓词逻辑 === | === 谓词逻辑 === | ||
关于谓词逻辑的则增加以下规则。其中除要求 <math>\phi,\psi</math> 可以代入为任意公式外,还要求 <math>t</math> 是项且对 <math>x</math> 在 <math>\phi</math> 中[[可自由代入(个体变项)|可自由代入]], <math>a</math> 是个体变项且<math>a</math> 对 <math>x</math> 在 <math>\phi</math> 中[[可自由代入(个体变项)|可自由代入]]。有时也可以直接使用 <math>t=x</math> 或 <math>a=x</math> 进行[[个体变项代入]],但是由于存在混淆,建议避免。 | |||
* 全称量词消去('''<math>\forall_E</math>''','''<math>\forall</math>-elim''','''US'''/'''UI'''):从 <math>\forall x \phi</math> 可推出 <math>\phi[t/x]</math> 。 | |||
* 存在量词引入('''<math>\exists_I</math>''','''<math>\exists</math>-int''','''EG'''):从 <math>\phi[t/x]</math> 可推出 <math>\exists x \phi</math> 。 | |||
* 等词引入('''<math>=_I</math>''','''<math>=</math>-int'''):在任意地方,可以对任意项 <math>t</math> 得到 <math>t=t</math> 。 | |||
* 等词消去('''<math>=_E</math>''','''<math>=</math>-elim'''):从 <math>s=t</math> 或 <math>t=s</math>,以及 <math>\phi[s/x]</math> 可以得到 <math>\phi[t/x]</math> 。 | |||
然后还有两条规则,涉及一个自由变项。这意味着引入一个个体变项,且对这个引入项进行使用范围上的限制。 | |||
除标记规则外,还需要进行“标示”。标示记为 flag ,引入某个中间个体变项,由于这个个体变项会使几个公式不再是闭式,需要在完成当前子证明前从公式中消除掉。 | |||
* 存在量词消去('''<math>\exists_E</math>''','''<math>\exists</math>-elim''','''ES'''/'''EI'''):从 <math>\exists x \phi</math> 可推出 <math>\phi[a/x]</math> 且此步骤将 <math>a</math> 标示。 | |||
* 全称量词引入('''<math>\forall_I</math>''','''<math>\forall</math>-int''','''UG'''):对被标示为任意的 <math>a</math> 演绎出 <math>\phi[a/x]</math> 可推出 <math>\forall x \phi</math> 。 | |||
{{证明论}} | {{证明论}} | ||
2026年1月16日 (五) 15:51的最新版本
| 费奇式自然演绎 | |
|---|---|
| 术语名称 | 费奇式自然演绎 |
| 英语名称 | Fitch's natural deduction |
| 别名 | Fitch's notation |
Fitch 式自然演绎(Fitch's natural deduction)是逻辑领域形式化公理系统中 Gentzen 式系统中自然演绎系统的一种。其中每行都是一个公式,这些公式会标注出其使用的规则以及依赖的公式,以反映公式间的变形关系。 Fitch 式自然演绎的特征是各行之间书写成一个并列、有行号的列表,各行之间的依赖关系通过注明依赖行号表达; Fitch 式自然演绎通过子证明表达假言推理,并且子证明构成层级关系。
说明:有部分材料使用的记号与现代标准记号不同,以下均按照现代记号表示。
描述
以下是 [math]\displaystyle{ p\rightarrow q\rightarrow p }[/math] 的一个证明。[1]
1 | | p hyp | |------- 2 | | | q hyp | | |----- 3 | | | p reit,1 | | 4 | | q→p →I,2,3 | 5 | p→q→p →I,1,4
以下是从 [math]\displaystyle{ p\rightarrow q }[/math] 到 [math]\displaystyle{ \lnot q \rightarrow \lnot p }[/math] 的一个演绎:
1 | p→q hyp |---------- 2 | | ¬q hyp | |-------- 3 | | p→q reit, 1 | | 4 | | | p hyp | | |------ 5 | | | p→q reit, 3 | | | 6 | | | q →E, 4,5 | | | 7 | | | ¬q reit 2 | | 8 | | ¬p ¬I,4,6,7 | 9 | ¬q→¬p →I,2,8
符号及术语说明
- 部分材料中,记号可能有微小差异,请以具体记号为准。
- 演绎过程中的每一个公式称为一行(line),且左侧有行号。
- 每条竖线代表一个子证明(subordinate proof)。除最外层外,竖线的右侧总是伸出一条横线。这条横线上方仅有一行,是当前子证明的假设。极端情况下,子证明可以只有一行假设没有其他行(一般仅用于得到 [math]\displaystyle{ \phi\rightarrow\phi }[/math] )。
- 最外层证明若有横线,上方为整个演绎过程中的前提,可能有多行;若为无前提证明,则不需要绘制横线。
- 每行右侧有这一行使用的变形规则及其依赖行号,或仅指出这是一个假设而非变形结果。
特征
- 每行都是形式语言中的一个公式。
- 每个行或者是假设,或者依赖一个或多个其他行。
- 证明中的每行都在这一行所依赖的前提下为真。其中所依赖的前提指所依赖的行中是前提的那些,而所依赖的行指这行所在的子证明及其右侧给出的依赖行号,及其间接再依赖的行号。如上例中第 6 行的 [math]\displaystyle{ q }[/math] 的依赖为 4,5 而 4 是一个 hyp , 5 依赖 3 、 3 依赖 1 、 1 是一个 hyp ,因此所依赖的前提是第 1 行和第 4 行,即 [math]\displaystyle{ q }[/math] 在条件 [math]\displaystyle{ p\rightarrow q, p }[/math] 下成立。
记号约定
公式描述
Fitch 式自然演绎中使用的形式语言和命题语言、谓词语言的定义相同。
命题描述
一个证明或一个需证明命题通常被写成后继式 [math]\displaystyle{ \Gamma, \Delta, \phi \vdash \psi }[/math] 的形式,其中左侧可以包括前提集合 [math]\displaystyle{ \Gamma,\Delta }[/math] ,也可以包括单个前提 [math]\displaystyle{ \phi }[/math] ,不止一个则通过逗号隔开,右侧是单个结论 [math]\displaystyle{ \psi }[/math] 。
变形规则描述
一个变形规则总是写成形式 [math]\displaystyle{ H_1\quad\cdots\quad H_n\vdash C }[/math] 。其中左侧是前提,可以包括一个至多个公式 [math]\displaystyle{ H_1,\cdots,H_n }[/math] ,若不止一个则多个前提间需用逗号隔开,且多个前提间不要求顺序。右侧是结论,只能有一个公式 [math]\displaystyle{ C }[/math] 。
每个变形规则都有一个名称。基础规则由逻辑联结词的引入、消除规则构成,用逻辑联结词和 I (引入(introduction))或 E (消去 elimination)命名。非基础规则也使用定理名称或缩写。但是不同材料中记号可能有区别,如 [math]\displaystyle{ \land_I }[/math] 可能被记作 [math]\displaystyle{ \land_\mathrm{I} }[/math] 、 [math]\displaystyle{ \land I }[/math] 、 [math]\displaystyle{ \land\mathrm{I} }[/math] ,其他记号也依此类推。
变形规则
Fitch 式自然演绎中有几个通用的操作:
- 进行一个公式假设,并开始一个子证明。最外层的前提允许有多个,内层的子证明都只能有一个假设。不同材料中可能记为 hyp/hypothesis 或 ass/assumption 或不写右侧。有的材料中前提的右侧可能改为写 premise 。
- 重复:可以重复当前上一层证明(仅一层)中在当前子证明开始前的任意一行。记为 r/reit/reiteration 并依赖被重复行。
- 应用某种规则,从当前子证明中的几个公式得到新的公式。如果需要外层的公式,需要逐层使用重复规则,如上述例子中的 3、5 行将第 1 行的假设一路复制到最内层。
命题逻辑
关于命题逻辑的 Fitch 式自然演绎系统,可能包括以下规则。其中 [math]\displaystyle{ \phi,\psi,\chi }[/math] 可以代入为任意公式。
- 否定引入([math]\displaystyle{ \lnot_I }[/math] 或 [math]\displaystyle{ \lnot }[/math]-int):一个假设为 [math]\displaystyle{ \phi }[/math] 的子证明中出现了 [math]\displaystyle{ \psi }[/math] 和 [math]\displaystyle{ \lnot\psi }[/math] ,可结束子证明在上一层证明中得到 [math]\displaystyle{ \lnot\phi }[/math] 。
- 否定消去([math]\displaystyle{ \lnot_E }[/math] 或 [math]\displaystyle{ \lnot }[/math]-elim)或双重否定消去([math]\displaystyle{ \lnot\lnot_E }[/math] 或 [math]\displaystyle{ \lnot\lnot }[/math]-elim):从 [math]\displaystyle{ \lnot\lnot \phi }[/math] 可推出 [math]\displaystyle{ \phi }[/math] 。
- 合取引入([math]\displaystyle{ \land_I }[/math] 或 [math]\displaystyle{ \land }[/math]-int):从 [math]\displaystyle{ \phi }[/math] 和 [math]\displaystyle{ \psi }[/math] 可推出 [math]\displaystyle{ \phi\land\psi }[/math] 。
- 合取消去([math]\displaystyle{ \land_E }[/math] 或 [math]\displaystyle{ \land }[/math]-elim):从 [math]\displaystyle{ \phi\land\psi }[/math] 可推出 [math]\displaystyle{ \phi }[/math] 、从 [math]\displaystyle{ \phi\land\psi }[/math] 可推出 [math]\displaystyle{ \psi }[/math]。
- 析取引入([math]\displaystyle{ \lor_I }[/math] 或 [math]\displaystyle{ \lor }[/math]-int):从 [math]\displaystyle{ \phi }[/math] 可推出 [math]\displaystyle{ \phi\lor\psi }[/math] 、从 [math]\displaystyle{ \phi }[/math] 可推出 [math]\displaystyle{ \psi\lor\phi }[/math]。
- 析取消去([math]\displaystyle{ \lor_E }[/math] 或 [math]\displaystyle{ \lor }[/math]-elim):从 [math]\displaystyle{ \phi\lor\psi }[/math] 和两个子证明 [math]\displaystyle{ \phi }[/math] 推出 [math]\displaystyle{ \chi }[/math] 、 [math]\displaystyle{ \psi }[/math] 推出 [math]\displaystyle{ \chi }[/math] 可推出 [math]\displaystyle{ \chi }[/math] 。
- 双条件引入([math]\displaystyle{ \leftrightarrow_I }[/math] 或 [math]\displaystyle{ \leftrightarrow }[/math]-int):从 [math]\displaystyle{ \phi\rightarrow\psi }[/math] 和 [math]\displaystyle{ \psi\rightarrow\phi }[/math] 可推出 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 。也指通过两个子证明从 [math]\displaystyle{ \phi }[/math] 推出 [math]\displaystyle{ \psi }[/math] 、从 [math]\displaystyle{ \psi }[/math] 推出 [math]\displaystyle{ \phi }[/math] ,则可在结束两个子证明后在其上一层证明中得到 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 。
- 双条件消去([math]\displaystyle{ \leftrightarrow_E }[/math] 或 [math]\displaystyle{ \leftrightarrow }[/math]-elim):从 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 可推出 [math]\displaystyle{ \phi\rightarrow\psi }[/math] 、 从 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 可推出 [math]\displaystyle{ \psi\rightarrow\phi }[/math] 。也指从 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 和 [math]\displaystyle{ \phi }[/math] 可推出 [math]\displaystyle{ \psi }[/math] ,从 [math]\displaystyle{ \phi\leftrightarrow\psi }[/math] 和 [math]\displaystyle{ \psi }[/math] 可推出 [math]\displaystyle{ \phi }[/math] 。
- 条件引入([math]\displaystyle{ \rightarrow_E }[/math] 或 [math]\displaystyle{ \rightarrow }[/math]-int):引入一个由假设开始的子证明,假定 [math]\displaystyle{ \phi }[/math] 为真后演绎出 [math]\displaystyle{ \psi }[/math] ,可结束子证明在上一层证明中得到 [math]\displaystyle{ \phi\rightarrow\psi }[/math] 。
- 条件消去([math]\displaystyle{ \rightarrow_E }[/math] 或 [math]\displaystyle{ \rightarrow }[/math]-elim):从 [math]\displaystyle{ \phi\rightarrow\psi }[/math] 和 [math]\displaystyle{ \phi }[/math] 可推出 [math]\displaystyle{ \psi }[/math]。
谓词逻辑
关于谓词逻辑的则增加以下规则。其中除要求 [math]\displaystyle{ \phi,\psi }[/math] 可以代入为任意公式外,还要求 [math]\displaystyle{ t }[/math] 是项且对 [math]\displaystyle{ x }[/math] 在 [math]\displaystyle{ \phi }[/math] 中可自由代入, [math]\displaystyle{ a }[/math] 是个体变项且[math]\displaystyle{ a }[/math] 对 [math]\displaystyle{ x }[/math] 在 [math]\displaystyle{ \phi }[/math] 中可自由代入。有时也可以直接使用 [math]\displaystyle{ t=x }[/math] 或 [math]\displaystyle{ a=x }[/math] 进行个体变项代入,但是由于存在混淆,建议避免。
- 全称量词消去([math]\displaystyle{ \forall_E }[/math],[math]\displaystyle{ \forall }[/math]-elim,US/UI):从 [math]\displaystyle{ \forall x \phi }[/math] 可推出 [math]\displaystyle{ \phi[t/x] }[/math] 。
- 存在量词引入([math]\displaystyle{ \exists_I }[/math],[math]\displaystyle{ \exists }[/math]-int,EG):从 [math]\displaystyle{ \phi[t/x] }[/math] 可推出 [math]\displaystyle{ \exists x \phi }[/math] 。
- 等词引入([math]\displaystyle{ =_I }[/math],[math]\displaystyle{ = }[/math]-int):在任意地方,可以对任意项 [math]\displaystyle{ t }[/math] 得到 [math]\displaystyle{ t=t }[/math] 。
- 等词消去([math]\displaystyle{ =_E }[/math],[math]\displaystyle{ = }[/math]-elim):从 [math]\displaystyle{ s=t }[/math] 或 [math]\displaystyle{ t=s }[/math],以及 [math]\displaystyle{ \phi[s/x] }[/math] 可以得到 [math]\displaystyle{ \phi[t/x] }[/math] 。
然后还有两条规则,涉及一个自由变项。这意味着引入一个个体变项,且对这个引入项进行使用范围上的限制。 除标记规则外,还需要进行“标示”。标示记为 flag ,引入某个中间个体变项,由于这个个体变项会使几个公式不再是闭式,需要在完成当前子证明前从公式中消除掉。
- 存在量词消去([math]\displaystyle{ \exists_E }[/math],[math]\displaystyle{ \exists }[/math]-elim,ES/EI):从 [math]\displaystyle{ \exists x \phi }[/math] 可推出 [math]\displaystyle{ \phi[a/x] }[/math] 且此步骤将 [math]\displaystyle{ a }[/math] 标示。
- 全称量词引入([math]\displaystyle{ \forall_I }[/math],[math]\displaystyle{ \forall }[/math]-int,UG):对被标示为任意的 [math]\displaystyle{ a }[/math] 演绎出 [math]\displaystyle{ \phi[a/x] }[/math] 可推出 [math]\displaystyle{ \forall x \phi }[/math] 。
| 证明论 | |
|---|---|
| 形式化公理系统(形式化、公理化) | |
| 形式化范式 | 公理系统、自然演绎系统、相继式演算 |
| 证明、演绎 | 证明、可证明、演绎、可演绎 |
| 命题、定理 | 公理、定理、元定理、变形规则 |
| 推理规则性质 | 保存真实性、保存重言性 |
| 公理系统性质 | 可靠性、完全性、一致性、独立性 |
- ↑ 此处右侧注解的假设、重复记号使用徐明《符号逻辑讲义》的版本且进行了简化,部分材料使用的不同。