File tree Expand file tree Collapse file tree
Propositional/Hilbert/Minimal Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -361,7 +361,6 @@ public import Foundation.Modal.MaximalConsistentSet
361361public import Foundation.Modal.ModalCompanion
362362public import Foundation.Modal.ModalCompanion.Corsi
363363public import Foundation.Modal.ModalCompanion.Corsi.VF
364- public import Foundation.Modal.ModalCompanion.Standard
365364public import Foundation.Modal.ModalCompanion.Standard.Basic
366365public import Foundation.Modal.ModalCompanion.Standard.Cl
367366public import Foundation.Modal.ModalCompanion.Standard.Int
@@ -461,6 +460,7 @@ public import Foundation.Propositional.Hilbert.F.Deduction
461460public import Foundation.Propositional.Hilbert.F.Disjunctive
462461public import Foundation.Propositional.Hilbert.F_WF
463462public import Foundation.Propositional.Hilbert.Minimal.Basic
463+ public import Foundation.Propositional.Hilbert.Minimal.Glivenko
464464public import Foundation.Propositional.Hilbert.Standard
465465public import Foundation.Propositional.Hilbert.Standard.Basic
466466public import Foundation.Propositional.Hilbert.Standard.Glivenko
Load diff This file was deleted.
Original file line number Diff line number Diff line change @@ -4,6 +4,7 @@ public import Foundation.Logic.Embedding
44public import Foundation.Modal.Boxdot.GL_Grz
55public import Foundation.Modal.ModalCompanion.Standard.Basic
66public import Foundation.Propositional.Kripke.Hilbert.Int.Basic
7+ public import Foundation.Propositional.Hilbert.Minimal.Glivenko
78
89@[expose] public section
910
@@ -58,24 +59,16 @@ instance : Entailment.FaithfullyEmbeddable Propositional.Int Modal.GL where
5859end Propositional.Int
5960
6061
61- /-
6262namespace Propositional.Cl
6363
6464lemma iff_mem_S4_dia : φ ∈ Propositional.Cl ↔ Modal.S4 ⊢ ◇φᵍ := by
6565 constructor;
6666 . intro h;
67- suffices Modal.S4 ⊢ □◇φᵍ by exact axiomT'! this;
68- have := glivenko.mpr h;
69- have : Modal.S4 ⊢ (∼∼φ)ᵍ := ModalCompanion.companion.mp $ glivenko.mpr h;
70- cl_prover [ this ] ;
67+ exact unnec! $ Propositional.Int.modalCompanion_S4.mp $ Hilbert.glivenko.mpr h;
7168 . intro h;
72- apply glivenko.mp;
73- suffices Modal.S4 ⊢ (∼∼φ)ᵍ by exact ModalCompanion.companion.mpr this;
74- replace h : Modal.S4 ⊢ □◇φᵍ := nec! h;
75- cl_prover [ h ] ;
69+ exact Hilbert.glivenko.mp $ Propositional.Int.modalCompanion_S4.mpr $ nec! h;
7670
7771end Propositional.Cl
78- -/
7972
8073end LO
8174
Original file line number Diff line number Diff line change 1+ module
2+
3+ public import Foundation.Propositional.Hilbert.Minimal.Basic
4+ public import Foundation.Meta.IntProver
5+ public import Foundation.Meta.ClProver
6+
7+ @[expose] public section
8+
9+ namespace LO.Propositional
10+
11+ open LO.Entailment
12+ open Formula (atom)
13+
14+ variable [DecidableEq α] {φ : Formula α}
15+
16+ namespace Hilbert
17+
18+ instance : (Hilbert.Int : Hilbert α) ⪯ Hilbert.Cl := Hilbert.weakerThan_of_le $ by simp
19+
20+ theorem iff_provable_dn_Int_Cl : Hilbert.Int ⊢ ∼∼φ ↔ Hilbert.Cl ⊢ φ := by
21+ constructor;
22+ . intro d;
23+ exact of_NN! $ WeakerThan.pbl d;
24+ . intro ⟨d⟩;
25+ induction d with
26+ | mdp _ _ ihφψ ihφ => exact (CNNNN!_of_NNC! ihφψ) ⨀ ihφ;
27+ | axm h => rcases h with (⟨_, rfl⟩ | ⟨_, rfl⟩) <;> int_prover;
28+ | _ => apply dni'! (by simp);
29+
30+ alias glivenko := iff_provable_dn_Int_Cl
31+
32+ theorem iff_provable_neg_Int_neg_Cl : Hilbert.Int ⊢ ∼φ ↔ Hilbert.Cl ⊢ ∼φ := by
33+ constructor;
34+ . intro d; exact glivenko.mp $ dni'! d;
35+ . intro d; exact tne'! $ glivenko.mpr d;
36+
37+ end Hilbert
38+
39+ end LO.Propositional
40+
41+ end
You can’t perform that action at this time.
0 commit comments