fol_idris/src/Context.idr

27 lines
631 B
Idris
Raw Normal View History

2025-07-24 17:41:26 -07:00
module Context
import Signature
import Term
import Formula
import Data.Fin
%default total
public export
data Context : Signature nFuncs nRels -> Nat -> Type where
Nil : Context sig 0
(::) : {d : Nat} -> Formula sig d -> Context sig n -> Context sig (S n)
public export
index : Fin n -> Context sig n -> (d ** Formula sig d)
index FZ (x :: _) = (depth x ** x)
index (FS k) (_ :: xs) = index k xs
public export
data Subset : Context sig n -> Context sig m -> Type where
Empty : Subset [] c
Missing : Subset c1 c2 -> Subset c1 (a :: c2)
There : Subset c1 c2 -> Subset (a :: c1) (a :: c2)
2025-07-26 19:58:19 -07:00
Same : Subset c c