Skip to content
源码预览 · 非发行版 · 1.0.0-rc.1

leanified/CoreReader/Choice.lean

返回主张速览 · 声明与证明

哲学 0.2.1 · 已考虑的 Core 0.1.2。阅读视图来自本仓库公开的目标清单、读者稿和 Lean 文件;页面布局不改变其中的判定。

展开 Lean 与逐行解读 · 228 行
Lean逐行解读
L1import CoreReader.Evidence

导入 CoreReader.Evidence,使其已检查声明可供本模块使用;这一行不提出新的哲学结论。

L3namespace CoreReader.Choice

打开命名空间 CoreReader.Choice,使后续声明获得这一模块限定名。

L4open CoreReader.Logic CoreReader.Evidence

允许不加限定使用 CoreReader.Logic CoreReader.Evidence 中的名称;这改变名称解析,不增加假设。

L6inductive StatusKind | name | convention | standing

声明可选构造 StatusKind。定义名称、惯用性和既有地位三类身份理由标签。

L7  deriving DecidableEq, Repr

为这些有限构造子派生可判定相等与可打印表示;它们是计算便利,不是选择判据。

L9inductive MethodReason | output | explanation | applicability | simplicity | procedure

声明可选构造 MethodReason。定义输出、解释、适用性、简洁性和流程五类方法理由。

L10  deriving DecidableEq, Repr

为这些有限构造子派生可判定相等与可打印表示;它们是计算便利,不是选择判据。

L12inductive Reason | status (kind : StatusKind) | method (kind : MethodReason)

声明可选构造 Reason。将身份理由与方法理由区分为不同构造器。

L13  deriving DecidableEq, Repr

为这些有限构造子派生可判定相等与可打印表示;它们是计算便利,不是选择判据。

L15/- An implementation has observable behavior, a stated domain, an explanation formula and an execution trace. -/

说明 Implementation 的预定范围。对应声明涉及:分别保存名称和状态标记、输出、成本、域、解释函数与轨迹。 该注释用于解释,不是证明前提。

L16structure Implementation where

声明数据接口 Implementation。分别保存名称和状态标记、输出、成本、域、解释函数与轨迹。

L17  name : String

保存实现的描述性名称,不赋予优先权。

L18  conventional : Bool

以布尔地位事实记录实现是否惯常。

L19  established : Bool

记录实现是否已经确立,与真实行为独立。

L20  run : Nat → Nat

保存真实自然数输入与输出函数。

L21  cost : Nat

保存将按应用预算检查的成本。

L22  domain : Nat → Prop

以输入上的谓词保存实现所述适用域。

L23  explanation : Nat → Nat

保存将与真实运行结果比较的解释输出内容。

L24  trace : Nat → List Nat

保存按输入索引的执行轨迹,其最后元素可与真实输出比较。

L26/- An application selects relevant objectives and constraints; no universal ranking or score is prescribed. -/

说明 Requirements 的预定范围。对应声明涉及:保存输入域、期望输出、预算及重视的方法理由类别。 该注释用于解释,不是证明前提。

L27structure Requirements where

声明数据接口 Requirements。保存输入域、期望输出、预算及重视的方法理由类别。

L28  inputs : Nat → Prop

规定应用实际要求哪些输入。

L29  expected : Nat → Nat

规定各输入的预期输出。

L30  budget : Nat

规定应用预算约束。

L31  values : MethodReason → Prop

规定该应用重视哪些方法理由类别;这一选择是被采纳的输入。

L33/- These are explicit, content-based interpretations of possible method reasons in this application. -/

说明 MethodContent 的预定范围。对应声明涉及:按方法类别检查实际输出、解释等同、域覆盖、成本或轨迹末项合同。 该注释用于解释,不是证明前提。

L34def MethodContent (req : Requirements) (i : Implementation) : MethodReason → Prop

定义 MethodContent。按方法类别检查实际输出、解释等同、域覆盖、成本或轨迹末项合同。

L35  | .output => ∀ x, req.inputs x → i.run x = req.expected x

输出理由要求该实现真实输出在每个必需输入上等于应用预期输出。

L36  | .explanation => ∀ x, req.inputs x → i.explanation x = i.run x

解释理由要求解释输出在每个必需输入上匹配同一实现真实运行。

L37  | .applicability => ∀ x, req.inputs x → i.domain x

适用性理由要求每个应用必需输入属于该实现的适用域。

L38  | .simplicity => i.cost ≤ req.budget

简单性理由为所选应用真实的成本不超预算条件。

L39  | .procedure => ∀ x, req.inputs x → (i.trace x).getLast? = some (i.run x)

过程理由要求真实轨迹末元素在每个必需输入上等于该实现真实输出。

L41/- The extra choice commitment requires both selected relevance and actual reason content; pure status supplies neither. -/

说明 Relevant 的预定范围。对应声明涉及:身份理由被已采纳规范排除;方法理由必须被重视并满足其对应合同。 该注释用于解释,不是证明前提。

L42def Relevant (req : Requirements) (i : Implementation) : Reason → Prop

定义 Relevant。身份理由被已采纳规范排除;方法理由必须被重视并满足其对应合同。

L43  | .status _ => False

在这一被采纳选择规范下,地位理由被定义为不相关,不依赖其地位子类。

L44  | .method kind => req.values kind ∧ MethodContent req i kind

方法理由必须同时属于这些要求所重视的类别,并满足该类别真实 MethodContent。

L46def Feasible (req : Requirements) (i : Implementation) : Prop :=

定义 Feasible。同时要求指定输入上的输出正确及成本不超预算。

L47  (∀ x, req.inputs x → i.run x = req.expected x) ∧ i.cost ≤ req.budget

可行性要求每个必需输入的真实输出正确,且真实成本不超过应用预算。

L49/- In this application, a relevant reason is eligible only after its stated output and budget requirements hold. -/

说明 JustifiedChoice 的预定范围。对应声明涉及:同时要求输出和预算可行,以及至少一个列出的、被重视且内容成立的方法理由。 该注释用于解释,不是证明前提。

L50def JustifiedChoice (req : Requirements) (i : Implementation) (reasons : List Reason) : Prop :=

定义 JustifiedChoice。同时要求输出和预算可行,以及至少一个列出的、被重视且内容成立的方法理由。

L51  Feasible req i ∧ ∃ reason ∈ reasons, Relevant req i reason

要求可行性及至少一个实际列出的相关理由;仅有相关理由不确立可行性。

L53/- This proves the structural effect of the adopted choice commitment for each of its three status-only cases. -/

说明 statusOnlyFails 的预定范围。对应声明涉及:纯身份理由的相关性定义为假,故任何实现都不能仅凭它获得规范内正当选择。 该注释用于解释,不是证明前提。

L54theorem statusOnlyFails (req : Requirements) (i : Implementation) (k : StatusKind) :

陈述经检查的结果 statusOnlyFails。纯身份理由的相关性定义为假,故任何实现都不能仅凭它获得规范内正当选择。

L55    ¬ JustifiedChoice req i [.status k] := by

对给定任意要求与实现,否定唯一列出理由为地位时的有理由选择。

L56  rintro ⟨_, reason, hr, hv⟩

拆解假定的仅凭地位的有理由选择,提取所列理由及相关性证明;仅有可行性不能提供缺失的相关性。

L57  simp only [List.mem_singleton] at hr

化简单元素成员关系,说明提取的理由恰为给定地位理由。

L58  subst reason

把确定的地位理由代入假定的相关性证明。

L59  exact hv

地位理由的相关性被定义为 False,因此提取出的 hv 已是矛盾。

L61def identityImpl : Implementation where

定义 identityImpl。构造既有惯用恒等实现:成本一、全域、对应解释和单项轨迹。

L62  name := "Existing identity implementation"

命名具体既有恒等实现,不用名称证明质量。

L63  conventional := true

把恒等实现的惯常与既有地位标记为 true;这些事实仍与真实方法理由不同。

L64  established := true

把恒等实现的惯常与既有地位标记为 true;这些事实仍与真实方法理由不同。

L65  run n := n

把真实恒等输出定义为未改变的输入 n。

L66  cost := 1

把恒等实现真实成本设为 1。

L67  domain _ := True

使恒等实现适用域包含全部自然数输入。

L68  explanation n := n

提供等于输入的解释结果,与恒等实现真实输出匹配。

L69  trace n := [n]

以单元素输入作为真实轨迹,其最后元素等于恒等输出。

L71def successorImpl : Implementation where

定义 successorImpl。构造后继实现:成本二、全域、对应解释及两项轨迹。

L72  name := "Successor implementation"

命名替代的后继实现。

L73  conventional := false

在该例中把后继实现标记为既非惯常也非既有;这一地位本身不决定可行性。

L74  established := false

在该例中把后继实现标记为既非惯常也非既有;这一地位本身不决定可行性。

L75  run n := n + 1

把后继实现真实输出定义为 n+1。

L76  cost := 2

把其原始成本设为 2,高于恒等应用预算 1。

L77  domain _ := True

使后继实现适用域也包含每个自然数输入。

L78  explanation n := n + 1

提供其解释结果 n+1,忠实于自身真实输出。

L79  trace n := [n, n + 1]

在轨迹中记录输入及之后的真实后继输出。

L81def changedOutsideZero : Implementation :=

定义 changedOutsideZero。复制恒等实现但令非零输入改为后继,零点仍相同。

L82  { identityImpl with

从 identityImpl 的字段出发,明确覆盖后续组件。

L83    name := "Changed outside zero"

按其在零输入以外的变化命名修改后实现。

L84    conventional := false

把修改后实现的惯常与既有标记改为 false。

L85    established := false

把修改后实现的惯常与既有标记改为 false。

L86    run := fun n => if n = 0 then 0 else n + 1

在输入 0 保持输出 0,其余输入均返回 n+1。

L87    explanation := fun n => if n = 0 then 0 else n + 1

使其解释遵循相同真实分段输出函数。

L88    trace := fun n => [if n = 0 then 0 else n + 1] }

以相同分段结果作为单元素轨迹,完成实现覆盖。

L90def identityRequirements : Requirements where

定义 identityRequirements。要求所有自然数输入保持恒等,预算一,重视全部方法理由。

L91  inputs _ := True

恒等应用要求全部自然数输入。

L92  expected n := n

把期望输出设为未改变的输入。

L93  budget := 1

为应用采纳预算 1。

L94  values _ := True

接纳全部已表示的方法理由类别,仍须检查其真实内容。

L96def objectiveReason : List Reason := [.method .output]

定义 objectiveReason。理由清单只包含输出合同这一方法类别。

L98theorem identityOutputReason : Relevant identityRequirements identityImpl (.method .output) := by

陈述经检查的结果 identityOutputReason。恒等实现直接满足所要求全输入恒等输出且该理由被重视。 后续策略块证明这一显式类型。

L99  exact ⟨trivial, fun _ _ => rfl⟩

这些要求接纳输出理由;identityImpl 在每个允许输入的真实输出与预期输出由自反性相等。

L101theorem identityFeasible : Feasible identityRequirements identityImpl :=

陈述经检查的结果 identityFeasible。证明全输入恒等输出及成本一满足预算一。 给出的证明项使用所示构造见证或先前引理,而不增加公理。

L102  ⟨fun _ _ => rfl, by decide⟩

对恒等实现,每个必需输出均由自反性正确;计算成本 1 不超过预算 1。

L104theorem identityJustified : JustifiedChoice identityRequirements identityImpl objectiveReason :=

陈述经检查的结果 identityJustified。以恒等输出和可行性为基础构造实际选择理由见证。 给出的证明项使用所示构造见证或先前引理,而不增加公理。

L105  ⟨identityFeasible, .method .output, by simp [objectiveReason], identityOutputReason⟩

组合恒等实现可行性与真实输出理由,证明它属于 objectiveReason,并提供基于内容的相关性。

L107/- A conventional existing implementation can be selected for an actual requirement, not for status alone. -/

说明 conventionWithReason 的预定范围。对应声明涉及:既有惯用标记与有效输出理由并存;真正证据来自方法理由而非标记。 该注释用于解释,不是证明前提。

L108theorem conventionWithReason :

陈述经检查的结果 conventionWithReason。既有惯用标记与有效输出理由并存;真正证据来自方法理由而非标记。

L109    identityImpl.conventional = true ∧ identityImpl.established = true ∧

保留恒等实现两个真实地位事实均为 true。

L110    JustifiedChoice identityRequirements identityImpl [.status .convention, .method .output] := by

主张使用惯常与真实输出理由组成的列表可获得有理由选择;相关性来自输出理由。

L111  exact ⟨rfl, rfl, identityFeasible, .method .output, by simp, identityOutputReason⟩

计算惯常与既有地位事实,保留实际可行性,并选取列表中的输出理由及其另行证明的相关性。

L113inductive Candidate | identity | successor

声明可选构造 Candidate。候选域严格只有identity与successor,不含所有实现。

L114  deriving DecidableEq, Repr

为这些有限构造子派生可判定相等与可打印表示;它们是计算便利,不是选择判据。

L116def implementation : Candidate → Implementation

定义 implementation。将两个候选标签映射到其具体函数实现。

L117  | .identity => identityImpl

把恒等候选解释为真实 identityImpl 对象。

L118  | .successor => successorImpl

把后继候选解释为真实 successorImpl 对象。

L120/- Feasibility is decided by the same stated behavior and resource requirement for either candidate. -/

说明 singleFeasible 的预定范围。对应声明涉及:穷尽两个候选,证明恒等是预算一及恒等目标下唯一可行者,并有实际选择理由。 该注释用于解释,不是证明前提。

L121theorem singleFeasible :

陈述经检查的结果 singleFeasible。穷尽两个候选,证明恒等是预算一及恒等目标下唯一可行者,并有实际选择理由。

L122    (∀ candidate, Feasible identityRequirements (implementation candidate) ↔ candidate = .identity) ∧

在明确的双值候选类型中,要求可行性恰对应 identity。

L123    JustifiedChoice identityRequirements identityImpl objectiveReason := by

还保留恒等实现真实的输出理由选择依据。

L124  constructor

分开准确的可行候选刻画与恒等选择已有的理由证明。

L125  · intro candidate

固定明确恒等、后继类型中的任意候选,再检查其可行性等价关系。

L126    cases candidate

穷尽实际双候选类型:identity 或 successor;不涉及未列出的实现。

L127    · simp [Feasible, identityRequirements, implementation, identityImpl]

对 identity 展开真实输出与成本;恒等输出和预算条件均满足。

L128    · simp [Feasible, identityRequirements, implementation, successorImpl]

对 successor 展开同一要求;该候选不能满足恒等输出,其原始成本也超预算。

L129  · exact identityJustified

复用 identityJustified 完成具体候选的有理由选择义务。

L131/- The same observed input can conceal a relevant difference at another input. -/

说明 localNotGlobal 的预定范围。对应声明涉及:两个实现零点相同、一处不同,不能由局部表现推全域等价。 该注释用于解释,不是证明前提。

L132theorem localNotGlobal :

陈述经检查的结果 localNotGlobal。两个实现零点相同、一处不同,不能由局部表现推全域等价。

L133    (∀ x, x = 0 → identityImpl.run x = changedOutsideZero.run x) ∧

只在输入 0 范围下比较真实输出。

L134    identityImpl.run 1 ≠ changedOutsideZero.run 1 := by

另行要求输入 1 处真实输出不同。

L135  constructor

分开输入 0 范围内相等与输入 1 处真实不等两个目标。

L136  · intro x hx; subst x; rfl

代入局部范围假设 x=0;两个实现输出依定义相等。

L137  · decide

计算输入 1 处的实际输出,验证所述不等关系。

L139/- This candidate is cheap enough but misses the required identity output. -/

说明 cheapSuccessor 的预定范围。对应声明涉及:把后继成本降为一,但仍不满足恒等输出目标。 该注释用于解释,不是证明前提。

L140def cheapSuccessor : Implementation := { successorImpl with cost := 1 }

定义 cheapSuccessor。把后继成本降为一,但仍不满足恒等输出目标。

L142theorem eligibleInternalReasonNotSufficient :

陈述经检查的结果 eligibleInternalReasonNotSufficient。廉价后继有相关简洁性理由,却因输出不可行仍不能获得正当选择。

L143    Relevant identityRequirements cheapSuccessor (.method .simplicity) ∧

要求 cheapSuccessor 的成本理由在所选要求下真实相关。

L144    ¬ JustifiedChoice identityRequirements cheapSuccessor [.method .simplicity] := by

仍否定它仅凭该理由获得有理由选择,因为可行性还包括输出正确。

L145  refine ⟨⟨trivial, by change 1 ≤ 1; decide⟩, ?_⟩

证明便宜后继实现具有被接纳的成本理由,成本 1 不超过预算 1,再单独否定有理由选择。

L146  intro h

假定 cheapSuccessor 凭成本理由获得有理由选择,以提取并反驳其必需输出可行性。

L147  have bad := h.1.1 0 trivial

假定有理由选择包含输出可行性;将其应用于输入 0,而后继实现返回 1,不是预期 0。

L148  cases bad

消去所得不可能输出等式;相关成本理由没有修复错误输出。

L150/- Each of the four internal-method reasons is eligible because of its actual selected requirement and content. -/

说明 internalReasons 的预定范围。对应声明涉及:给恒等实现四类有效内部理由,并以廉价后继反驳相关理由自动充分。 该注释用于解释,不是证明前提。

L151theorem internalReasons :

陈述经检查的结果 internalReasons。给恒等实现四类有效内部理由,并以廉价后继反驳相关理由自动充分。

L152    Relevant identityRequirements identityImpl (.method .explanation) ∧

要求同一真实恒等实现具有忠实解释理由。

L153    Relevant identityRequirements identityImpl (.method .applicability) ∧

要求其真实适用性覆盖必需输入。

L154    Relevant identityRequirements identityImpl (.method .simplicity) ∧

要求其真实成本满足所重视的简单性与预算条件。

L155    Relevant identityRequirements identityImpl (.method .procedure) ∧

要求其真实轨迹内容满足所重视的过程条件。

L156    (Relevant identityRequirements cheapSuccessor (.method .simplicity) ∧

纳入另一个便宜后继实例,其中成本理由合格。

L157      ¬ JustifiedChoice identityRequirements cheapSuccessor [.method .simplicity]) := by

该便宜候选仍未满足有理由选择;组合定理从此开始证明。

L158  exact ⟨⟨trivial, fun _ _ => rfl⟩, ⟨trivial, fun _ _ => trivial⟩,

给 identity 提供被接纳且真实忠实的解释与适用性理由,并在每个必需输入检查内容。

L159    ⟨trivial, by change 1 ≤ 1; decide⟩, ⟨trivial, fun _ _ => rfl⟩, eligibleInternalReasonNotSufficient⟩

提供真实预算与轨迹理由,再纳入便宜却错误的实例,说明相关性本身不充分。

L161/- Openness about reasons does not make two actual behaviors identical or reject the existing implementation. -/

说明 openNotEquivalent 的预定范围。对应声明涉及:已有正当选择实例,但恒等与后继在零处仍不同。 该注释用于解释,不是证明前提。

L162theorem openNotEquivalent :

陈述经检查的结果 openNotEquivalent。已有正当选择实例,但恒等与后继在零处仍不同。

L163    JustifiedChoice identityRequirements identityImpl objectiveReason ∧

基于真实输出理由,保留既有恒等实现的有理由选择。

L164    identityImpl.run 0 ≠ successorImpl.run 0 := by

还要求恒等与后继实现在输入 0 产生不同真实输出。

L165  exact ⟨identityJustified, by decide⟩

保留已有恒等选择理由,并计算 identity 与 successor 在 0 处不同的真实输出。

L167/- A priority interpretation chooses one of the same two actual implementations. -/

说明 priorityClaim 的预定范围。对应声明涉及:要求被选候选为identity。 该注释用于解释,不是证明前提。

L168def priorityClaim : Claim Candidate := fun selected => selected = .identity

定义 priorityClaim。要求被选候选为identity。

L170def statusFacts : Theory Candidate := union

定义 statusFacts。理论只包含固定identity的惯用和既有状态事实,与当前选择无关。

L171  (singleton (fun _ => identityImpl.conventional = true))

第一地位前提记录恒等实现真实惯常地位,不依赖候选解释。

L172  (singleton (fun _ => identityImpl.established = true))

第二地位前提记录同一实现真实既有地位。

L174/- Both interpretations have exactly the same true conventional and established status facts. -/

说明 statusFactsModel 的预定范围。对应声明涉及:两个候选都满足这些固定元数据事实。 该注释用于解释,不是证明前提。

L175theorem statusFactsModel (selected : Candidate) : Models statusFacts selected := by

陈述经检查的结果 statusFactsModel。两个候选都满足这些固定元数据事实。 后续策略块证明这一显式类型。

L176  exact (modelsUnion _ _ _).2 ⟨(modelsSingleton _ _).2 rfl, (modelsSingleton _ _).2 rfl⟩

两个地位谓词都针对同一真实恒等实现,且独立于选择哪种候选解释而为真;组合其单元素模型。

L178def priorityArticulation : Articulation Candidate :=

定义 priorityArticulation。把身份事实、对应理由及全范围保存成非空表达。

L179  ⟨["priority", "conventional use", "established status"], statusFacts,

以 statusFacts 为前提理论,表述优先权与真实地位概念。

L180    [fun _ => identityImpl.conventional = true, fun _ => identityImpl.established = true],

把相同真实惯常与既有事实列为所表述理由。

L181    fun _ => True⟩

对该地位优先权表述使用不受限候选范围。

L183/- This procedure reports whether the actual status premises entail that very priority claim over its stated two-candidate scope. -/

说明 AssessmentAccurate 的预定范围。对应声明涉及:报告为真恰好对应身份事实蕴涵优先选择的语义结论。 该注释用于解释,不是证明前提。

L184def AssessmentAccurate (report : Bool) : Prop :=

定义 AssessmentAccurate。报告为真恰好对应身份事实蕴涵优先选择的语义结论。

L185  report = true ↔ Entails statusFacts priorityClaim

以 report=true 与这些地位事实语义蕴含该准确优先权问题之间的等价,定义报告准确性。

L187theorem statusDoesNotEntailPriority : ¬ Entails statusFacts priorityClaim := by

陈述经检查的结果 statusDoesNotEntailPriority。以successor为身份事实的反模型,拒绝推出必须选择identity。 后续策略块证明这一显式类型。

L188  intro h

假定真实地位事实在全部候选解释中蕴含恒等优先权。

L189  have bad := h .successor (statusFactsModel .successor)

将假定的地位到优先权蕴含应用于 successor;它满足全部相同真实地位事实,却不是 identity。

L190  cases bad

不同候选构造子否定在 successor 处推出的优先权等式。

L192theorem statusAssessmentNonEntailment :

陈述经检查的结果 statusAssessmentNonEntailment。保留原事实反模型:身份事实可表达且被准确评估,但不蕴涵恒等优先。

L193    Articulated priorityArticulation ∧ AssessmentAccurate false ∧

要求同一地位优先权评估具有程序表述与正确否定报告。

L194    (∀ selected, Models statusFacts selected) ∧

保留所有候选解释为相同真实地位事实的模型。

L195    priorityClaim .identity ∧ ¬ priorityClaim .successor ∧

优先权谓词在 identity 处成立,在 successor 处失败。

L196    ¬ Entails statusFacts priorityClaim ∧

否定仅由地位事实蕴含该优先权谓词。

L197    ¬ JustifiedChoice identityRequirements identityImpl [.status .standing] := by

还拒绝只以既有地位作为真实理由选择恒等实现。

L198  refine ⟨⟨by simp [priorityArticulation], by simp [priorityArticulation]⟩,

检查 priorityArticulation 具有非空概念与真实地位理由。

L199    ⟨(by intro h; cases h), (fun h => False.elim (statusDoesNotEntailPriority h))⟩,

证明 false 报告准确:它不可能等于 true;任意蕴含假设又与真实 successor 反模型矛盾。

L200    statusFactsModel, rfl, (by intro h; cases h), statusDoesNotEntailPriority,

保留两个候选对相同事实的模型、identity 而非 successor 的优先权,以及已证的蕴含失败。

L201    statusOnlyFails _ _ _⟩

对唯一理由为既有地位的明确恒等选择,复用一般的仅凭地位失败定理。

L203/- An assessment identifies the exact premises and priority question whose entailment it reports. -/

说明 PriorityAssessment 的预定范围。对应声明涉及:独立于选择政策保存实际假设、问题及布尔评估报告。 该注释用于解释,不是证明前提。

L204structure PriorityAssessment where

声明数据接口 PriorityAssessment。独立于选择政策保存实际假设、问题及布尔评估报告。

L205  premises : Theory Candidate

保存该评估实际审查的前提理论。

L206  question : Claim Candidate

保存待评估其蕴含的准确优先权主张。

L207  report : Bool

保存报告的布尔答案,与事实及问题分开。

L208/- Accuracy concerns the actual reported entailment question, independently of a later choice policy. -/

说明 PriorityAssessment.accurate 的预定范围。对应声明涉及:要求报告精确对应同一假设和问题的语义蕴涵结果。 该注释用于解释,不是证明前提。

L209def PriorityAssessment.accurate (assessment : PriorityAssessment) : Prop :=

定义 PriorityAssessment.accurate。要求报告精确对应同一假设和问题的语义蕴涵结果。

L210  assessment.report = true ↔ Entails assessment.premises assessment.question

要求该评估真实报告与其自身前提到自身问题的蕴含准确一致。

L211/- Both policies receive this same correctly negative status-only priority audit. -/

说明 statusPriorityAudit 的预定范围。对应声明涉及:为固定身份事实与优先问题记录不蕴涵报告。 该注释用于解释,不是证明前提。

L212def statusPriorityAudit : PriorityAssessment := ⟨statusFacts, priorityClaim, false⟩

定义 statusPriorityAudit。为固定身份事实与优先问题记录不蕴涵报告。

L213/- Priority reasons are a policy component independent of the assessment's report and objects. -/

说明 ChoicePolicy 的预定范围。对应声明涉及:把所选候选、优先理由和独立储存的评估分开。 该注释用于解释,不是证明前提。

L214structure ChoicePolicy where

声明数据接口 ChoicePolicy。把所选候选、优先理由和独立储存的评估分开。

L215  selected : Candidate

保存该政策实际选择的候选。

L216  priorityReasons : List Reason

独立于评估记录保存该政策真实优先权理由。

L217  assessment : PriorityAssessment

保存政策完成其程序的实际评估。

L218/- This is completion of the specified assessment procedure only, not full compliance with philosophical Grounds. -/

说明 GeneralAssessmentFulfilled 的预定范围。对应声明涉及:要求实际表达非空并保留准确身份审查,不加入额外选择标准。 该注释用于解释,不是证明前提。

L219def GeneralAssessmentFulfilled (policy : ChoicePolicy) : Prop :=

定义 GeneralAssessmentFulfilled。要求实际表达非空并保留准确身份审查,不加入额外选择标准。

L220  Articulated priorityArticulation ∧ policy.assessment = statusPriorityAudit ∧ policy.assessment.accurate

要求非空表述、恰为共享 statusPriorityAudit 及其准确性;这是特定程序履行,不是完整哲学 Grounds。

L221/- The additional choice norm separately tests the reasons actually used to prioritize the selected implementation. -/

说明 AdditionalChoiceNorm 的预定范围。对应声明涉及:把单独的可行性及相关性规范应用到政策所选实现和理由。 该注释用于解释,不是证明前提。

L222def AdditionalChoiceNorm (policy : ChoicePolicy) : Prop :=

定义 AdditionalChoiceNorm。把单独的可行性及相关性规范应用到政策所选实现和理由。

L223  JustifiedChoice identityRequirements (implementation policy.selected) policy.priorityReasons

把 JustifiedChoice 单独应用于政策实际所选实现及真实理由列表。

L224/- This policy retains status alone as its priority reason despite receiving the correctly negative status audit. -/

说明 statusPriorityPolicy 的预定范围。对应声明涉及:政策只凭既有地位选择恒等,同时保留准确的不蕴涵评估。 该注释用于解释,不是证明前提。

L225def statusPriorityPolicy : ChoicePolicy := ⟨.identity, [.status .standing], statusPriorityAudit⟩

定义 statusPriorityPolicy。政策只凭既有地位选择恒等,同时保留准确的不蕴涵评估。

L226/- This policy selects the same implementation using its actual relevant output reason after the same audit. -/

说明 outputPriorityPolicy 的预定范围。对应声明涉及:保留同一选择和评估,把理由改为实际输出理由。 该注释用于解释,不是证明前提。

L227def outputPriorityPolicy : ChoicePolicy := ⟨.identity, objectiveReason, statusPriorityAudit⟩

定义 outputPriorityPolicy。保留同一选择和评估,把理由改为实际输出理由。

L228/- The shared negative result is mathematically accurate for its actual status premises and question. -/

说明 statusPriorityAuditAccurate 的预定范围。对应声明涉及:利用后继反模型证明所记不蕴涵报告准确。 该注释用于解释,不是证明前提。

L229theorem statusPriorityAuditAccurate : statusPriorityAudit.accurate := by

陈述经检查的结果 statusPriorityAuditAccurate。利用后继反模型证明所记不蕴涵报告准确。 后续策略块证明这一显式类型。

L230  constructor

把否定审查的准确性拆为与蕴含等价的两个方向。

L231  · intro h; cases h

审查的实际 false 报告不可能等于 true,因此该方向的前提不可能成立。

L232  · intro h; exact False.elim (statusDoesNotEntailPriority h)

任何所断言的蕴含都与 statusDoesNotEntailPriority 矛盾,从而确立 false 报告准确性的反方向。

L233/- These independently variable policies share facts, selected implementation and completed audit, but differ on the extra choice norm. -/

说明 PolicyIndependenceExample 的预定范围。对应声明涉及:要求同选择同审查而理由不同的两政策,均履行所表示评估责任,只有输出理由政策满足额外规范。 该注释用于解释,不是证明前提。

L234def PolicyIndependenceExample : Prop :=

定义 PolicyIndependenceExample。要求同选择同审查而理由不同的两政策,均履行所表示评估责任,只有输出理由政策满足额外规范。

L235  statusPriorityPolicy.selected = outputPriorityPolicy.selected ∧

固定两个政策所选候选相同。

L236  statusPriorityPolicy.assessment = outputPriorityPolicy.assessment ∧

固定两个政策采用同一实际评估。

L237  statusPriorityPolicy.assessment.premises = statusFacts ∧

把该评估前提绑定到真实共享 statusFacts。

L238  statusPriorityPolicy.assessment.question = priorityClaim ∧

把其问题绑定到同一 priorityClaim。

L239  statusPriorityPolicy.assessment.report = false ∧

把共同报告固定为 false,不允许政策变化改变审查答案。

L240  (∀ selected, Models statusPriorityPolicy.assessment.premises selected) ∧

为每个候选解释保留相同评估前提的模型。

L241  statusPriorityPolicy.priorityReasons ≠ outputPriorityPolicy.priorityReasons ∧

尽管候选与审查相同,仍要求实际优先权理由列表不同。

L242  GeneralAssessmentFulfilled statusPriorityPolicy ∧ GeneralAssessmentFulfilled outputPriorityPolicy ∧

要求两个政策准确完成同一指定评估程序。

L243  ¬ AdditionalChoiceNorm statusPriorityPolicy ∧ AdditionalChoiceNorm outputPriorityPolicy

要求额外选择规范下结果相反:地位失败、输出通过。

L244/- Changing the actual priority reasons changes choice compliance while the accurate audit remains identical. -/

说明 policyIndependenceExample 的预定范围。对应声明涉及:构造两个独立政策对象,结合真实审查准确性、身份理由拒绝和输出理由成立。 该注释用于解释,不是证明前提。

L245theorem policyIndependenceExample : PolicyIndependenceExample := by

陈述经检查的结果 policyIndependenceExample。构造两个独立政策对象,结合真实审查准确性、身份理由拒绝和输出理由成立。 后续策略块证明这一显式类型。

L246  have articulated : Articulated priorityArticulation :=

为两个政策构造同一个关于真实地位优先权问题的非空表述。

L247    ⟨by simp [priorityArticulation], by simp [priorityArticulation]⟩

为两个政策构造同一个关于真实地位优先权问题的非空表述。

L248  refine ⟨rfl,rfl,rfl,rfl,rfl,statusFactsModel,?_,

固定相同所选候选、审查、前提、问题与 false 报告;保留真实事实模型,留下理由列表差异。

L249    ⟨articulated,rfl,statusPriorityAuditAccurate⟩,

证明仅凭地位的政策完成了这一确切、具有表述且报告在数学上准确的审查。

L250    ⟨articulated,rfl,statusPriorityAuditAccurate⟩,?_,?_⟩

给输出政策提供同样已履行的审查,留下两个分别的额外选择规范结果。

L251  · decide

计算仅凭地位与基于输出的优先权理由列表不同,尽管所选候选与审查相同。

L252  · exact statusOnlyFails identityRequirements identityImpl .standing

把 statusOnlyFails 应用于实际地位政策的优先权理由,证明其未满足 AdditionalChoiceNorm。

L253  · exact identityJustified

对输出政策实际相关的输出理由使用 identityJustified,证明其满足 AdditionalChoiceNorm。

L255/- A correctly articulated, completed negative assessment does not enforce the additional selection rule.

说明 generalGroundsNotChoice 的预定范围。对应声明涉及:将事实非蕴涵与独立政策层反例组合,表明所表示一般评估责任不推出额外选择规范。 该注释用于解释,不是证明前提。

L256This is only independence from represented assessment procedures: keeping this unsupported priority would fail general support proportionality too. -/

说明 generalGroundsNotChoice 的预定范围。对应声明涉及:将事实非蕴涵与独立政策层反例组合,表明所表示一般评估责任不推出额外选择规范。 该注释用于解释,不是证明前提。

L257theorem generalGroundsNotChoice :

陈述经检查的结果 generalGroundsNotChoice。将事实非蕴涵与独立政策层反例组合,表明所表示一般评估责任不推出额外选择规范。

L258    (Articulated priorityArticulation ∧ AssessmentAccurate false ∧

将原有具有表述且准确否定的地位评估保留为登记结果的一部分。

L259      (∀ selected, Models statusFacts selected) ∧

保留每个候选都满足的相同真实地位前提。

L260      priorityClaim .identity ∧ ¬ priorityClaim .successor ∧

保留 identity 优先权为真、successor 优先权为假。

L261      ¬ Entails statusFacts priorityClaim ∧

保留已展示的地位到优先权非蕴含。

L262      ¬ JustifiedChoice identityRequirements identityImpl [.status .standing]) ∧

保留仅凭地位的选择失败,再与更强的政策独立变化实例结合。

L263    PolicyIndependenceExample :=

通过 PolicyIndependenceExample 纳入真实政策变化,而不停留于地位非蕴含。

L264  ⟨statusAssessmentNonEntailment, policyIndependenceExample⟩

把保留的地位非蕴含证明与 policyIndependenceExample 组合,使登记定理包含真实独立的优先权理由变化。

L266end CoreReader.Choice

关闭命名空间 CoreReader.Choice;这不增加证明或前提。

Philosophy · methods · grounds / 哲学 · 方法 · 根据