如何调用Isabelle/HOL中的函数?

如何调用Isabelle/HOL中的函数?,isabelle,Isabelle,这是我从伊莎贝尔教程中得到的一个理论。它有方法证明定理,但我想知道如何用两个列表调用下面的app函数 theory ToyList imports Main begin datatype 'a list = Nil | Cons 'a "'a list" fun app :: "'a list ⇒ 'a list ⇒ 'a list" where "app Nil ys = ys" | "app

这是我从伊莎贝尔教程中得到的一个理论。它有方法证明定理,但我想知道如何用两个列表调用下面的app函数

theory ToyList
imports Main
begin
     datatype 'a list = Nil |  Cons 'a "'a list"

     fun app :: "'a list ⇒ 'a list ⇒ 'a list"  where 
                 "app Nil ys   = ys" |
                 "app (Cons x xs) ys = Cons x (app xs ys)"

我尝试了定理app_test[simp]:“app(xs@ys)@zs=xs@ys@zs”和其他方法,但没有成功

你说的“打电话”是什么意思?你想做什么?在两个具体示例列表上评估函数?然后您可以执行类似于
value“app(cons1nil)(cons2 Nil)”
的操作,我的意思是如何在列表中使用app函数?是的,我的意思是在示例列表上进行评估。正如我所说:您可以使用
value
命令,我相信教程中也会对此进行解释。您还可以设置一个引理,如
app(cons1nil)(cons2 Nil)=cons1(cons2 Nil)
,并用
simp
证明它。非常感谢!