Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(Modal): Arithmetical Soundness of 𝐆𝐋 #69

Merged
merged 17 commits into from
Jun 13, 2024
Merged

Conversation

SnO2WMaN
Copy link
Member

@SnO2WMaN SnO2WMaN commented Jun 9, 2024

related: #1

@SnO2WMaN SnO2WMaN force-pushed the GL-interpretation branch from 8f49efe to 9773263 Compare June 10, 2024 17:17
@SnO2WMaN
Copy link
Member Author

SnO2WMaN commented Jun 11, 2024

とりあえず𝐆𝐋の算術的健全性を示すという目的は示したので #70#71 をマージ次第こちらもマージする.いくつか気になる点はコメントしてあるので見てみてほしい.


section

variable (T₀ T : Theory L) [T₀ ≼ T] [System.Classical T₀] [System.Classical T] [HilbertBernays β T₀ T]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

System.Classical TLogic/HilbertStyle/Gentzenで証明されているのでそれをインポートすれば良いと思う.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Member

@iehality iehality Jun 11, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NegationEquiv Tも常に証明できるはず.Logic/HilbertStyle/Gentzenを参考に証明が書けると思う.

@SnO2WMaN SnO2WMaN marked this pull request as ready for review June 11, 2024 04:08
Logic/Modal/Standard/Provability/Basic.lean Outdated Show resolved Hide resolved
Logic/Modal/Standard/Provability/Basic.lean Outdated Show resolved Hide resolved
Logic/Modal/Standard/Provability/Basic.lean Outdated Show resolved Hide resolved
Logic/Modal/Standard/Provability/Basic.lean Outdated Show resolved Hide resolved
Logic/Modal/Standard/Provability/Basic.lean Outdated Show resolved Hide resolved
@SnO2WMaN
Copy link
Member Author

レビューを受け修正.

Comment on lines 97 to 111
private lemma loeb_fixpoint
(β : ProvabilityPredicate L L) [β.HilbertBernays T₀ T]
(σ : Sentence L) : ∃ (θ : Sentence L), T₀ ⊢! ⦍β⦎θ ⟶ ⦍β⦎σ ∧ T₀ ⊢! (⦍β⦎θ ⟶ σ) ⟶ θ := by
have hθ := diag (T := T₀) “x | !β.prov x → !σ”;
generalize (fixpoint T₀ “x | !β.prov x → !σ”) = θ at hθ;

have eθ : θ ⟷ (β.prov/[#0] ⟶ σ/[])/[⸢θ⸣] = θ ⟷ (⦍β⦎θ ⟶ σ) := by
simp [←Rew.hom_comp_app, Rew.substs_comp_substs]; rfl;
replace hθ : T₀ ⊢! θ ⟷ (⦍β⦎θ ⟶ σ) := by simpa [←eθ] using hθ;

existsi θ;
constructor;
. exact (imp_trans! (D2 ⨀ (D1 (Subtheory.prf! $ conj₁'! hθ))) D2) ⨀₁ D3;
. exact conj₂'! hθ;

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Löbの定理で使う不動点の構成,出来ている以上はおそらく合っていると思うのだが書き換えシステムなどに慣れていないので正しいのかわからない.一応チェックしてもらえると助かる.

Copy link
Member

@iehality iehality Jun 12, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

だいたい良いと思うが,構成的に示せるならば∃ (θ : Sentence L) ...の形ではなく具体的にwitnessを示したほうが良いと思う.

ただ“x | !β.prov x → !σ”でなく“x | !β.prov x → !!σ”の表記のほうが扱いやすいかもしれない(前者は空の列をσに代入しているが,後者はσを直接用いる)

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

“x | !β.prov x → !!σ”にした場合,σSemisentence L 1でないという理由で型チェックが通らない.(望ましい挙動なのかはよくわからない).

具体的にwitnessを示すというのがどういったことを指すのかよくわかっていない.例えば下記のよう定義してkreisel_specみたいなものを補題として用意する,という意味だろうか?

def kriesel (β : ProvabilityPredicate L L) [β.HilbertBernays T₀ T] (σ : Sentence L) := fixpoint T₀ “x | !β.prov x → !σ”

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

なるほど,勘違いしていた.witnessについては,具体的にKreisel文を定義するということで間違いない.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

@SnO2WMaN
Copy link
Member Author

気になる点がなければマージする.

@SnO2WMaN SnO2WMaN merged commit b2a9349 into master Jun 13, 2024
3 checks passed
@SnO2WMaN SnO2WMaN deleted the GL-interpretation branch June 13, 2024 02:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants