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(Normal Modal): Strength of Logics Part.1 #23

Merged
merged 15 commits into from
Mar 21, 2024
Merged
Prev Previous commit
Next Next commit
refactor(Normal Modal):
  • Loading branch information
SnO2WMaN committed Mar 21, 2024
commit 0de8c6751533a0441ffa9d457cb600ef3c0b0e25
19 changes: 10 additions & 9 deletions Logic/Modal/Normal/ModalCube.lean
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ namespace LogicKT4B
@[simp] lemma subset_4 : 𝟒 ⊆ (𝐊𝐓𝟒𝐁 : AxiomSet α) := by simp [LogicKT4B, LogicK]
@[simp] lemma subset_B : 𝐁 ⊆ (𝐊𝐓𝟒𝐁 : AxiomSet α) := by simp [LogicKT4B, LogicK]

lemma FrameClassDefinability : @FrameClassDefinability α β 𝐊𝐓𝟒𝐁 (λ F => (Reflexive F ∧ Transitive F ∧ Symmetric F)) := by
instance FrameClassDefinability : @FrameClassDefinability α β 𝐊𝐓𝟒𝐁 (λ F => (Reflexive F ∧ Transitive F ∧ Symmetric F)) := by
intro F;
simp [LogicKT4B, AxiomSetFrameClass.tetraunion];
have := AxiomK.defines β F;
Expand Down Expand Up @@ -126,20 +126,21 @@ theorem equivalent_S5_KT4B : (𝐒𝟓 : AxiomSet β) ≃ᴸ 𝐊𝐓𝟒𝐁 :=
exact h F (by
have ⟨hRefl, hTrans, hSymm⟩ := LogicKT4B.FrameClassDefinability.mpr hF;
apply LogicS5.FrameClassDefinability.mp;
constructor;
. simpa;
. exact eucl_of_symm_trans hSymm hTrans;
exact ⟨
by simpa,
eucl_of_symm_trans hSymm hTrans,
⟩;
),
by
intro p h F hF;
exact h F (by
have ⟨hRefl, hEucl⟩ := LogicS5.FrameClassDefinability.mpr hF;
apply LogicKT4B.FrameClassDefinability.mp;
constructor;
. simpa;
constructor;
. exact trans_of_refl_eucl hRefl hEucl;
. exact symm_of_refl_eucl hRefl hEucl;
exact ⟨
by simpa,
trans_of_refl_eucl hRefl hEucl,
symm_of_refl_eucl hRefl hEucl,
;
);

Expand Down