diff options
author | Chloe Brown <chloe.brown.00@outlook.com> | 2023-04-01 15:13:36 +0100 |
---|---|---|
committer | Chloe Brown <chloe.brown.00@outlook.com> | 2023-04-01 15:13:36 +0100 |
commit | a90932302afa9e13b8ed6f1159fbe604c89d453f (patch) | |
tree | 430347978df77d825a9277dcd78ba56af5699409 /src/Core | |
parent | 7644c22ea64379012e7c5388b613b46550bc3896 (diff) |
Define environment equality.
Diffstat (limited to 'src/Core')
-rw-r--r-- | src/Core/Term/Environment.idr | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/Core/Term/Environment.idr b/src/Core/Term/Environment.idr index 62e3b60..4f167f9 100644 --- a/src/Core/Term/Environment.idr +++ b/src/Core/Term/Environment.idr @@ -41,3 +41,20 @@ index : Env sx -> Var sx -> Term sx index env i = let MkRes val thin = doIndex env $ view i in wkn val thin + +-- Equality -------------------------------------------------------------------- + +namespace Eq + public export + data EnvEq : Env sx -> Env sx -> Type where + Lin : EnvEq [<] [<] + Add : + EnvEq env1 env2 -> + Term.wkn t thin1 = wkn u thin2 -> + EnvEq (Add env1 thin1 t) (Add env2 thin2 u) + + %name EnvEq prf + + public export + (:<) : EnvEq env1 env2 -> (0 t : Term sx) -> EnvEq (env1 :< t) (env2 :< t) + prf :< t = Add prf Refl |