나는 간단한 파서 결합자를 작성했다. 내 문제에 대한 중요한 정의가 있습니다. type_synonym ('a, 's) parser = "'s list ⇒ ('a * 's list) option"
definition sequenceP :: "('a, 's) parser
⇒ ('b, 's) parser
⇒ ('b, 's)
내가 수학 당분간 lemma add_succ_right: "⋀ m n. add m (Succ n) = Succ (add m n)"
을 입증, 보편적 인 정량화하는 것이 중요합니다. 그러나, simplifier에이 사실을 사용하기 위해,하지 않고 그것을하는 것이 좋습니다 : lemma add_succ_right_rewrite: "add m (Succ n)
(이것은 매우 논리적 질문입니다.) ⋀ (예 : ⋀y . Py)은 자리 표시 자일 것 같습니다. apply (rule allI) 또는 apply (erule exE을 사용한 후에 발생합니다. 처음에 나는 그것이 흉내 같다고 생각했습니다. 규칙 allI은 (!!x. Px) => ∀x. Px입니다. (나는 이것을 얻으려는 곳에서 을 나타내는 데 !!이 사용됩니
제 이론에는 좀 더 큰 정의가 있습니다. 여기에서 표제어를 사용하여 몇 가지 간단한 속성을 파생시킵니다. 내 문제는 속성을 유도하기위한 보조 정리가 단순화 알고리즘에서 사용되지 않고 수동으로 인스턴스화해야한다는 것입니다. 더 자동적으로 만들 수있는 방법이 있습니까? definition complexFact :: "int ⇒ int ⇒ int ⇒ bool"
나는 공식적인 증명을 위해 Isabelle을 사용하는 초심자이다. 나는 3 행렬에 의해 벡터와 3 사이의 곱셈을해야한다. 는 지금, 나는 'consts x_vec :: "('a::real_vector) set ⇒ ('a ⇒ real×real×real) ⇒ bool"'
내 질문 3 매트릭스 3를 정의하는 방법은이 명령을 사용하여 3 요소 벡터를 정의 할
과 적분 설정 : lemma set_integral_mult:
fixes f g :: "_ ⇒ _ :: {banach, second_countable_topology}"
assumes "set_integrable M A (λx. f x)" "set_integrable M A (λx. g x)"
shows "set_integrabl
저는 이사벨에게 새로운 것이므로 이제는 표제어를 증명하는 데 필요한 시간을 측정하기 위해 Cygwin의 명령 줄을 사용하여 증명하려고합니다. 어떻게 할 수있는 가장 쉽고 쉬운 방법이 될까요? "isabelle theory_file.thy"와 같은 명령이 있지만 Isabelle System Manual을 실행하면 모든 것이 훨씬 복잡해지고 결국 잃어버린 느낌
현재 'Quantifying Lists'연습을 http://isabelle.in.tum.de/exercises/에서 진행하고 있습니다. 그것은 '원시 재귀 (primitive recursion)를 사용하여 목록에 보편적이고 실존 적 한정 기호를 정의하도록 요청한다. {term xs} ...의 모든 요소 {@ term x}}에 대해 {@ "term"} x {