@@ -6,6 +6,17 @@ public import Foundation.ProvabilityLogic.S.Completeness
66
77namespace LO
88
9+ namespace Modal.Kripke.Model
10+
11+ variable {M : Kripke.Model} {x : M.World}
12+
13+ instance [M.IsTransitive] : (M↾x).IsTransitive := inferInstance
14+
15+ instance [M.IsTransitive] [M.IsPointRooted] : (M.extendRoot n).IsTransitive := inferInstance
16+
17+ end Modal.Kripke.Model
18+
19+
920namespace Modal.Logic
1021
1122open Kripke Formula.Kripke
@@ -19,21 +30,19 @@ lemma iff_provable_boxdot_GL_provable_boxdot_S : Modal.GL ⊢ φᵇ ↔ Modal.S
1930 . apply Entailment.WeakerThan.wk;
2031 infer_instance;
2132 . intro h;
22- apply GL.Kripke.fintype_completeness_TFAE.out 2 0 |>.mp;
23- replace h := GL.Kripke.finite_completeness_TFAE.out 0 3 |>.mp $ iff_provable_rflSubformula_GL_provable_S.mpr h;
33+ replace h := GL.Kripke.finite_completeness_TFAE.out 0 2 |>.mp $ iff_provable_rflSubformula_GL_provable_S.mpr h;
2434
25- intro M _ _ _ r _;
26-
27- obtain ⟨i, hi⟩ := Kripke.Model.extendRoot.inr_satisfies_axiomT_set (M := M) (Γ := □⁻¹'φᵇ.subformulas);
28- apply Model.extendRoot.inl_satisfies_boxdot_iff (n := ⟨(□⁻¹'φᵇ.subformulas).card + 1 , by omega⟩) (i := i) |>.mpr;
35+ apply GL.Kripke.fintype_completeness_TFAE.out 2 0 |>.mp;
36+ intro M _ _ _ _;
2937
30- let M₁ := M. extendRoot ⟨( □⁻¹'φᵇ.subformulas).card + 1 , by omega⟩ ;
31- let i₁ : M₁.World := Sum.inl i ;
32- apply Model.pointGenerate.modal_equivalent_at_root (r := i₁) |>.mp $ h (M₁↾i₁) _ ;
38+ obtain ⟨i, hi⟩ := Kripke.Model. extendRoot.inr_satisfies_forall_axiomT_set (M := M) (Γ := □⁻¹'φᵇ.subformulas);
39+ apply Model.extendRoot.inl_satisfies_boxdot_iff (i := i) |>.mp ;
40+ apply h ;
3341 apply Satisfies.fconj_def.mpr;
34- intro ψ hψ;
35- apply Satisfies.fconj_def.mp hi;
36- grind;
42+ simp only [Formula.rflSubformula, Finset.mem_image, forall_exists_index, and_imp, forall_apply_eq_imp_iff₂];
43+ rintro ψ hψ;
44+ apply hi;
45+ exact hψ;
3746
3847end Modal.Logic
3948
0 commit comments