没有合适的资源?快使用搜索试试~ 我知道了~
可在www.sciencedirect.com在线获取理论计算机科学电子笔记285(2012)71-83www.elsevier.com/locate/entcs叙述形式证明(正在进行中)赫尔曼·格弗斯·詹姆斯·麦金纳Radboud大学荷兰奈梅亨计算与信息科学研究所摘要基于现有的工作,在验证与证明助理的互动,我们以前已经开发了一个证明电影。我们现在已经考虑了如何增强这个电影数据结构以支持形式证明开发的评论的问题。 在这种情况下,我们研究了从Pierce等人的在线文本[11 ]第10段。保留字:教材,证明助理,证明沟通1引言对Proof Assistant(PA)用户界面的大量研究已经转向促进(正式)证明文档的创作然而,在我们看来,将证明文本传达给外部人员,如数学家或学生,并没有得到应有的重视。在以前的工作中[12],我们提出了电影数据结构,其中包含完成的证明脚本和PA对脚本中命令的响应;每个响应都链接到帧中的命令。电影被渲染为网页,当读者悬停在其上时,该网页动态地显示对给定命令的响应,而无需与PA进一步交互在本文中,我们讨论了我们正在进行的工作,丰富的电影数据结构与解释性的叙述,以及我们正在开发的方法和工具,以支持这样的第一个近似是使用Coqdoc(作为Coq发行版的一部分[13])或JavaDoc [10]风格来模拟现有的实践,其中从现有的证明脚本中提取特别然后,这些段落用于显示标记(或1571-0661 © 2012 Elsevier B. V.在CC BY-NC-ND许可下开放访问。doi:10.1016/j.entcs.2012.06.00772C. Tankink等人/理论计算机科学电子笔记285(2012)71原创电影的动态质量,结合文学证明剧本的叙述。我们已经尝试了这种第一种方法,使用Pierce等人的课程笔记。软件基础[11]实现了几乎相同的页面集,但增加了证明过程的动态可视化然而,以这种方式获得的叙述的校样电影仍然是线性的,或者更确切地说,保持与基础电影的原始帧的顺序相同的顺序:叙述是从线性脚本中提取的,并且不能回忆以前的帧或暗示未来的帧。为了改善这种情况,我们在本文中考虑覆盖的广告结构,即一个场景,其中包含一个叙事和一个列表的帧:在一个场景中,没有一个先验的顺序施加在任何叙事或(引用)命令:帧的列表既不需要是连续的,也不需要顺序尊重相对于原始电影。我们目前正在试验场景覆盖的原型实现我们已经研究了这些想法在编写教材的具体设置用于教学与PA,例如皮尔斯等人的课程笔记前面提到的。在课程笔记的设置中,我们简要地概述了如何将可编辑的练习环境添加到证明文档中。2背景我们简要回顾我们的'证明电影'设置。更多详情请参见我们最近的论文[12]。我们考虑了PA的各种用例,识别(并区分)生产者或作者角色,以及消费者或读者角色。作者为PA生成一个完成的命令脚本,然后由摄像机处理以生成电影,这是一种以XML文档实现的数据结构,其中包含帧的线性列表。在其最基本的形式中,帧将发送 到 PA 的 命 令 和 PA 对 该 命 令 的 响 应 联 系 在 一 起 。 电 影 的 渲 染 引 擎 被 称 为proviola:当读者在校对脚本的文本上来回导航对于脚本的重新检查,这是一个简单的擦除过程,以从电影中恢复实际命令,以便重新提交给PA。2.1场景在本文中,我们考虑以下情况:作者希望将脚本传达给读者,读者可能没有使用PA的经验,并且绝对不是使用该系统的专家。这种对读者专业知识的限制意味着要解释脚本,它应该嵌入到至少满足以下属性之一的文档中:• 它丰富了高层次的叙述,解释了为什么某些决定(在设计,表示,战术调用,等等。)被采取和他们的结果是什么;• 在基于策略的语言的情况下,可以将证明脚本重新提交给C. Tankink等人/理论计算机科学电子笔记285(2012)7173PA,以便读者可以评估每种策略对证明状态的影响;或• 证明语言,其中的文件是书面密切模仿白话的非正式数学。在本文中,我们进一步考虑作者、读者和PA的具体实例:作者作者正在写一本供计算机科学课程使用的教材。这本书不一定要教PA的使用,但可以提出一个由PA验证的计算机科学的正式模型。读者读者成为教材的主要消费者:一个正在学习课程的学生。我们假设学生以前没有写教材的个人助理的经验。PA对于具体的例子和工具,我们专注于Coq系统及其相关的工具集[13]:这种选择是由我们的本地专业知识和存在的动机。 至少两本以Coq脚本形式编写的课程手册。 这些书 是Pierce等人的尽管有这种选择,我们相信,这里说明的技术也适用于其他PA,特别是基于战术的。选择一本教科书作为具体的证明文件,可以让我们对这样一个文件的内容• 本文件的非正式内容按章、节、小节和段落编排。• 文件的正式内容是文件的基础“脊柱”,从属于书的总叙述。在某些时候,命令可能会被带到前台进行解释或作为示例或练习,但解释它的文本与证明脚本一样重要• 为了提高学生的理解力,教材中有练习。我们假设这些练习由证明或定义组成,其中有漏洞,由读者填写作为Coq脚本创建的教科书通常以两种不同的形式存在(i) 文档的渲染版本,其中叙述与正式内容一起显示。渲染是为了加强读者(ii) 脚本本身,加载到PA的接口中,如CoqIDE或ProofGen [1]。这提供了文档的交互式视图,允许学生逐步了解策略并查看其效果,以及在练习中填补漏洞。界面中显示的版本没有呈现版本的标记。这两种显示模式对应于帮助读者理解证明文档的前两种方式:使用高级叙述描述证明,并通过将其加载到PA中并步进来动态地查看证明脚本。74C. Tankink等人/理论计算机科学电子笔记285(2012)71通过战术。在文档的渲染和脚本之间切换需要读者在渲染器和PA之间切换上下文:据我们所知,PA的接口实际上没有以良好的方式渲染证明文档的文档,并且呈现不结合基于读者焦点的PA输出。tmEgg工具[5]就是一种尝试,但它要求使用TE Xmacs编辑器编写和查看此外,安装和配置PA需要阅读器的一部分,我们通过以证明电影的形式集成脚本和输出来减轻这个我们最初的电影设计只包含纯文本,没有任何渲染。为加强电影的放映效果,我们考虑以印刷精美的版本取代剧本的实际内容。在Coq的情况下,我们没有编写自己的漂亮打印机,而是使用Coqdoc工具。2.2添加叙述:Coqdoc和其他要为证明脚本创建打印精美的文档,大致有两类:要么可以使用特定的语法在证明脚本中编写文档(通常作为注释),要么可以编写一个更高级别的文档,从中可以提取脚本和文档。后一种方法也被称为文字证明,允许作者同时编写文档和证明。Coqdoc是第一种方法的Coq版本。与CoqPA一起分发,该工具提供了一个呈现的(HTML或LATEX)脚本版本。这个呈现的文档包含命令的精美打印版本,以及从证明脚本中提取的特殊注释。这些评论被作为叙述,并作为文件提供为了提供对文档外观的一些控制,提供了一种用于标记叙述的轻型(类似维基百科)语法。作为第二种方法的一个例子,Aspinall、Lüth和Wo ll l[2]基于文字证明对他们的PG工具包体系结构进行了扩展。扩展是围绕一个中心文档设计的,可以由作者和工具操作。示例工具是PA,采取策略并插入证明状态,或LATEX相关工具,从叙述中创建PDF。为了在叙述中插入PA数据,作者可以使用命令来插入用于证明状态的占位符,稍后由实际PA输出替换这两种方法都可以生成HTML页面,但页面是脚本的静态呈现,只包含漂亮的打印以支持交流和教学。在下一节中,我们将研究如何通过添加电影胶片来使Coqdoc生成的页面更加动态当一个新的作者想要叙述一个“只读”的脚本时,这两种方法都会出现另一个有趣的问题C. Tankink等人/理论计算机科学电子笔记285(2012)71752.3课程笔记我们已经决定专注于使用PA的教育教材,作为一个具体的例子,我们将查看Pierce等人在宾夕法尼亚大学教授的软件基础课程的课程笔记。顾名思义,这门课程不是关于证明助手的-尽管在课程中介绍了Coq,而是关于软件的数学基础和程序的语义。这本教材完全是用一套Coq脚本编写的,叙述部分是Coqdoc注释。除了在单独的文件中进行结构化之外,每一章一个,文本还在章节和小节中进行结构化,在适当的位置给出Coqdoc标题。 这使我们可以看到一个章节的嵌套如下:(i) 在最高层次上,我们发现一个分离的部分。每个部分可以包含零个或多个子部分。(ii) 在文档树的最深层,子部分以段落作为叶子。这些叶子可以是对PA的命令或叙述中的段落。(iii) 证明脚本在文本结构之外形成了一种特殊的结构,即PA可解释的顺序命令集Chlipala还写了一本关于依赖类型编程的教程[4],但我们在这里并不关注它,除了观察到他将PA输出作为叙述的一部分之外,还加强了我们的信念,即执行电影和渲染的交织3通过评论我们现在展示如何将表示证明脚本的命令结构的电影覆盖在表示文档的叙事结构的Coqdoc渲染文档之上这是对原始(纯文本)电影数据结构的增强:通过包含呈现的内容,电影变得更像是一个文档,而不仅仅是一个证明脚本。另一方面,它也是对Coqdoc呈现的文本的改进:而不是由这个工具生成的静态页面,读者可以请求策略的结果,以更好地理解为什么选择策略或它的用途是什么由Coqdoc提供的电影的“漂亮”渲染可以很容易地集成到电影中。 为此,我们创建了一个工具, 并将它们提供给Coqdoc,Coqdoc随后输出一个HTML树,其中包含有关命令意图的更多信息。特别地,树可以具有以下类型的节点:• 文件节点,进一步结构化:· 节标题,对于不同的节级别,· 叙述性段落,其中载有评注的案文。76C. Tankink等人/理论计算机科学电子笔记285(2012)71图1. 电影截图• 代码节点。 这些节点包含脚本的策略。Coqdoc生成的节点作为附加数据添加到框架中,可用于多种用途,特别是用于漂亮地显示段落。3.1渲染增强的影片我们不显示电影的纯文本,而是显示Coqdoc创建的渲染文本。这类似于CoqdocHTML页面的正常显示,不同之处在于将光标放在代码片段上会动态显示对当前焦点命令的响应由于它的动态特性,查看结果的最佳方式是通过网络,因此我们在http://mws 上 提 供 了 一 个 动 态 显 示 这 些 课 程 笔 记 的 网 页 。cs.ru.nl/proviola/movies/coqdoc。尽 管 为了演示动态特性而在这里包含静态屏幕截图有明显的局限性,将光标放在策略上的效果:策略以灰色突出显示,执行策略的结果显示在文档内代码的右侧。如果光标移动到另一个策略,则将显示该策略在证明状态上的结果。C. Tankink等人/理论计算机科学电子笔记285(2012)7177图2.一个场景在电影上形成一个梳状结构3.2场景从脚本中提取的叙述与为教科书编写的正常文本相比有一个主要缺点当解释一段较大的代码时,这可能不会成功,而是需要回忆以前的定义或引理。作为刚性结构的替代方案,我们计划在电影中引入场景。与普通文本中的章节一样,场景是一个解释单元,包含描述证明的一部分的文本以及证明的相关参考部分。也就是说,场景具有以下元素:• 叙述性文本,并在适当情况下作出标记;以及• 参考框架。这些引用包含在文本中,并在“观看”电影时显示相应的帧通过这种设计,场景形成了一个“梳子”,只包括电影的特定帧(梳子的“牙齿”),并在连续的文本中叙述它们(“梳子”)。图2说明了这一想法。我们发现作者创作一个场景需要完成两项任务:(i) 选择场景描述的帧(创建梳子的齿(ii) 编写文本,包括对选定场景的引用(将牙齿与手柄连接)。当作者编写文本时,她应该只查看她所选择的框架,然后可以在文本中插入对该提取列表中条目的引用要从帧列表中添加或删除条目,作者应能够随时切换回选择任务。根据Coqdoc输出,可以自动将电影结构化为场景我们已经提到Coqdoc将节点分为代码和文档节点,文档节点可以是段落或节头。因此,要从Coqdoc注释的脚本创建场景,我们只需要使用场景和子场景来模拟文档结构。脚本中的每个文档节点都创建一个场景,该场景引用的帧是该场景之外的代码。我们还没有实现这个设计,但预计不会出现任何问题。作为第一个原型,我们的工具将相互遵循的代码框架分组为78C. Tankink等人/理论计算机科学电子笔记285(2012)71自己的场景。作为未来的增强,我们希望将引理或定理的证明分组到单个场景中,但这需要查看命令节点的内容,而不仅仅是HTML树的结构4为证明添加注释我们相信场景对于在证明脚本写好之后写评论特别有用。为此,剧本首先应该变成一部电影,然后进一步编辑:选择框架并在叙述中描述它们,以及将场景串在一起成为评论轨道。我们仍在尝试编写评论音轨的界面,但基于场景结构和初始原型,我们观察到该界面应提供以下活动:• 写一个场景的文本;• 选择出现在场景中的帧;• 将参考添加到所选框架;以及• 把这些场景串成一个故事。编写实际的文本可以在WYSIWYG编辑器中完成,也可以使用一些轻型标记语言(如Wikipedia和Coqdoc中使用的),并且不应该引入新的HCI问题。我们做的第一个设计决策是如何让作者将文本分组到场景中。由于所得到的文档结构是树,因此树编辑器可以用于向文档添加或移除或重新排序场景,以及选择场景以进行进一步编辑。这种方法的主要优点是结构一目了然,并且易于编辑另一方面,当作者插入标题时推断电影这两种方法可以结合起来,从编辑器中键入的命令推断文档结构,并明确允许作者在结构编辑器中插入场景或移动场景,这些操作在编辑器中被翻译为文本的修改。选择要出现在场景中的帧可以通过简单地切换它们来完成:作者看到一部电影,她可以点击她想要出现在场景中的帧我们已经尝试了一个界面,它有一个树编辑器用于向电影中添加场景(只有一个层次),还有一个富文本编辑器用于编写每个场景的叙述 为了将此文本与命令代码链接,第三个窗格为作者提供了电影命令和响应的视图,并允许她通过单击所需的帧来切换帧包含。图3中显示了一个屏幕截图;可以在www.example.com上进行实验http://mws.cs.ru.nl:8080/proofcomment。这个接口的实现仍然迫使用户在一个相当有限的C. Tankink等人/理论计算机科学电子笔记285(2012)7179图3.评论工具截图工作流程:她首先需要添加一个场景,然后在输入和选择要包含的代码之间交替。原型还没有为作者提供参考所选框架的方法。具体如何支持这一点仍在进行中。5展望:使电影具有互动性我们已经在Coqdoc文档中添加了动态内容,但这并不能使一个真正交互的证明文档:读者在看电影时不能改变底层的证明脚本,例如,尝试另一种方法,给出的证明在课程笔记的背景下,一个更重要的例子是做练习:当用PA教学时,这包括让学生给出缺失的定义或完成某些证明。向学生提供带有必要定义的原始证明脚本是进行练习的一种方式,但之后他需要切换到PA来实际做练习,而不是停留在浏览器的环境中。 相反地, 我们建议在电影的叙事上加入互动元素。这些交互式元素是具有编辑框和到(远程)PA的连接的场景该PA可以解释读者在编辑框中键入的内容,并以校样状态的形式将反馈插入到电影中对于课程笔记,只有电影的特定部分允许由80C. Tankink等人/理论计算机科学电子笔记285(2012)71读者,这些部分需要由电影的作者指出。然而,当一部电影是完全可编辑的,它将不再需要从脚本生成一部电影;相反,作者可以在她的浏览器中编写一个证明文档,底层机器计算证明状态并在后台渲染电影。5.1编写可编辑场景可编辑场景是包含一些代码帧的场景,这些代码帧将在影片发布后由读者进行编辑。添加此类功能需要:• 作者的界面选项,通过该选项,她可以标记哪些场景可以稍后编辑,哪些应该保持锁定,以及• PA处理读者在练习场景中键入的命令。校对电影的作者决定哪些场景是可编辑的,哪些场景是锁定的:这可以在她准备电影时 通过设置 场景的 属性来 完成如何 设置属 性取决 于所选的 编辑器 样式:WYSIWYG编辑器可能提供该样式作为上下文菜单中的一个选项,而标记语言可以允许一些用于设置场景属性的5.2与可编辑场景一旦我们在电影的数据结构中集成了可编辑场景的概念第一步是向学生表明场景是可编辑的,例如在场景旁边提供一个编辑按钮,并包括一个PA支持的编辑器来完成练习。我们还没有设计出这样的编辑器,但是我们希望它是非常轻量级的:阅读文档的工作流程不应该因为做练习而受到太多的干扰。正因为如此,我们不希望学生切换到另一页填写练习。这意味着我们希望以下用例由编辑器填充(i) 学生点击(ii) 电影(iii) 编辑器显示给学生,包括PA(iv) 在编辑器中,学生输入命令,更新PA(v) 如果学生解决了这个问题,它会被存储,如果他放弃了,这个问题就会被放弃。为了实现与PA的通信,我们将使用在奈梅亨开发的ProofWeb系统[7]ProofWeb是一个客户端-服务器架构,用于在Web上进行在服务器端,安装了可以通信的C. Tankink等人/理论计算机科学电子笔记285(2012)7181通过一个JavaScript客户端。代替提供的UI,我们可以构建自己的轻量级编辑器,并将其连接到ProofWeb服务器。主要的开放问题是有效地处理PA状态:在显示编辑器之前,需要进行相当多的计算才能使PA进入正确的状态。如何处理这种计算仍然是一个悬而未决的问题,但我们有一些关于如何解决它的想法:• 在向学生展示文档的那一刻,也将其作为后台进程提供给PA,在第一次练习时停止。这是一个简单的解决方案,但可能很容易实现,它没有考虑跳过或放弃的练习• 为了处理学生跳过一个练习,我们可以为每个练习默认插入一个Admitted命令。一旦学生解决了它,我们就取消录取。这将适用于Coq,但并非所有PA都支持类似Admitted的结构,因此该解决方案无法轻松地适用于我们可能希望调整技术的其他PA。除此之外,计算到重点练习可能会变得太慢,因为学生可能会从最后一个练习开始,需要将整个章节发送到PA才能开始练习。• 我们可以更聪明地处理相互证明的依赖关系:大多数PA将脚本解释为线性序列,每个命令都依赖于前面的所有命令。然而,情况并非总是如此,特别是对于练习,证明结构类似于树,练习是叶子,取决于上面的解释内容。我们可以通过只检查指向叶子的路径而不是所有子树来利用这种结构。要真正做到这一点,要么PA需要对证明结构更加宽容,要么外部工具可以只向PA提交到达所选叶子所需的命令。• 最后,我们观察到,当学生开始练习时,大部分证明不会改变:作为解释一部分的证明脚本被作者锁定,并且不需要在每次尝试练习时重新检查。因此,我们可以从练习开始“恢复”证明会话。HOL系列PA支持这种行为,但我们还没有关注这些系统。一旦我们有了检查证明文本的机制,我们就可以进一步研究如何使用PA来支持(无监督)电子学习:通过检查解决方案的6相关工作在这篇论文之前,我们创建了一个动态版本的软件基础课程笔记[11]。我们已经将我们的技术应用于为Geuvers在Eindhoven University of Technology教授的PA和类型理论课程创建讲义。我们可以转换的其他文档是Huet等人的Coq教程[6]美国82C. Tankink等人/理论计算机科学电子笔记285(2012)71以及Bertot的教程[3]。有几种方法基于一个中心文档进行正式证明,类似于我们的电影,其中我们已经提到了Aspinall,Lüth和Wo ll l的PG kit方法[2],以及Mamane和Geu v ers的T E Xmacs的tmEggex perime ntald o cume nt-orientedC oq插件[5]。Hinze和Léoh[8]所有的文字都是文字的,从这些文字中可以找到Coqco de和LATEX。文件可以提取。Coq发行版中的coq-tex工具类似的东西,在LATEXd ocnt中执行C o q命令,并在LATEXsource文件中返回输出,以便由用户进一步处理。这些方法主要用于一起编写证明和文档,而我们的电影允许作者首先编写证明脚本,然后创建此脚本的动态演示。然后,演示文稿可以用于证明的叙述。Nordstrom建议[9]使用依赖类型理论来以统一的方式加强书籍和文章、特别是,他的概念类型占位符可以用来表示在线课程中的练习7结论我们已经展示了如何使用PA使在线课程变得更加动态:通过将PA的输出添加到文档中,并在学生读这本书。构建这些动态书籍是结合两种技术的结果:我们以前的工作是从证明脚本中创建电影,以及使用Coqdoc等工具向证明文档添加标记和评论。我们进一步概述了如何将注释轨道添加到证明文档,以及如何将交互式元素添加到这些文档。用于创建动态的、非交互式文档的技术已经被应用到“软件基础”课程的课程笔记中,并且已经被这些笔记的作者以极大的热情接受。这表明,我们使用所描述的工具创建的文档为Coqdoc输出增加了价值,并为改进工作流程和输出提供了动力确认我们感谢本杰明·皮尔斯和他的同事们提供了大量的课程笔记,并鼓励我们进行实验。我们要感谢匿名的审稿人,他们的问题和建议有助于改进本文。本研究部分由NWO 项 目 “MathWiki : 基 于 Web 的 正 式 证 明 协 作 创 作 环 境 ” , NWOBRICKS/FOCUS项目“ARPA:推进证明助手的实际使用”和NWO集群D iamant资助C. Tankink等人/理论计算机科学电子笔记285(2012)7183引用[1] 阿 斯 皮 纳 尔 , D. , P.Callaghan , S. Berghouth , P. Courtieu , C. Ra alli 和 M. Wenzel , Proofgeneral,Web page,available at http://proofgeneral.inf.ed.ac.uk/main.[2] Aspinall , D. , C.Lu 和 B.Wolf , Assist edp roofd ojournalwriting , in : Mathematic alKnowledgeManagement MKM 2005,LNAI 3863(2006),pp. 65比80[3] Bertot,Y., Coq in a hurry,Notes,可在http://cel.archives-ouvertes.fr/inria-00001173上获得(2010年)。[4] Chlipala,A.,Certified programming with dependent types,Draft textbook,online at http://adam. chlipala.net/cpdt/(2010年)。[5] Geuvers,H.和L.Mamane,A Document-Oriented Coq Plugin for TeXmacs,in:P.Libbrecht,editor,MathUIworkshop,MKM2006conference,Wokingham,UK,www.example.com~paul/MathUI06/proceedings/CoqTeXMacs.html,2006.http://www.activemath.org/[6] Huet , G. , G. Kahn 和 C.Paulin-Mohring , Coq 证 明 助 手 http://coq.inria.fr/getting-started 。(2007年)。[7] Kaliszyk,C., 网络接口为p ro的助理,在:S。 Autexier和C. Benzmüller,编辑,FLoC定理证明器用户界面研讨会的Procee d i n g s(Procep'06 ) , 西 雅 图 , 理 论 计 算 机 科 学 电 子 笔 记 174[2] , 2007年,第174页。49比61网址http://www4.in.tum.de/www.example.com~kaliszyk/docs/cek_p2.pdf[8] Léoh,A., lhs2T eX,Webpage,a可在http://people.cs.uu.nl/andres/lhs2tex/(2009)获得。[9] Nordstr?om,B.,在Y. Bertot,G. Huet,J.- J. 利维和G. Plotkin,编辑,从语义学到计算机科学:纪念Gilles Kahn的论文,剑桥大学出版社,2008年。265http://www.cs.chalmers.se/ -279,可在www.example.com ~ bengt上获得。[10] Oracle公司,Javadoc工具主页,网页,可在http://java.sun.com/j2se/javadoc/(2010)上获得。[11] 皮尔斯湾C.的方法,C. Casinghino和M. Greenberg,软件基础,课程笔记,在线http://www.cis.upenn.edu/ ~ bcpierce/sf/(2010年)。[12] Tankink , C. , H. Geuvers , J. McKinna 和 F. Wiedijk , Proviola : a tool for proof re-animation ,Accepted for the 9th International Conference on Mathematical Knowledge Management(MKM 2010)(2010),available through http://cs.ru.nl/ www.example.com~carst/files/moviola.pdf.[13] Coq开发团队,Coq证明助手,网页,从http://coq.inria.fr获得2009年10月5日
下载后可阅读完整内容,剩余1页未读,立即下载
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://profile-avatar.csdnimg.cn/default.jpg!1)
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![](https://csdnimg.cn/release/wenkucmsfe/public/img/voice.245cc511.png)
会员权益专享
最新资源
- BSC绩效考核指标汇总 (2).docx
- BSC资料.pdf
- BSC绩效考核指标汇总 (3).pdf
- C5000W常见问题解决方案.docx
- BSC概念 (2).pdf
- ESP8266智能家居.docx
- ESP8266智能家居.pdf
- BSC概念 HR猫猫.docx
- C5000W常见问题解决方案.pdf
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).docx
- BSC概念.docx
- BSC模板:关键绩效指标示例(财务、客户、内部运营、学习成长四个方面).pdf
- BSC概念.pdf
- 各种智能算法的总结汇总.docx
- BSC概念 HR猫猫.pdf
- bsc概念hr猫猫.pdf
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035711.png)
![](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![](https://csdnimg.cn/release/wenkucmsfe/public/img/green-success.6a4acb44.png)