标签: isabelle

在《伊莎贝尔》中证明关于 THE 的直观陈述

我想证明伊莎贝尔中类似的引理

\n\n
lemma assumes "y = (THE x. P x)" shows "P (THE x. P x)"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我想这个假设意味着THE x. P x存在并且是明确定义的。所以这个引理也应该是正确的

\n\n
lemma assumes "y = (THE x. P x)" shows "\xe2\x88\x83! x. P x"\n
Run Code Online (Sandbox Code Playgroud)\n\n

我不知道如何证明这一点,因为我已经查看了当我在 Isabelle 的查询框中输入“name: the”时出现的所有定理,但它们似乎没有用。我找不到THE两者的定义,也不知道如何定义它,尽管我对它的含义有一个直观的想法。我尝试过类似的事情,尽管我确信这是错误的

\n\n
"(\xe2\x88\x83!x. P x) \xe2\x9f\xb9 THE x. P x = (SOME x. P x)"\n
Run Code Online (Sandbox Code Playgroud)\n\n

甚至可能没用,因为我也不知道如何定义SOME

\n

unique isabelle

4
推荐指数
1
解决办法
212
查看次数

Isabelle:如何打印1 + 2的结果?

这是一个初学者的问题.

我正在阅读教程"在Isabelle/HOL中编程和证明".

我想打印"1 + 2"的结果.

所以我写道:

value "1 + 2"
Run Code Online (Sandbox Code Playgroud)

这使:

"1 + (1 + 1)"
 :: "'a"
Run Code Online (Sandbox Code Playgroud)

我想看看结果,即"3".我怎么能在伊莎贝尔那里做到这一点?如果我在定理证明器中标准化"1 + 2",则显示结果3.我只想在伊莎贝尔做同样的事情.

请注意,我昨天开始使用Isabelle.

isabelle

3
推荐指数
1
解决办法
563
查看次数

Isabelle中的商型模式是什么?

Isabelle中的“商型模式”是什么?

我在互联网上找不到任何解释。

theorem-proving isabelle

3
推荐指数
1
解决办法
347
查看次数

如何在agda中定义抽象类型

如何在Agda中定义抽象类型.我们在Isabelle中使用typedecl这样做.

更准确地说,我想要Isabelle中以下代码的agda对应物:

typedecl A
Run Code Online (Sandbox Code Playgroud)

谢谢

agda isabelle

3
推荐指数
1
解决办法
258
查看次数

我可以为分配给bool和list的运算符重载表示法吗?

(注意:如果我可以摆脱下面显示的警告,那么我会说一些无关紧要的东西.作为提问的一部分,我也有一些看法.我想这有点问"为什么我错了"我在说什么?")

似乎用于bool运算符的6个符号应该已分配给语法类型类,并bool为这些类型类实例化.特别是这些:

~, &, |, \<not>, \<and>, \<or>. 
Run Code Online (Sandbox Code Playgroud)

因为术语的类型注释是HOL运算符的常见要求,所以我不认为必须bool为这6个运算符使用注释会是一个很大的负担.

我想为其他逻辑运算符重载这6个符号.没有应用程序的通常符号可能导致没有良好的符号解决方案.

在下面的示例源中,如果我可以摆脱警告,那么问题就解决了(除非我为自己设置一个陷阱):

definition natOP :: "nat => nat => nat" where
  "natOP x y = x"

definition natlistOP :: "nat list => nat list => nat list" where
  "natlistOP x y = x"

notation
  natOP (infixr "&" 35)    
notation
  natlistOP (infixr "&" 35) 

term "True & False"
term "2 & (2::nat)"  
term "[2] & [(2::nat)]" (*
OUTPUT: Ambiguous input produces 3 parse trees: 
  ...
  Fortunately, …
Run Code Online (Sandbox Code Playgroud)

isabelle

3
推荐指数
1
解决办法
330
查看次数

伊莎贝尔和斯卡拉

我正在寻找创建Eclipse PDE并需要与Isabelle进行通信.我确实找到一些出版物说Scala可以用来与Isabelle沟通.

我正在寻找一个如何使用Scala在Isabelle中创建证明的示例.

scala isabelle

3
推荐指数
1
解决办法
314
查看次数

伊莎贝尔的'real_of_int'和'真实'?

什么是real_of_int,real并且int在伊莎贝尔?它们听起来有点像类型,但通常类型都是类似的x ::real,这些都是类似的real x.

我无法证明以下陈述,

 "S ((n*x)+(-x)) = S (n*x)*C (-x) + C (n*x)*S (-x)"
Run Code Online (Sandbox Code Playgroud)

我注意到Isabelle写道:

S (real_of_int (int (n * x) + - int x)) =
S (real (n * x)) * C (real_of_int (- int x)) + C (real (n * x)) * S (real_of_int (- int x))
Run Code Online (Sandbox Code Playgroud)

所以我希望能够理解这些意思.

types isabelle

3
推荐指数
1
解决办法
151
查看次数

如何管理所有各种证明方法

是否存在Isabelle用户遵循的"通用"非正式算法,当他们试图证明某些事情未被立即证明autosledgehammer?如果auto需要额外的引理,由用户制定成功或者如果使用更好的一些其他证明方法,一种通用的方法.

一个相关的问题是:是否可能在某处找到一个表格,其中包含所有证明方法以及应用它们的上下文?当我阅读 编程和校对教程时,各种方法的描述(分别是某些方法的变体,例如许多变体auto)都散布在文本中,这不断让我回到文本和Isabelle代码之间(这也会导致忘记究竟用于什么),这导致工作效率非常低.

isabelle

3
推荐指数
2
解决办法
111
查看次数

我们如何使用python程序访问Coq或Isabelle/HOL?

我想使用我的python程序访问Coq或Isabelle/HOL交互式定理证明器.有没有python包可用?请建议

python coq isabelle

3
推荐指数
1
解决办法
607
查看次数

定制案例中的证明区别

Isabelle在证明陈述时是否支持自定义区分大小写?假设我想证明所有自然数的陈述n,但根据n是偶数还是奇数,证明完全不同。是否可以在证明中进行区分大小写,例如

 proof(cases n) 
   assume "n mod 2 = 0"
   <proof>
   next assume "n mod 2 = 1"
   <proof>
qed
Run Code Online (Sandbox Code Playgroud)

到目前为止,我将引理/定理分为两个单独的部分(假定为n偶数/奇数),然后使用这些部分来证明所有自然数的陈述,但这似乎不是最佳解决方案。

isabelle isar

3
推荐指数
1
解决办法
139
查看次数

标签 统计

isabelle ×10

agda ×1

coq ×1

isar ×1

python ×1

scala ×1

theorem-proving ×1

types ×1

unique ×1