Skip to content

Commit 6f67298

Browse files
committed
file restructure
1 parent 42b9d06 commit 6f67298

15 files changed

Lines changed: 353 additions & 268 deletions

File tree

SeqPL.lean

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,29 @@
1-
module -- shake: keep-all
1+
module -- shake: keep-all --deprecated_module: ignore
22

3-
public import SeqPL.Arithmetic.Interpret
4-
public import SeqPL.Classification.Letterless
3+
public import SeqPL.DFormula.Basic
54
public import SeqPL.Formula.Basic
65
public import SeqPL.Formula.Letterless
76
public import SeqPL.Gentzen.Basic
87
public import SeqPL.Gentzen.WithCut
98
public import SeqPL.Hilbert.Basic
109
public import SeqPL.Kripke.Basic
1110
public import SeqPL.Kripke.Gentzen
11+
public import SeqPL.Kripke.PointGenerate
1212
public import SeqPL.Kripke.Rank
1313
public import SeqPL.Kripke.RootExtension
14-
-- public import SeqPL.Kripke.Tail
14+
public import SeqPL.Kripke.Tail
1515
public import SeqPL.Logic.Basic
16+
public import SeqPL.Logic.D.Basic
17+
public import SeqPL.Logic.GL.Basic
18+
public import SeqPL.Logic.GLPlusBoxBot.Basic
19+
public import SeqPL.Logic.S.Basic
1620
public import SeqPL.Logic.SumQuasiNormal
21+
public import SeqPL.ProvabilityLogic.Classification.Full
22+
public import SeqPL.ProvabilityLogic.Classification.Letterless
23+
public import SeqPL.ProvabilityLogic.GL.Basic
24+
public import SeqPL.ProvabilityLogic.GLPlusBoxBot.Basic
25+
public import SeqPL.ProvabilityLogic.Interpret
26+
public import SeqPL.ProvabilityLogic.SolovaySentences
27+
public import SeqPL.Tait.Basic
1728
public import SeqPL.Vorspiel.CWF
29+
public import SeqPL.Vorspiel.Set.Cofinite

SeqPL/Arithmetic/Completeness.lean

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

SeqPL/Arithmetic/Soundness.lean

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

SeqPL/Logic/Basic.lean

Lines changed: 0 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -11,41 +11,4 @@ variable {α : Type u}
1111

1212
abbrev Logic (α) := Set (Formula α)
1313

14-
abbrev LogicGL (α) : Logic α := { A | ⊢ʰ A }
15-
16-
theorem LogicGL_TFAE [DecidableEq α] {A : Formula α} : [
17-
A ∈ LogicGL α,
18-
⊢ʰ A,
19-
⊢ᵍ (∅ ⟹ {A}),
20-
⊢ᵍᶜ (∅ ⟹ {A}),
21-
∀ {κ : Type u}, [Nonempty κ] → ∀ M : Model κ α, [M.IsFiniteGL] → M ⊧ A
22-
].TFAE
23-
:= by
24-
tfae_have 12 := by grind;
25-
tfae_have 23 := ProvableGentzen.of_provableHilbert;
26-
tfae_have 32 := by
27-
intro h;
28-
simpa using ProvableHilbert.mdp (ProvableHilbert.of_provableGentzen (S := ∅ ⟹ {A}) h) (by simp);
29-
tfae_have 34 := GentzenWithCutProvable.of_without_cut;
30-
tfae_have 43 := ProvableGentzen.of_with_cut;
31-
tfae_have 25 := by
32-
intro h κ _;
33-
apply ProvableHilbert.Kripke.finite_soundness h;
34-
tfae_have 52 := ProvableHilbert.Kripke.completeness;
35-
tfae_finish;
36-
37-
theorem LogicGL_semantical_TFAE [DecidableEq α] {A : Formula α} : [
38-
A ∈ LogicGL α,
39-
∀ {κ : Type u}, [Nonempty κ] → ∀ M : Model κ α, [M.IsFiniteGL] → M ⊧ A,
40-
∀ {κ : Type u}, [Nonempty κ] → ∀ M : RootedModel κ α, [M.IsFiniteGL] → M.root.1 ⊩ A
41-
].TFAE := by
42-
tfae_have 12 := LogicGL_TFAE.out 0 4;
43-
tfae_have 23 := by
44-
intro h κ _ M _;
45-
apply h;
46-
tfae_have 32 := by
47-
intro h κ _ M _ x;
48-
exact Model.toRootedModel.forces_same_at_root.mp $ h (M.toRootedModel x);
49-
tfae_finish;
50-
5114
end

SeqPL/Logic/D/Basic.lean

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module
2+
3+
public import SeqPL.Logic.SumQuasiNormal
4+
public import SeqPL.Logic.S.Basic
5+
6+
@[expose]
7+
public section
8+
9+
abbrev LogicD {α} : Logic α := (LogicGL) +ᴸ (insert (∼□⊥) { □(□A ⋎ □B) 🡒 (□A ⋎ □B) | (A) (B) })
10+
11+
lemma LogicS_subset_LogicD : LogicD (α := α) ⊆ LogicS := by
12+
intro A h;
13+
induction h with
14+
| mem₁ h => apply Logic.sumQuasiNormal.mem₁; exact h
15+
| mdp h₁ h₂ ih₁ ih₂ => apply Logic.sumQuasiNormal.mdp; exact ih₁; exact ih₂
16+
| subst h ih => apply Logic.sumQuasiNormal.subst; exact ih
17+
| mem₂ h =>
18+
rcases h with (rfl | ⟨A, B, rfl⟩);
19+
. apply Logic.sumQuasiNormal.mem₂;
20+
use ⊥;
21+
. apply Logic.sumQuasiNormal.mem₂;
22+
use (□A ⋎ □B);
23+
24+
end

SeqPL/Logic/GL/Basic.lean

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
module
2+
3+
public import SeqPL.Logic.SumQuasiNormal
4+
public import SeqPL.Hilbert.Basic
5+
public import SeqPL.Kripke.PointGenerate
6+
public import Mathlib.Tactic.TFAE
7+
8+
@[expose]
9+
public section
10+
11+
variable {α : Type u}
12+
13+
abbrev LogicGL {α} : Logic α := { A | ⊢ʰ A }
14+
15+
theorem LogicGL_TFAE [DecidableEq α] {A : Formula α} : [
16+
A ∈ LogicGL,
17+
⊢ʰ A,
18+
⊢ᵍ (∅ ⟹ {A}),
19+
⊢ᵍᶜ (∅ ⟹ {A}),
20+
∀ {κ : Type u}, [Nonempty κ] → ∀ M : Model κ α, [M.IsFiniteGL] → M ⊧ A
21+
].TFAE
22+
:= by
23+
tfae_have 12 := by grind;
24+
tfae_have 23 := ProvableGentzen.of_provableHilbert;
25+
tfae_have 32 := by
26+
intro h;
27+
simpa using ProvableHilbert.mdp (ProvableHilbert.of_provableGentzen (S := ∅ ⟹ {A}) h) (by simp);
28+
tfae_have 34 := GentzenWithCutProvable.of_without_cut;
29+
tfae_have 43 := ProvableGentzen.of_with_cut;
30+
tfae_have 25 := by
31+
intro h κ _;
32+
apply ProvableHilbert.Kripke.finite_soundness h;
33+
tfae_have 52 := ProvableHilbert.Kripke.completeness;
34+
tfae_finish;
35+
36+
theorem LogicGL_semantical_TFAE [DecidableEq α] {A : Formula α} : [
37+
A ∈ LogicGL,
38+
∀ {κ : Type u}, [Nonempty κ] → ∀ M : Model κ α, [M.IsFiniteGL] → M ⊧ A,
39+
∀ {κ : Type u}, [Nonempty κ] → ∀ M : RootedModel κ α, [M.IsFiniteGL] → M.root.1 ⊩ A
40+
].TFAE := by
41+
tfae_have 12 := LogicGL_TFAE.out 0 4;
42+
tfae_have 23 := by
43+
intro h κ _ M _;
44+
apply h;
45+
tfae_have 32 := by
46+
intro h κ _ M _ x;
47+
exact Model.toRootedModel.forces_same_at_root.mp $ h (M.toRootedModel x);
48+
tfae_finish;
49+
50+
end
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
module
2+
3+
public import Foundation.FirstOrder.Incompleteness.ProvabilityAbstraction.Height
4+
public import SeqPL.Logic.GL.Basic
5+
public import SeqPL.Logic.SumQuasiNormal
6+
7+
@[expose] public section
8+
9+
open Classical
10+
open LO
11+
open LO.FirstOrder.ProvabilityAbstraction
12+
13+
def LogicGLPlusBoxBot {α} : ℕ∞ → Logic α
14+
| .some n => LogicGL +ᴸ □^[n]⊥
15+
| .none => LogicGL
16+
17+
lemma LogicGLPlusBoxBot.iff_provable_provable_GL {n : ℕ} : A ∈ LogicGLPlusBoxBot n ↔ (□^[n]⊥ 🡒 A) ∈ LogicGL := by
18+
constructor;
19+
. intro h;
20+
induction h with
21+
| mem₁ hA =>
22+
sorry;
23+
| mem₂ hB =>
24+
sorry;
25+
| mdp _ _ ihAB ihA =>
26+
sorry;
27+
| subst _ ihA => sorry;
28+
. intro h;
29+
apply Logic.sumQuasiNormal.mdp;
30+
. exact Logic.sumQuasiNormal.mem₁ h;
31+
. exact Logic.sumQuasiNormal.mem₂ rfl;
32+
33+
end

SeqPL/Logic/S/Basic.lean

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
module
2+
3+
public import SeqPL.Logic.SumQuasiNormal
4+
public import SeqPL.Logic.GL.Basic
5+
6+
@[expose]
7+
public section
8+
9+
abbrev LogicS {α} : Logic α := (LogicGL) +ᴸ ({ □A 🡒 A | A })
10+
11+
end

0 commit comments

Comments
 (0)