diff options
author | Andres Erbsen <andreser@mit.edu> | 2017-04-06 22:53:07 -0400 |
---|---|---|
committer | Andres Erbsen <andreser@mit.edu> | 2017-04-06 22:53:07 -0400 |
commit | c9fc5a3cdf1f5ea2d104c150c30d1b1a6ac64239 (patch) | |
tree | db7187f6984acff324ca468e7b33d9285806a1eb /src/Compilers/Named/ContextOn.v | |
parent | 21198245dab432d3c0ba2bb8a02254e7d0594382 (diff) |
rename-everything
Diffstat (limited to 'src/Compilers/Named/ContextOn.v')
-rw-r--r-- | src/Compilers/Named/ContextOn.v | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Compilers/Named/ContextOn.v b/src/Compilers/Named/ContextOn.v new file mode 100644 index 000000000..6c06d3fbe --- /dev/null +++ b/src/Compilers/Named/ContextOn.v @@ -0,0 +1,16 @@ +(** * Transfer [Context] across an injection *) +Require Import Crypto.Compilers.Named.Syntax. + +Section language. + Context {base_type_code Name1 Name2 : Type} + (f : Name2 -> Name1) + (f_inj : forall x y, f x = f y -> x = y) + {var : base_type_code -> Type}. + + Definition ContextOn (Ctx : Context Name1 var) : Context Name2 var + := {| ContextT := Ctx; + lookupb ctx n t := lookupb ctx (f n) t; + extendb ctx n t v := extendb ctx (f n) v; + removeb ctx n t := removeb ctx (f n) t; + empty := empty |}. +End language. |