Skip to content

Commit 492ea99

Browse files
authored
add(Modal/Kripke): Remove IsRootedBy and add F.Root (#783)
1 parent bef5b96 commit 492ea99

28 files changed

Lines changed: 919 additions & 1376 deletions

Foundation.lean

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -294,7 +294,6 @@ public import Foundation.Modal.Kripke.LinearFrame
294294
public import Foundation.Modal.Kripke.Logic.GL.Completeness
295295
public import Foundation.Modal.Kripke.Logic.GL.MDP
296296
public import Foundation.Modal.Kripke.Logic.GL.Soundness
297-
public import Foundation.Modal.Kripke.Logic.GL.Tree
298297
public import Foundation.Modal.Kripke.Logic.GL.Unnecessitation
299298
public import Foundation.Modal.Kripke.Logic.GLPoint3
300299
public import Foundation.Modal.Kripke.Logic.Grz.Completeness
@@ -340,7 +339,7 @@ public import Foundation.Modal.Kripke.Logic.Ver
340339
public import Foundation.Modal.Kripke.NNFormula
341340
public import Foundation.Modal.Kripke.Preservation
342341
public import Foundation.Modal.Kripke.Rank
343-
public import Foundation.Modal.Kripke.Rooted
342+
public import Foundation.Modal.Kripke.Root
344343
public import Foundation.Modal.Kripke.Terminated
345344
public import Foundation.Modal.Kripke.Tree
346345
public import Foundation.Modal.Kripke.Undefinability

Foundation/Modal/Boxdot/GL_S.lean

Lines changed: 21 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,17 @@ public import Foundation.ProvabilityLogic.S.Completeness
66

77
namespace 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+
920
namespace Modal.Logic
1021

1122
open 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

3847
end Modal.Logic
3948

Foundation/Modal/Kripke/AxiomH.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module
22

3-
public import Foundation.Modal.Kripke.Rooted
3+
public import Foundation.Modal.Kripke.Root
44

55
@[expose] public section
66

Foundation/Modal/Kripke/Cluster.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module
22

3-
public import Foundation.Modal.Kripke.Rooted
3+
public import Foundation.Modal.Kripke.Root
44
public import Mathlib.Data.Finite.Card
55

66

0 commit comments

Comments
 (0)