summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--obs.ipkg1
-rw-r--r--src/Core/Term/NormalForm.idr25
2 files changed, 26 insertions, 0 deletions
diff --git a/obs.ipkg b/obs.ipkg
index b748825..d0f8c2f 100644
--- a/obs.ipkg
+++ b/obs.ipkg
@@ -13,6 +13,7 @@ modules
, Core.Reduction
, Core.Term
, Core.Term.Environment
+ , Core.Term.NormalForm
, Core.Term.Substitution
, Core.Thinning
, Core.Var
diff --git a/src/Core/Term/NormalForm.idr b/src/Core/Term/NormalForm.idr
new file mode 100644
index 0000000..14a3f20
--- /dev/null
+++ b/src/Core/Term/NormalForm.idr
@@ -0,0 +1,25 @@
+module Core.Term.NormalForm
+
+import Core.Context
+import Core.Term
+import Core.Var
+
+-- Definition ------------------------------------------------------------------
+
+public export
+data Neutral : Term sx -> Type where
+ Var : Neutral (Var v)
+
+ App : Neutral t -> Neutral (App t u)
+
+public export
+data Whnf : Term sx -> Type where
+ Ntrl : Neutral t -> Whnf t
+
+ Set : Whnf Set
+
+ Pi : Whnf (Pi n t u)
+ Abs : Whnf (Abs n t)
+
+%name Neutral n, m
+%name Whnf n, m