私はthis one類推して、次の関数を定義するトリングだ: fun int_divide :: "int option ⇒ int option ⇒ real option" where
"int_divide _ (Some (int 0)) = None"
| "int_divide (Some a) (Some b) = Some (a/b)"
| "int_divide _
以下の例のそれぞれがうまく動作しないのか、より抽象的な誘導が戦術対Isarと相互作用するのかを理解するのは苦労しています。私は最新のIsabelle/HOL(2016-1)で最新のIsabelle/HOL(2016年12月)のプログラミングと検証で4.3に取り組んでいます。 8つのケースがあります:補題は長い(矢印を使用)、証明は構造化(Isar)または非構造化(戦術的)のいずれかです。 theo
私は、キーと値のペアのセットに有限のマップのキーと値をマップする関数を定義する必要があります。 theory Test
imports Main "~~/src/HOL/Library/Finite_Map"
begin
definition denorm :: "('a, 'b) fmap ⇒ ('a × 'b) fset" where
"denorm m ≡ "
私はイザベルでMLコードを書く方法を学んでいます。 「Isabelle Cookbook」(2013)およびIsabelle2017を使用した説明と例に従っています。 機能term_ofおよびprop_ofはもう使用できません。 MLエラーに12ページ弾力上昇に 例: ML error⌂:
Value or constructor (prop_of) has not been declared
私はちょうどIsabelleを使い始めています。 theory Z
imports Main Int
begin
value "(2::int) + (2::int)"
lemma "(n::int) + (m::int) = m + n"
apply(auto) done
print_locale comm_ring_1
print_interps comm_ring
は、私は次のような状況での目標を並べ替える方法を知りたい: lemma "P=Q"
proof (rule iffI, (*here I would like to swap goal order*), rule ccontr)
oops
私は補題ステートメントを変更伴わない溶液をしたいと思います。私はpreferとdeferが適用スタイルプルーフに使用できることを認識していますが