問題タブ [isabelle]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
proof - 現在の目標を解決する場合にのみ、メソッドを適用します
時々、私が適用スタイルの証明を書いているとき、私は証明方法 foo
を次のように変更する方法を望んでいました
foo
最初の目標を試してください。それが目標を解決するなら、良いです。それでも解決しない場合は、元の状態に戻して失敗します。
これは次のコードで発生しました:
さらに上に変更を加えると、への呼び出しsimp
は目標を完全に解決できなくなり、ループします。私が次のようなものを指定できたら
または(代替案のsynatx)
または(おそらくさらに良い構文)
このスクリプトでは解決できなかった最初の目標で停止していました。
jedit - Isabelle/jEditで理論の読み込みを高速化するために永続的なヒープイメージを使用する方法は?
isabelle_afp
多くの理論が保存されているディレクトリがあるとしましょう。このディレクトリはライブラリであり、その中のファイルを変更する予定はありません。Isabelle/jEdit の起動時間を短縮したい (デフォルトではisabelle_afp
、現在の理論が依存しているすべての理論が新たに処理される)。
このステップをスキップするにはどうすればよいですか? システム マニュアルには、 persistent heap imageを構築するように指示されています。そうする最も簡単な方法は何ですか?
また、Isabelle/jEdit にこのヒープ イメージをロードするように指示するにはどうすればよいでしょうか?
isabelle - 特定のプロパティを持つリスト内のすべての要素を削除するにはどうすればよいですか?
l :: 'a list
述語に一致する要素を一致させて削除したいP :: ('a => bool)
そのようなタスクを達成するための最良の方法は何ですか?役立つ可能性のある既存の機能をどのように見つけることができますか?
isabelle - 定義でのタプルの使用
タプルを引数とする定義を作成したいと思います。
ただし、これは受け入れられません。エラーメッセージは
fun
作品の代わりに使用しdefinition
ていますが、これは私が望むものではありません。次の表記も機能しますが、やや醜いです。
タプルを引数として使用する最良の方法は何definition
ですか?
isabelle - 適用スタイルで目標に前提をドロップします
次の補題を示したいとしましょう
私は目標を達成します
ただし、必要ありませんB
。どうすれば私の目標を次のようなものに移すことができますか
元のステートメントを変更したくはありませんlemma
。適用スタイルの現在の目標だけを変更します。
isabelle - ロケールの code_pred
inductive
内に実行可能ファイルを作成したいlocale
。locale
すべてが正常に動作しなければ:
ただし、 alocale
で同じことを試しても機能しません。
code_pred
ロケールの行は次のエラーを返します。
isabelle - 複数のパラメーターを使用してロケールからコードをエクスポートする
codegenのドキュメント セクション「7.3 ロケールと解釈」によると、ロケールからのコードのエクスポートは少しトリッキーですが、実現可能です。次の例は正常に機能します。
複数のパラメーターを持つロケールのコードをエクスポートするにはどうすればよいですか? 以下を考えるとlocale
:
私はそれを解釈することができます
しかし、この解釈を定義に使用することはできません
で失敗します
scala - 解釈せずにロケールからコードを生成する
locale
解釈せずに、定義から直接コードを生成したいと思っています。例:
インスタンス化する仮定MyTest
は実行可能であり、それらのコードを生成できます
isInL
任意の の定義を実行する関数を定義できますMyTest
。
ただし、コードのエクスポートは失敗します。
なぜ私はそのようなことをしたいのですか?私は、eg hereに似ているが有限locale
のコンテキストで a を使用しています。グラフが有効かどうかのテストは簡単です。ここで、グラフ アルゴリズムのコードを Scala にエクスポートしたいと考えています。もちろん、コードは任意の有効なグラフで実行する必要があります。valid_graph
次のような Scala の例えを考えています。
isabelle - MLでロケールの仮定と変数を使用して、定理と用語を抽象的に操作するにはどうすればよいですか?
次のロケール定義を検討してください。
Isarでは、f
またはの見出語の定義を操作しようとするf_pos
と、ロケールの仮定と固定変数が表示されなくなります。たとえば、次をthm f_def f_pos
返します。
予想通り。
ただし、MLでこれらの用語について推論しようとすると、「隠された」固定変数が突然公開されます。ML {* @{thm f_def} |> prop_of *}
たとえば、次を返します。
ここで、固定変数a
は関数のパラメーターになりますf
。
MLのロケール内で作業して、そのようなロケール変数にさらされないようにする方法はありますか?
isabelle - 適用スタイルの目標に変数をドロップする
最近、適用スタイルの証明で不要な前提を削除する方法を学んだので、不要な変数を削除する方法を知りたいと思っています。つまり、私が目標を持っているとします
whereは、またはy
には現れません。次のように変換するにはどうすればよいですか?A
B
C