theorem-proving

    -2热度

    1回答

    我在Z3中使用最小化函数很多,我担心一些可伸缩性问题(当我最小化变量的数量增长时)。 “最小化”的底​​层算法是什么?有没有一种通用的方法来加快速度?

    -4热度

    2回答

    我学习理论计算机科学与我遇到这样一个问题: 给出的例子,采用N作为输入和输出(是,否),使得有可以实现这个功能没有Java程序的功能。 我该如何解决这个问题?我不能正确理解这一点,因为我觉得Java程序总是可以从上面给出的语句中完成。

    1热度

    1回答

    我在努力理解为什么下面的每个例子都有效或者不起作用,并且更加抽象地说明诱导如何与战术和Isar进行交互。我在编程工作4.3与最新的伊莎贝尔/ HOL在Windows 10中伊莎贝尔/ HOL(2016年12月)证明(2016-1) 有8例:引理或者是长(包括明确的名称)或简短结构化(使用assumes和shows)或未结构化(使用箭头),并且证明是结构化的(Isar)或非结构化的(战术性的)。 t

    2热度

    1回答

    我被卡在一个目标上。 假设我们有如下定义: Fixpoint iota (n : nat) : list nat := match n with | 0 => [] | S k => iota k ++ [k] end. 我们要证明: Theorem t1 : forall n, In n (iota n) -> False. 到目前为止,我已成功地执行

    1热度

    1回答

    我试图在我的定义的数据类型中的一种证明属性如下应用证明: reverseProof' : (inputBlock : Block iType iSize iInputs) -> (ind : Fin rSize) -> (rInputs : Vect rSize Ty) -> (receiveBlock : Block rType rSize rInput

    2热度

    2回答

    使用精益,计算机证明检查系统。 这些证明的第一个成功,第二个不成功。 variables n m : nat theorem works (h1 : n = m) (h2 : 0 < n) : (0 < m) := eq.subst h1 h2 theorem nowrk (h3 : n = 0) (h4 : 0 < n) : (0 < 0) := eq.subst h3 h4 该

    1热度

    1回答

    我正在努力通过“定理证明在精益中”的chapter 7 – Inductive Types。 我想知道如何编写 依赖非独立产品的定义在更多扩展或“原始”形式。 它看起来像在自动教程中给出的定义推断一些细节: inductive prod1 (α : Type u) (β : Type v) | mk : α → β → prod1 一些实验允许填写详细 inductive prod2 (α : T

    1热度

    1回答

    给定集合包含的证明及其相反,我希望能够证明两个集合是平等的。 例如,我知道如何证明following statement,并its converse: open set universe u variable elem_type : Type u variable A : set elem_type variable B : set elem_type def set_deMorga

    0热度

    1回答

    我想通过z3来证明(∀i(0≤i<k→a[i]>0)∧a[k]>0)→∀i(0≤i≤k→a[i]>0)。否定它是:∀i(0≤i<k→a[i]>0)∧a[k]>0∧∃i(0≤i≤k∧¬(a[i]>0))。首先,我k的值设置为5,而忽略部分a[k]>0,并尝试: from z3 import * i = Int('i')` a = Array('a',IntSort(),IntSort()) s

    2热度

    2回答

    我试图在Coq中证明归纳原理。由于数据结构的定义,必须通过两个嵌套式导入来显示该原理。外部感应通过Fixpoint构造完成,内部感应通过原理list_ind完成。 发生的问题是现在内部归纳的归纳论证是一个函数的结果,即dfs t。 Inductive SearchTree (A : Type) : Type := | empty : SearchTree A | leaf :