This commit is contained in:
2025-12-26 01:59:38 +01:00
parent 4ddf204ae8
commit 03083966a5

View File

@@ -26,14 +26,21 @@ data __ (A B : Type) : Type where
inl : A A B inl : A A B
inr : B A B inr : B A B
orₑ : {A B C : Type} A B (A C) (B C) C
orₑ (inl x) f g = f x
orₑ (inr x) f g = g x
absurd : {A : Type} Bottom A
absurd ()
data Formula : Type where data Formula : Type where
: Formula : Formula
atom : Nat Formula atom : Nat Formula
_ : Formula Formula _ : (p : Formula) Formula
□_ : Formula Formula □_ : (p : Formula) Formula
_∧_ : Formula Formula Formula _∧_ : (p q : Formula) Formula
__ : Formula Formula Formula __ : (p q : Formula) Formula
_⇒_ : Formula Formula Formula _⇒_ : (p q : Formula) Formula
infixr 4 _⇒_ infixr 4 _⇒_
infix 19 _∧_ infix 19 _∧_
@@ -100,16 +107,19 @@ Context : Type
Context = List Formula Context = List Formula
variable variable
Γ Δ : Context Γ Δ Γ' Δ' : Context
infixl 10 _,_ infixl 10 _,_
pattern _,_ Γ X = X Γ pattern _,_ Γ X = X Γ
infix 10 _++_ infix 9 _++_
_++_ : {A : Type} List A List A List A _++_ : {A : Type} List A List A List A
[] ++ ys = ys [] ++ ys = ys
(xs , x) ++ ys = xs ++ (x ys) (xs , x) ++ ys = xs ++ (x ys)
_⊆_ : {A : Type} (Γ Γ' : List A) Type
_⊆_ {A} Γ Γ' = {X} X Γ X Γ'
infixr 2 _/_⊢_ infixr 2 _/_⊢_
data _/_⊢_ (Δ Γ : Context) : Formula Type where data _/_⊢_ (Δ Γ : Context) : Formula Type where
var : X Γ Δ / Γ X var : X Γ Δ / Γ X
@@ -147,10 +157,5 @@ ExampleSyn3 : [] / [] ⊢ (□ A ∧ □ B) ⇒ □(A ∧ B)
ExampleSyn3 {A} {B} = ⇒ᵢ (□ₑ (∧ₑ₁ (var (zero (( A) ( B)) []))) (□ₑ (∧ₑ₂ (var (zero (( A) ( B)) []))) (□ᵢ (∧ᵢ (var (succ A ([] , A) (zero A []))) (var (zero B ([] , A))))))) ExampleSyn3 {A} {B} = ⇒ᵢ (□ₑ (∧ₑ₁ (var (zero (( A) ( B)) []))) (□ₑ (∧ₑ₂ (var (zero (( A) ( B)) []))) (□ᵢ (∧ᵢ (var (succ A ([] , A) (zero A []))) (var (zero B ([] , A)))))))
ExampleSyn4 : [] / [] (A B) ( A B) ExampleSyn4 : [] / [] (A B) ( A B)
ExampleSyn4 {A} {B} = {!!} ExampleSyn4 {A} {B} = ⇒ᵢ (⇒ᵢ (¬ᵢ (□ₑ (var (zero ( ( B)) ([] , ( (A B)) , ( A)))) (□ₑ (var (succ ( (A B)) ([] , ( (A B)) , ( A)) (succ ( (A B)) ([] , ( (A B))) (zero ( (A B)) [])))) (¬ₑ (var (succ ( ( ( A))) ([] , ( (A B)) , ( A))
(zero ( ( ( A))) ([] , ( (A B)))))) (□ᵢ (¬ᵢ (¬ₑ (var (succ ( B) ([] , ( B) , (A B)) (succ ( B) ([] , ( B)) (zero ( B) [])))) (mp (var (succ (A B) ([] , ( B) , (A B)) (zero (A B) ([] , ( B))))) (var (zero A ([] , ( B) , (A B)))))))))))))
Soundness : {W : Type} (p : Formula) [] / [] p ( (m : M W) (x : W) m , x p)
Soundness p x m w = {!!}
Completeness : {W : Type} (p : Formula) ( (m : M W) (x : W) m , x p) [] / [] p
Completeness p x = {!!}