在这篇文章中,我将按顺序做 3 件事: A 介绍问题 B 在教科书中显示这个问题的答案 C 显示我的疑问 A 介绍问题问题是这样的: (1) 制作一个包含一系列 10 个数字和五个字母的列表或元组。 从列表中随机选择 select 四个数字或字母,并打印一条消息,说任何匹配这四个数字或字母的彩 ...
在这篇文章中,我将按顺序做 3 件事: A 介绍问题 B 在教科书中显示这个问题的答案 C 显示我的疑问 A 介绍问题问题是这样的: (1) 制作一个包含一系列 10 个数字和五个字母的列表或元组。 从列表中随机选择 select 四个数字或字母,并打印一条消息,说任何匹配这四个数字或字母的彩 ...
我想创建一个具有以下先决条件的程序:不变: 变体: 程序结构如下: 程序应该如何看起来像用 frama-c 或why3 编写的? 编辑:我通过删除乘法并添加加法来修改您的程序。 通过这样做,我使用了两个循环。 我运行了我的程序,但我收到了警告。 这是程序: 这些是警告: 你能解释一下为什么即使我为内 ...
在 macOS 上安装 Frama-C (23)、Why3 和 Coq 后,我运行了命令 显示了以下消息 这是否意味着我不能将 coq 与 Frama-C 一起使用? 如何指示 opam 编译上述 Why3 库? 问候 ...
我正在尝试使用 Frama-c 测试一个函数: 安装所有要求后:OPAM、why3、alt-ergo 每当我执行frama-c -wp fct.c我收到: ...
我想用 lambda 验证一个函数。 例如: 但是,这会产生错误: 文件“map_reduce.mlw”,第 25 行,第 4-7 个字符:此应用程序使用可变类型数组 int 实例化纯类型变量 'b 是否可以在 Why3 中使用 lambda 函数? 键入这些 lambda 函数的正确 ...
使用最新版本的Why3(1.0.0),当我尝试执行以下操作时: 我收到以下格式的错误:文件“ ../something.why”,第x行,字符yz:未绑定符号'add_one'。 难道我做错了什么? 我所见过的大多数WhyML代码示例实际上仅使用内置/标准库函数,但会调用同一文件中定 ...
我下载了Why3 tarball,并使用了Why的API文档中给出的make和make install-lib 。 但是当我open Why3 ,ocamlc和utop仍然抱怨unbound module Why3 。 有人可以帮我如何使用OCaml代码中的Whye API吗? 我 ...
在其他ML变体(例如SML)中,可以执行以下操作: 但是,使用Why3ML match声明执行类似的操作会引发语法错误: 如何在元组中正确进行基于值的模式匹配? ...
在why3我有以下引理: 这似乎是基本情况下的行为,但显然不是。 有什么想法为什么不起作用? 更新 我能够将问题简化为一个缺失的引理: 鉴于文档中指定的array_eq_sub的定义,这似乎也很简单。 为什么我的证明人找不到解决方案? ...
我使用frama-C WP,并且想要调试我的ACSL注释(以了解为什么证明者说我“不知道”)。 我得到一些绿色或橙色的结果。 我打开why3 IDE并查看生成的脚本。 然后,我从列表中选择一个理论/目标并能够启动Alt-Ergo或Coq IDE。 我想在Coq IDE中使用生成的代码。 ...
我的配置文件包括不同证明的替代条目。 当我用那个证明者执行why3证明时,why3的输出是一条消息,通知我在配置文件中有给定名称的多个证明者(这些证明者的列表)。 如果可能的话,我想知道如何在证明者的特定选择上调用why3。 ...
我正在Simulink模型的Why3规范中尝试使用32位整数,并且我发现mach.int库 (即至少在一个地方被描述为标准库的一部分)。 但是,当我尝试将其与以下导入命令一起使用时: 我收到消息: 这是我的第一个带有“。”的库。 因此,我不确定我的语法是否错误,或者该库实际上 ...
我正在按照他们的教程进行why3的实验,但是我收到消息Unknown logical symbol map.Map.const用于多种证明。 以下是我要证明的理论内容: 以下是各种证明的结果: z3: cvc4: pvs: 这是我的why3版本信息: ...
如何将 Jessie 外部插件(为什么是 2.36)与 Frama-c Aluminium 集成? ...
这听起来像一个愚蠢的问题,但我很困惑。 我正在尝试使用Frama-C Sodium和Why3 0.86.1(均通过OPAM安装)来证明一些简单的属性。 考虑以下程序( toy.c ): 我想使用Frama-C GUI和Why3证明这一断言。 因此,我运行frama-c-gui to ...
是否可以对ACSL中定义的归纳谓词使用归纳法? 考虑一下ACSL手册中的以下示例: 我试图证明以下引理: Alt-Ergo在这里失败,因此我求助于手动Coq推理: 但是当我Search P_reachable ,我发现仅生成了两个公理: 并且没有归纳原理。 ...
假设我们有以下带注释的C代码: Z3和Alt-ergo都无法证明final_a和post条件是否有效; Z3也不能证明循环不变; Alt-Ergo的输出: Z3的输出: 什么东西少了? ...
美好的一天,自动演绎和验证黑客! 为了更深入地了解WhyML如何为带有ACSL注释的C程序提供准确的证明,我试图手动“复制” Why3对WhyML程序所做的工作,同时将它转换为SMT逻辑并将其馈入Z3证明者。 假设我们有以下C片段: 我正在尝试将其编码为SMT逻辑,如下所示: ...
我正在尝试使用Why3的Z3后端,以便检索可以用于派生表现出程序错误的测试用例的模型。 然而,Z3版本4.3.2似乎无法回答sat任何Why3目标。 看起来Why3所使用的一些公理定义使Z3感到困惑。 例如,以下示例(这是Why3生成的内容的一小部分) 使用以下命令行导致timeo ...
我已经安装了 frama-c 和 why3,但是当我尝试启动 frama-c 时,jessie3 出现错误。 我还没有找到任何关于 camlGzip 的信息,所以它可能是任何配置文件中的错误(它可以是 camlzip),但我还没有找到它的声明位置。 编辑:我尝试在 Jessie3.cmxs 中 ...