From bf07a9fe3ee4ff06fe186e33221f7f91871b9217 Mon Sep 17 00:00:00 2001 From: Chloe Brown Date: Tue, 6 Jun 2023 12:25:26 +0100 Subject: Write an encoding for data types. --- src/NormalForm.idr | 51 --------------------------------------------------- 1 file changed, 51 deletions(-) delete mode 100644 src/NormalForm.idr (limited to 'src/NormalForm.idr') diff --git a/src/NormalForm.idr b/src/NormalForm.idr deleted file mode 100644 index ea3b2c0..0000000 --- a/src/NormalForm.idr +++ /dev/null @@ -1,51 +0,0 @@ -module NormalForm - -import Data.SnocList.Elem -import Term -import Thinning - --- Neutrals and Normals -------------------------------------------------------- - -public export -data IsNeutral : Term ctx ty -> Type -public export -data IsNormal : Term ctx ty -> Type - -data IsNeutral where - Var : IsNeutral (Var i) - App : IsNeutral t -> IsNormal u -> IsNeutral (App t u) - Rec : IsNeutral t -> IsNormal u -> IsNormal v -> IsNeutral (Rec t u v) - -data IsNormal where - Ntrl : IsNeutral t -> IsNormal t - Abs : IsNormal t -> IsNormal (Abs t) - Zero : IsNormal Zero - Succ : IsNormal t -> IsNormal (Succ t) - -%name IsNeutral prf -%name IsNormal prf - -public export -record Normal (ctx : SnocList Ty) (ty : Ty) where - constructor MkNormal - forget : Term ctx ty - 0 isNormal : IsNormal forget - -%name Normal n, m, k - --- Inversions ------------------------------------------------------------------ - -export -Uninhabited (IsNormal (Sub t sub)) where uninhabited (Ntrl prf) impossible - -export -predNorm : IsNormal (Succ t) -> IsNormal t -predNorm (Succ prf) = prf - -export -appNtrl : IsNormal (App t u) -> IsNeutral (App t u) -appNtrl (Ntrl prf) = prf - -export -recNtrl : IsNormal (Rec t u v) -> IsNeutral (Rec t u v) -recNtrl (Ntrl prf) = prf -- cgit v1.2.3