This commit is contained in:
2025-12-22 16:15:02 +01:00
parent c68edf0f52
commit 4ddc498e29

View File

@@ -17,6 +17,15 @@ data Σ (A : Type) (B : A -> Type) : Type where
: {A : Type} (B : A Type) Type : {A : Type} (B : A Type) Type
{A} B = Σ A B {A} B = Σ A B
record _×_ (A B : Type) : Type where
field
fst : A
snd : B
data __ (A B : Type) : Type where
inl : A A B
inr : B A B
data Formula : Type where data Formula : Type where
: Formula : Formula
atom : Nat Formula atom : Nat Formula
@@ -72,15 +81,33 @@ record M (W : Type) : Type₁ where
R : Rel W W R : Rel W W
L : W List Nat L : W List Nat
infixr 2 _,_⊩_ infix 2 _,_⊩_
data _,_⊩_ {W : Type} (Model : M W) (x : W) : (p : Formula) Type where _,_⊩_ : {W : Type} (Model : M W) (x : W) (p : Formula) Type
top : Model , x Model , x = Bottom
atom : {p : Nat} p (M.L Model x) Model , x atom p Model , x atom n = n M.L Model x
neg : {p : Formula} ¬ (Model , x p) Model , x p Model , x ( p) = ¬ (Model , x p)
and : {p q : Formula} Model , x p Model , x q Model , x p q Model , x (p q) = (Model , x p) × (Model , x q)
orl : {p q : Formula} Model , x p Model , x p q Model , x (p q) = (Model , x p) (Model , x q)
orr : {p q : Formula} Model , x q Model , x p q Model , x p q = Model , x p Model , x q
impl : {p q : Formula} Model , x p Model , x q Model , x p q Model , x ( p) = y M.R Model x y Model , y p
-- impln : {p q : Formula} → ¬ (Model , x ⊩ p) → Model , x ⊩ p ⇒ q Model , x ( p) = λ y M.R Model x y Model , y p
box : {p : Formula} ( (y : W) M.R Model x y Model , y p) Model , x p
dia : {p : Formula} ( λ (y : W) M.R Model x y Model , y p) Model , x p data R : Nat Nat Type where
zeroone : R 0 1
zerotwo : R 0 2
onetwo : R 1 2
ExampleModel : M Nat
ExampleModel .M.R = R
ExampleModel .M.L 0 = 0 []
ExampleModel .M.L 1 = 1 2 []
ExampleModel .M.L 2 = 0 2 []
ExampleModel .M.L _ = []
Example : ExampleModel , 0 (atom 2)
Example y zeroone = succ 2 (2 []) (zero 2 [])
Example y zerotwo = succ 2 (2 []) (zero 2 [])
Example2 : ExampleModel , 0 (atom 1)
Example2 = pair 1 (λ _ zero 1 (2 []))