簡體   English   中英

Isabelle的完整校樣輸出

[英]Complete proof output in Isabelle

如果Isabelle沒有找到引理的證據,是否有可能輸出所有用於到達子目標的證據方法所做的一切,在這些方法中他們無法繼續進行? 這將有助於我看到,他們陷入了哪些途徑,這將幫助我指出他們正確的方向。

(而且對於完整的證據,我會發現有一個完整的證明日志很有趣,它顯示了為證明某些引理而進行的所有基本推論。)

這個問題聽起來類似於這一個 ,這是我前幾天回答。 該答案的部分內容也適用於此處。 無論如何,要具體回答這個問題:

並不是的。 對於大多數基本證明方法( rule等, introfactcasesinduct ),它們的行為相對簡單,當它們失敗時,它幾乎總是因為他們試圖應用的規則不能與目標一致/他們被給予的前提。 (或者他們不知道首先應用哪條規則)

你可能正在考慮更多自動戰術,如blastforcesimpauto 他們中的大多數( blastforcefastforcefastmetismesonbest等)是“全或無”:他們要么解決的子目標或者什么也不做。 因此,找出它們卡在哪里並且通常人們使用auto進行這種探索是有點棘手的:你應用auto ,查看其余的子目標,並考慮你可以添加哪些事實/參數來分解這些更多。

simp的情況類似,只不過它比auto更少。 simp是簡化器,它使用術語重寫,稱為simprocs的自定義重寫過程,某些求解器(例如用於線性算術),以及一些其他方便的東西,如分離器來擺脫if表達式。 auto基本上是simp與古典推理相結合,這使得它比很多更強大的simp ,也難以預料。 (偶爾, auto做太多,從而將可證明的目標轉變為無法實現的目標)

有一些跟蹤工具(例如,簡化程序跟蹤, 這里解釋)。 我認為還有一種方法可以追蹤經典推理,但我似乎無法找到它; 也許我錯了。 在任何情況下,跟蹤工具有時可以幫助解釋意外行為,但我不認為它們是您想要在這里使用的那種東西。 更好的方法是了解這些方法嘗試了什么類型的東西,然后當simpauto返回一個子目標時,你可以查看這些並確定你預期的simpauto會做什么,以及為什么它不這樣做(通常是因為一些遺漏的事實)並修復它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM