Skip to content

Commit 0f60b3d

Browse files
committed
some basic fact about axiom
1 parent 7c5cb29 commit 0f60b3d

2 files changed

Lines changed: 67 additions & 0 deletions

File tree

NCML/Formula.lean

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ infixr:61 " 🡘 " => iff
6161
abbrev neg (φ : BDFormula) := φ 🡒 ⊥
6262
prefix:85 "∼" => neg
6363

64+
abbrev top : BDFormula := ∼⊥
65+
notation:max "⊤" => top
66+
6467
@[grind]
6568
def boxFree : BDFormula → Prop
6669
| □_ => False

NCML/IML/Semantics.lean

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,8 @@ lemma notExtrinsicForces_neg : x₁ ⊮ᵉ ∼φ ↔ ∃ x₂, x₁ ≼ x₂ ∧
6969

7070
lemma notExtrinsticForces_box : x₁ ⊮ᵉ □φ ↔ ∃ y₁, x₁ ⊏ y₁ ∧ y₁ ⊮ᵉ φ := by grind;
7171

72+
@[simp, grind .] lemma extrinsicForces_top : x₁ ⊩ᵉ ⊤ := by grind;
73+
7274
@[grind]
7375
def IntrinsicForces {M : KripkeModel κ} (x₁ : M.World) : BDFormula → Prop
7476
| .atom a => M.val x₁ a
@@ -80,6 +82,8 @@ def IntrinsicForces {M : KripkeModel κ} (x₁ : M.World) : BDFormula → Prop
8082
| .dia φ => ∀ x₂, x₁ ≼ x₂ → ∃ y₂, x₂ ⊏ y₂ ∧ M.IntrinsicForces y₂ φ
8183
infixl:80 " ⊩ⁱ " => IntrinsicForces
8284

85+
@[simp, grind .] lemma intrinsticForces_top : x₁ ⊩ⁱ ⊤ := by grind;
86+
8387
lemma formula_persistent_intrinsicForces : x₁ ⊩ⁱ φ → x₁ ≼ x₂ → x₂ ⊩ⁱ φ := by
8488
intro h Ix₁x₂;
8589
induction φ generalizing x₂ with
@@ -328,6 +332,66 @@ lemma iff_mem_logicIntrinsic_mem_logicDiaFreeExtrinsic_of_diaFree (hφ : φ.diaF
328332
| _ => grind;
329333
exact this φ (by assumption) x |>.mpr $ h M' x;
330334

335+
lemma logicIntrinsic_boxRM_closed : (φ 🡒 ψ) ∈ logicIntrinsic.{u} → (□φ 🡒 □ψ) ∈ logicIntrinsic.{u} := by
336+
dsimp only [logicIntrinsic, Set.mem_setOf_eq, KripkeModel.IntrinsicValid];
337+
intro h _ _ M x₁ x₂ Ix₁x₂ hφ x₃ Ix₂x₃ y₃ Mx₃y₃;
338+
apply h M x₂ y₃ ?_ $ hφ x₃ Ix₂x₃ y₃ Mx₃y₃;
339+
sorry;
340+
341+
lemma logicExtrinsic_boxRM_closed : (φ 🡒 ψ) ∈ logicExtrinsic.{u} → (□φ 🡒 □ψ) ∈ logicExtrinsic.{u} := by
342+
dsimp only [logicExtrinsic, Set.mem_setOf_eq, KripkeModel.ExtrinsicValid];
343+
intro h _ _ M _ _ x₁ x₂ Ix₁x₂ hφ y₂ Mx₂y₂;
344+
apply h M y₂ y₂ (refl _) $ hφ y₂ Mx₂y₂;
345+
346+
lemma logicDiaFreeExtrinsic_boxRM_closed : (φ 🡒 ψ) ∈ logicDiaFreeExtrinsic.{u} → (□φ 🡒 □ψ) ∈ logicDiaFreeExtrinsic.{u} := by
347+
dsimp only [logicDiaFreeExtrinsic, Set.mem_setOf_eq, KripkeModel.ExtrinsicValid];
348+
rintro ⟨_, h⟩;
349+
constructor;
350+
. assumption;
351+
. intro _ _ M _ x₁ x₂ Ix₁x₂ hφ y₂ Mx₂y₂;
352+
apply h M y₂ y₂ (refl _) $ hφ y₂ Mx₂y₂;
353+
354+
355+
lemma logicExtrinsic_diaRM_closed : (φ 🡒 ψ) ∈ logicExtrinsic.{u} → (◇φ 🡒 ◇ψ) ∈ logicExtrinsic.{u} := by
356+
dsimp only [logicExtrinsic, Set.mem_setOf_eq, KripkeModel.ExtrinsicValid];
357+
rintro h _ _ M _ _ x₁ x₂ Ix₁x₂ ⟨y₂, Mx₂y₂, hy₂ψ⟩;
358+
use y₂;
359+
constructor;
360+
. assumption;
361+
. exact h M y₂ _ (refl _) hy₂ψ;
362+
363+
lemma logicIntrinsic_diaRM_closed : (φ 🡒 ψ) ∈ logicIntrinsic.{u} → (◇φ 🡒 ◇ψ) ∈ logicIntrinsic.{u} := by
364+
dsimp only [logicIntrinsic, Set.mem_setOf_eq, KripkeModel.IntrinsicValid];
365+
intro h _ _ M x₁ x₂ Ix₁x₂ hφ x₃ Ix₂x₃;
366+
obtain ⟨y₃, Mx₃y₃, hy₃φ⟩ := hφ x₃ Ix₂x₃;
367+
use y₃;
368+
constructor;
369+
. assumption;
370+
. apply h M x₂ y₃ (by sorry) hy₃φ;
371+
372+
lemma boxTop_mem_logicExtrinsic : □⊤ ∈ logicExtrinsic := by
373+
rintro κ _ M _ _ x₁ y₁ Mx₁y₁;
374+
apply M.extrinsicForces_top;
375+
376+
lemma boxTop_mem_logicIntrinsic : □⊤ ∈ logicIntrinsic := by
377+
rintro κ _ M x₁ y₁ Mx₁y₁ y₂ Mx₁y₂;
378+
apply M.intrinsticForces_top;
379+
380+
lemma boxTop_mem_logicDiaFreeExtrinsic : □⊤ ∈ logicDiaFreeExtrinsic := by
381+
constructor;
382+
. grind;
383+
. rintro κ _ M _ _ x₁ y₁ Mx₁y₁;
384+
apply M.extrinsicForces_top;
385+
386+
lemma negDiaBot_mem_logicExtrinsic : ∼◇⊥ ∈ logicExtrinsic := by
387+
rintro κ _ M _ _ x₁ x₂ Ix₁x₂ ⟨y₂, Mx₂y₂, hy₂⟩;
388+
contradiction;
389+
390+
lemma negDiaBot_mem_logicIntrinsic : ∼◇⊥ ∈ logicIntrinsic := by
391+
rintro κ _ M x₁ x₂ Ix₁x₂ h;
392+
obtain ⟨y₂, Mx₁y₂, hy₂⟩ := h x₂ (refl _);
393+
contradiction;
394+
331395
end NCML.IML
332396

333397
end

0 commit comments

Comments
 (0)