Skip to content

Commit e22ebb4

Browse files
committed
glivenko
1 parent 93b38a2 commit e22ebb4

4 files changed

Lines changed: 45 additions & 22 deletions

File tree

Foundation.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -361,7 +361,6 @@ public import Foundation.Modal.MaximalConsistentSet
361361
public import Foundation.Modal.ModalCompanion
362362
public import Foundation.Modal.ModalCompanion.Corsi
363363
public import Foundation.Modal.ModalCompanion.Corsi.VF
364-
public import Foundation.Modal.ModalCompanion.Standard
365364
public import Foundation.Modal.ModalCompanion.Standard.Basic
366365
public import Foundation.Modal.ModalCompanion.Standard.Cl
367366
public import Foundation.Modal.ModalCompanion.Standard.Int
@@ -461,6 +460,7 @@ public import Foundation.Propositional.Hilbert.F.Deduction
461460
public import Foundation.Propositional.Hilbert.F.Disjunctive
462461
public import Foundation.Propositional.Hilbert.F_WF
463462
public import Foundation.Propositional.Hilbert.Minimal.Basic
463+
public import Foundation.Propositional.Hilbert.Minimal.Glivenko
464464
public import Foundation.Propositional.Hilbert.Standard
465465
public import Foundation.Propositional.Hilbert.Standard.Basic
466466
public import Foundation.Propositional.Hilbert.Standard.Glivenko

Foundation/Modal/ModalCompanion/Standard.lean

Lines changed: 0 additions & 11 deletions
This file was deleted.

Foundation/Modal/ModalCompanion/Standard/Int.lean

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ public import Foundation.Logic.Embedding
44
public import Foundation.Modal.Boxdot.GL_Grz
55
public import Foundation.Modal.ModalCompanion.Standard.Basic
66
public 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
5859
end Propositional.Int
5960

6061

61-
/-
6262
namespace Propositional.Cl
6363

6464
lemma 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

7771
end Propositional.Cl
78-
-/
7972

8073
end LO
8174

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
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

0 commit comments

Comments
 (0)