2012-07-05 6 views
6

私は自分のリストタイプをListという名前の理論で定義したいと思っていますが、すでにその名前の理論があります。 Mainよりも軽量な理論がありますか?イザベルで理論をインポートすることはできませんか?

+0

ここでお探しの答えが得られない場合は、cs.stackexchange.comまたはcstheory.stackexchange.comの質問にもお答えください。 – reuben

+2

@reuben:どちらでもないツールサポートのためのサイトがあります。 Isabelleの[documentation](http://isabelle.in.tum.de/documentation.html)と[community](https://isabelle.in.tum.de/community)は正しい場所です。 – Raphael

+7

クローサーへの注意:この質問は、Stack Overflowに関する話題です。 Isabelleは定理証明であり、それらはプログラミング環境の特別な種類です([tag:coq]、[tag:agda]は小さいが既存のSOを持つ他の例です)。プログラミングツールを使用することはStack Overflowに関するトピックです。(@ラファエルいいえ、質問はここで問題ありません) – Gilles

答えて

4

Isabelleには何もインポートできません(インポートは基本ロジックでも必要です)。 IsabelleのHOLの実装には、Main,Complex_Main(これにはMainといくつかの分析を加えたもの)とPlainという3つのエントリポイントがサポートされていますが、最初の2つのみが通常の使用を意図しています。

プレーンには基本ロジックが既に含まれていますが、標準ライブラリ(例:リストなし)ではほとんどありません。しかし、QuickCheck、Sledgehammer、コードジェネレータなどの重要なツールもありません。さらに、Plainから自分の理論リストに名前を付けることができるようになると、あなたの理論はMain(ほとんどすべてである)上のどの建物とも互換性がないことに注意してください。

あなたがそうするべき本当の理由がない限り、私はRaphaelのコメントに従って、リスト理論に別の名前を付けることをお勧めします。

0

あなたは私が頻繁にテストやイザベルについての調査のためにそれを行う

theory Test_Theory 
imports HOL 
begin 
    … 
end 

にとして、HOLのみインポートすることがあります。

ただし、データ型の定義を欠いて、おそらくDatatypeをインポートする必要があります(とさえRecordかもしれない)あなたのList理論を書くことができるようにするために、同様。両方DatatypeRecord輸入HOLとして

theory Test_Theory 
imports HOL Datatype Record 
begin 
    … 
end 

は、単に持っていることがあります。

理論 Mainなしに行うことは簡単ですが、不可能ではないではありません
theory Test_Theory 
imports Datatype Record 
begin 
    … 
end 

。ちょうどあなたが広く使われている定理なしでやらなければならないことに気づいて、あなた自身のことを書いて証明しなければならないかもしれません。

+0

私は 'FunDef'について知りませんでしたが、チップのおかげでそれを見ています。私は確かにあまりにも多くのメモリを消費するので、少なくとも "肥大化した"ベース理論は興味があります(私はIsabelleのために小さい1G RAMマシンを実行しています...私は特にいくつかのRAMを取得するつもりですイザベル)。また、「主」が提供する理論よりも別の理論を求めるもう一つの理由は、いくつかの理論がある種の証拠には適していないということである。一例として、集合理論が使用する公理は便利ではなく、自分自身を設定したいと考えています(可能な場合)。 – Hibou57

+1

'Main' HOLの下にあるものをインポートすることは指定されておらず、奇妙な効果が期待されることに注意してください。 Isabelle/HOLがどのようにブートストラップされているかを内部的に入力することは、1GB RAMが悪い理由です。 – Makarius

+0

「ピュア」と同じではありませんか? (私は見て、ポイントのおかげで)を持っています。 – Hibou57

4

$ISABELLE_HOME/src/HOL/ex/Seq.thyは、Mainエントリポイントの下でシステムを操作する方法を微妙に質問することなく、実験用に独自のリストデータ型を定義する最小の例を示しています。

理論的には、あなたがインポートできる最も基本的な理論はPureですが、それはまだ素人の論理フレームワークであり、HOLのようなオブジェクトロジックはまだありません。好奇心のために、Pureから始まる$ISABELLE_HOME/src/HOL/ex/Higher_Order_Logic.thyを見て、最小のバージョンのH.O.Lを定義します。あなたが完全なIsabelle/HOLから期待する先進的な理論やツールがなくても、それに加えて、

+0

'Higher_Order_Logic'への参照はとてもいいです。 –

関連する問題