aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Jason Gross <jgross@mit.edu>2017-05-16 22:41:43 -0400
committerGravatar Jason Gross <jgross@mit.edu>2017-05-16 22:41:43 -0400
commitad997a5143d7e3cf81ef323b18fafc74f473549d (patch)
tree449929ce98404b1e168f4423f0bebc2fa6c722d0 /src
parent65aa068685dcd8d797a4970eeda7cecea62f54ff (diff)
Flip order of extendb, lookup arguments
This allows better Proper lemmas
Diffstat (limited to 'src')
-rw-r--r--src/Compilers/CommonSubexpressionEliminationWf.v6
-rw-r--r--src/Compilers/Named/AListContext.v8
-rw-r--r--src/Compilers/Named/CompileInterp.v4
-rw-r--r--src/Compilers/Named/CompileWf.v4
-rw-r--r--src/Compilers/Named/Context.v32
-rw-r--r--src/Compilers/Named/ContextDefinitions.v16
-rw-r--r--src/Compilers/Named/ContextOn.v6
-rw-r--r--src/Compilers/Named/ContextProperties.v20
-rw-r--r--src/Compilers/Named/EstablishLiveness.v2
-rw-r--r--src/Compilers/Named/FMapContext.v12
-rw-r--r--src/Compilers/Named/InterpretToPHOAS.v2
-rw-r--r--src/Compilers/Named/InterpretToPHOASWf.v16
-rw-r--r--src/Compilers/Named/RegisterAssign.v4
-rw-r--r--src/Compilers/Named/RegisterAssignInterp.v22
-rw-r--r--src/Compilers/Named/Syntax.v2
-rw-r--r--src/Compilers/Named/Wf.v2
-rw-r--r--src/Compilers/Named/WfFromUnit.v4
17 files changed, 81 insertions, 81 deletions
diff --git a/src/Compilers/CommonSubexpressionEliminationWf.v b/src/Compilers/CommonSubexpressionEliminationWf.v
index 8d8a5d86f..76ed1fa96 100644
--- a/src/Compilers/CommonSubexpressionEliminationWf.v
+++ b/src/Compilers/CommonSubexpressionEliminationWf.v
@@ -83,10 +83,10 @@ Section symbolic.
(m1 : @SymbolicExprContext (interp_flat_type var1))
(m2 : @SymbolicExprContext (interp_flat_type var2))
(Hlen : length m1 = length m2)
- (Hm1m2None : forall t v, lookupb m1 v t = None <-> lookupb m2 v t = None)
+ (Hm1m2None : forall t v, lookupb t m1 v = None <-> lookupb t m2 v = None)
(Hm1m2Some : forall t v sv1 sv2,
- lookupb m1 v t = Some sv1
- -> lookupb m2 v t = Some sv2
+ lookupb t m1 v = Some sv1
+ -> lookupb t m2 v = Some sv2
-> forall k,
List.In k (flatten_binding_list
(t:=t)
diff --git a/src/Compilers/Named/AListContext.v b/src/Compilers/Named/AListContext.v
index 129229ee3..74b993af6 100644
--- a/src/Compilers/Named/AListContext.v
+++ b/src/Compilers/Named/AListContext.v
@@ -99,20 +99,20 @@ Section ctx.
Definition AListContext : @Context base_type_code key var
:= {| ContextT := list (key * { t : _ & var t });
- lookupb ctx n t
+ lookupb t ctx n
:= match find n ctx with
| Some (existT t' v)
=> var_cast v
| None => None
end;
- extendb ctx n t v
+ extendb t ctx n v
:= add n (existT _ t v) ctx;
- removeb ctx n t
+ removeb t ctx n
:= remove n ctx;
empty := nil |}.
Lemma length_extendb (ctx : AListContext) k t v
- : length (@extendb _ _ _ AListContext ctx k t v) = S (length ctx).
+ : length (@extendb _ _ _ AListContext t ctx k v) = S (length ctx).
Proof. reflexivity. Qed.
Lemma AListContextOk : @ContextOk base_type_code key var AListContext.
diff --git a/src/Compilers/Named/CompileInterp.v b/src/Compilers/Named/CompileInterp.v
index 32cc1e750..20a536ddc 100644
--- a/src/Compilers/Named/CompileInterp.v
+++ b/src/Compilers/Named/CompileInterp.v
@@ -49,7 +49,7 @@ Section language.
Lemma interpf_ocompilef (ctx : Context) {t} (e : exprf t) e' (ls : list (option Name))
G
(Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb ctx n t = Some x)
+ (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
v
(H : ocompilef e ls = Some v)
(Hls : oname_list_unique ls)
@@ -174,7 +174,7 @@ Section language.
Lemma interpf_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
G
(Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb ctx n t = Some x)
+ (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
v
(H : compilef e ls = Some v)
(Hls : name_list_unique ls)
diff --git a/src/Compilers/Named/CompileWf.v b/src/Compilers/Named/CompileWf.v
index a741ad213..5b6b32bb5 100644
--- a/src/Compilers/Named/CompileWf.v
+++ b/src/Compilers/Named/CompileWf.v
@@ -48,7 +48,7 @@ Section language.
Lemma wff_ocompilef (ctx : Context) G
(HG : forall t n v,
- List.In (existT _ t (n, v)%core) G -> lookupb ctx n t = Some v)
+ List.In (existT _ t (n, v)%core) G -> lookupb t ctx n = Some v)
{t} (e : exprf t) e' (ls : list (option Name))
(Hwf : wff G e e')
v
@@ -205,7 +205,7 @@ Section language.
Lemma wff_compilef (ctx : Context) {t} (e : exprf t) e' (ls : list Name)
G
(Hwf : wff G e e')
- (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb ctx n t = Some x)
+ (HG : forall t n x, List.In (existT _ t (n, x)%core) G -> lookupb t ctx n = Some x)
v
(H : compilef e ls = Some v)
(Hls : name_list_unique ls)
diff --git a/src/Compilers/Named/Context.v b/src/Compilers/Named/Context.v
index ba0ad6feb..f63172de4 100644
--- a/src/Compilers/Named/Context.v
+++ b/src/Compilers/Named/Context.v
@@ -5,14 +5,14 @@ Require Import Crypto.Util.Notations.
Record Context {base_type_code} (Name : Type) (var : base_type_code -> Type) :=
{ ContextT : Type;
- lookupb : ContextT -> Name -> forall {t : base_type_code}, option (var t);
- extendb : ContextT -> Name -> forall {t : base_type_code}, var t -> ContextT;
- removeb : ContextT -> Name -> base_type_code -> ContextT;
+ lookupb : forall {t : base_type_code}, ContextT -> Name -> option (var t);
+ extendb : forall {t : base_type_code}, ContextT -> Name -> var t -> ContextT;
+ removeb : base_type_code -> ContextT -> Name -> ContextT;
empty : ContextT }.
Coercion ContextT : Context >-> Sortclass.
Arguments ContextT {_ _ _ _}, {_ _ _} _.
-Arguments lookupb {_ _ _ _} _ _ {_}, {_ _ _ _} _ _ _.
-Arguments extendb {_ _ _ _} _ _ [_] _.
+Arguments lookupb {_ _ _ _ _} _ _, {_ _ _ _} _ _ _.
+Arguments extendb {_ _ _ _} [_] _ _ _.
Arguments removeb {_ _ _ _} _ _ _.
Arguments empty {_ _ _ _}.
@@ -24,31 +24,31 @@ Section language.
Local Notation flat_type := (flat_type base_type_code).
- Fixpoint extend (ctx : Context) {t : flat_type}
+ Fixpoint extend {t : flat_type} (ctx : Context)
(n : interp_flat_type (fun _ => Name) t) (v : interp_flat_type var t)
: Context
:= match t return interp_flat_type (fun _ => Name) t -> interp_flat_type var t -> Context with
| Tbase t => fun n v => extendb ctx n v
| Unit => fun _ _ => ctx
| Prod A B => fun n v
- => let ctx := @extend ctx A (fst n) (fst v) in
- let ctx := @extend ctx B (snd n) (snd v) in
+ => let ctx := @extend A ctx (fst n) (fst v) in
+ let ctx := @extend B ctx (snd n) (snd v) in
ctx
end n v.
- Fixpoint remove (ctx : Context) {t : flat_type}
+ Fixpoint remove {t : flat_type} (ctx : Context)
(n : interp_flat_type (fun _ => Name) t)
: Context
:= match t return interp_flat_type (fun _ => Name) t -> Context with
- | Tbase t => fun n => removeb ctx n t
+ | Tbase t => fun n => removeb t ctx n
| Unit => fun _ => ctx
| Prod A B => fun n
- => let ctx := @remove ctx A (fst n) in
- let ctx := @remove ctx B (snd n) in
+ => let ctx := @remove A ctx (fst n) in
+ let ctx := @remove B ctx (snd n) in
ctx
end n.
- Definition lookup (ctx : Context) {t}
+ Definition lookup {t} (ctx : Context)
: interp_flat_type (fun _ => Name) t -> option (interp_flat_type var t)
:= smart_interp_flat_map
(g := fun t => option (interp_flat_type var t))
@@ -60,6 +60,6 @@ Section language.
end).
End language.
-Global Arguments extend {_ _ _ _} ctx {_} _ _.
-Global Arguments remove {_ _ _ _} ctx {_} _.
-Global Arguments lookup {_ _ _ _} ctx {_} _, {_ _ _ _} ctx _ _.
+Global Arguments extend {_ _ _ _} {_} ctx _ _.
+Global Arguments remove {_ _ _ _} {_} ctx _.
+Global Arguments lookup {_ _ _ _} {_} ctx _, {_ _ _ _} _ ctx _.
diff --git a/src/Compilers/Named/ContextDefinitions.v b/src/Compilers/Named/ContextDefinitions.v
index f1a9b2741..79a3f2f1c 100644
--- a/src/Compilers/Named/ContextDefinitions.v
+++ b/src/Compilers/Named/ContextDefinitions.v
@@ -45,17 +45,17 @@ Section with_context.
Class ContextOk :=
{ lookupb_extendb_same
- : forall (ctx : Context) n t v, lookupb (extendb ctx n (t:=t) v) n t = Some v;
+ : forall (ctx : Context) n t v, lookupb t (extendb ctx n (t:=t) v) n = Some v;
lookupb_extendb_different
- : forall (ctx : Context) n n' t t' v, n <> n' -> lookupb (extendb ctx n (t:=t) v) n' t'
- = lookupb ctx n' t';
+ : forall (ctx : Context) n n' t t' v, n <> n' -> lookupb t' (extendb ctx n (t:=t) v) n'
+ = lookupb t' ctx n';
lookupb_extendb_wrong_type
- : forall (ctx : Context) n t t' v, t <> t' -> lookupb (extendb ctx n (t:=t) v) n t' = None;
+ : forall (ctx : Context) n t t' v, t <> t' -> lookupb t' (extendb ctx n (t:=t) v) n = None;
lookupb_removeb_different
- : forall (ctx : Context) n n' t t', n <> n' -> lookupb (removeb ctx n t) n' t'
- = lookupb ctx n' t';
+ : forall (ctx : Context) n n' t t', n <> n' -> lookupb t' (removeb t ctx n) n'
+ = lookupb t' ctx n';
lookupb_removeb_same
- : forall (ctx : Context) n t t', lookupb (removeb ctx n t) n t' = None;
+ : forall (ctx : Context) n t t', lookupb t' (removeb t ctx n) n = None;
lookupb_empty
- : forall n t, lookupb (@empty _ _ _ Context) n t = None }.
+ : forall n t, lookupb t (@empty _ _ _ Context) n = None }.
End with_context.
diff --git a/src/Compilers/Named/ContextOn.v b/src/Compilers/Named/ContextOn.v
index 4c02e26c7..3cd3fbc1a 100644
--- a/src/Compilers/Named/ContextOn.v
+++ b/src/Compilers/Named/ContextOn.v
@@ -10,9 +10,9 @@ Section language.
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;
+ lookupb t ctx n := lookupb t ctx (f n);
+ extendb t ctx n v := extendb ctx (f n) v;
+ removeb t ctx n := removeb t ctx (f n);
empty := empty |}.
Lemma ContextOnOk {Ctx} (COk : ContextOk Ctx) : ContextOk (ContextOn Ctx).
diff --git a/src/Compilers/Named/ContextProperties.v b/src/Compilers/Named/ContextProperties.v
index c7313d02d..782fc9a54 100644
--- a/src/Compilers/Named/ContextProperties.v
+++ b/src/Compilers/Named/ContextProperties.v
@@ -18,26 +18,26 @@ Section with_context.
Lemma lookupb_eq_cast
: forall (ctx : Context) n t t' (pf : t = t'),
- lookupb ctx n t' = option_map (fun v => eq_rect _ var v _ pf) (lookupb ctx n t).
+ lookupb t' ctx n = option_map (fun v => eq_rect _ var v _ pf) (lookupb t ctx n).
Proof.
intros; subst; edestruct lookupb; reflexivity.
Defined.
Lemma lookupb_extendb_eq
: forall (ctx : Context) n t t' (pf : t = t') v,
- lookupb (extendb ctx n (t:=t) v) n t' = Some (eq_rect _ var v _ pf).
+ lookupb t' (extendb ctx n (t:=t) v) n = Some (eq_rect _ var v _ pf).
Proof.
intros; subst; apply lookupb_extendb_same; assumption.
Defined.
Lemma lookupb_extendb_full (ctx : Context) n n' t t' v
- : lookupb (extendb ctx n (t:=t) v) n' t'
+ : lookupb t' (extendb ctx n (t:=t) v) n'
= match dec (n = n'), dec (t = t') with
| left _, left pf
=> Some (eq_rect _ var v _ pf)
| left _, _
=> None
| right _, _
- => lookupb ctx n' t'
+ => lookupb t' ctx n'
end.
Proof using ContextOk.
break_innermost_match; subst; simpl.
@@ -48,29 +48,29 @@ Section with_context.
Lemma lookupb_extend (ctx : Context)
T N t n v
- : lookupb (extend ctx N (t:=T) v) n t
- = find_Name_and_val t n N v (lookupb ctx n t).
+ : lookupb t (extend ctx N (t:=T) v) n
+ = find_Name_and_val t n N v (lookupb t ctx n).
Proof using ContextOk. revert ctx; induction T; t. Qed.
Lemma lookupb_remove (ctx : Context)
T N t n
- : lookupb (remove ctx N) n t
+ : lookupb t (remove ctx N) n
= match @find_Name n T N with
| Some _ => None
- | None => lookupb ctx n t
+ | None => lookupb t ctx n
end.
Proof using ContextOk. revert ctx; induction T; t. Qed.
Lemma lookupb_remove_not_in (ctx : Context)
T N t n
(H : @find_Name n T N = None)
- : lookupb (remove ctx N) n t = lookupb ctx n t.
+ : lookupb t (remove ctx N) n = lookupb t ctx n.
Proof using ContextOk. rewrite lookupb_remove, H; reflexivity. Qed.
Lemma lookupb_remove_in (ctx : Context)
T N t n
(H : @find_Name n T N <> None)
- : lookupb (remove ctx N) n t = None.
+ : lookupb t (remove ctx N) n = None.
Proof using ContextOk. rewrite lookupb_remove; break_match; congruence. Qed.
Lemma find_Name_and_val_Some_None
diff --git a/src/Compilers/Named/EstablishLiveness.v b/src/Compilers/Named/EstablishLiveness.v
index c2d6c273a..706327918 100644
--- a/src/Compilers/Named/EstablishLiveness.v
+++ b/src/Compilers/Named/EstablishLiveness.v
@@ -50,7 +50,7 @@ Section language.
: list liveness
:= match e with
| TT => prefix
- | Var t' name => match lookup ctx (Tbase t') name with
+ | Var t' name => match lookup (Tbase t') ctx name with
| Some ls => ls
| _ => nil
end
diff --git a/src/Compilers/Named/FMapContext.v b/src/Compilers/Named/FMapContext.v
index 04f22cc3b..02b0fd05c 100644
--- a/src/Compilers/Named/FMapContext.v
+++ b/src/Compilers/Named/FMapContext.v
@@ -25,15 +25,15 @@ Module FMapContextFun (E : DecidableType) (W : WSfun E).
end.
Definition FMapContext : @Context base_type_code W.key var
:= {| ContextT := W.t { t : _ & var t };
- lookupb ctx n t
+ lookupb t ctx n
:= match W.find n ctx with
| Some (existT t' v)
=> var_cast v
| None => None
end;
- extendb ctx n t v
+ extendb t ctx n v
:= W.add n (existT _ t v) ctx;
- removeb ctx n t
+ removeb t ctx n
:= W.remove n ctx;
empty := W.empty _ |}.
Lemma FMapContextOk : @ContextOk base_type_code W.key var FMapContext.
@@ -58,9 +58,9 @@ Module FMapContextFun (E : DecidableType) (W : WSfun E).
Definition FMapContext_nd : @Context base_type_code W.key (fun _ => var)
:= {| ContextT := W.t var;
- lookupb ctx n t := W.find n ctx;
- extendb ctx n t v := W.add n v ctx;
- removeb ctx n t := W.remove n ctx;
+ lookupb t ctx n := W.find n ctx;
+ extendb t ctx n v := W.add n v ctx;
+ removeb t ctx n := W.remove n ctx;
empty := W.empty _ |}.
End ctx_nd.
End FMapContextFun.
diff --git a/src/Compilers/Named/InterpretToPHOAS.v b/src/Compilers/Named/InterpretToPHOAS.v
index 1ccad6cad..4e74fc59a 100644
--- a/src/Compilers/Named/InterpretToPHOAS.v
+++ b/src/Compilers/Named/InterpretToPHOAS.v
@@ -27,7 +27,7 @@ Module Export Named.
: @Syntax.exprf base_type_code op var t
:= match e in Named.exprf _ _ _ t return @Syntax.exprf base_type_code op var t with
| Named.Var t' x
- => match lookupb ctx x t' with
+ => match lookupb t' ctx x with
| Some v => Var v
| None => failf _
end
diff --git a/src/Compilers/Named/InterpretToPHOASWf.v b/src/Compilers/Named/InterpretToPHOASWf.v
index fd35ab12c..d2b3f18d3 100644
--- a/src/Compilers/Named/InterpretToPHOASWf.v
+++ b/src/Compilers/Named/InterpretToPHOASWf.v
@@ -54,9 +54,9 @@ Section language.
| [ H : context[find_Name_and_val ?tdec ?ndec ?a ?b ?c ?d ?default] |- _ ]
=> lazymatch default with None => fail | _ => idtac end;
rewrite (find_Name_and_val_split tdec ndec (default:=default)) in H
- | [ H : forall n t, lookupb _ n t = None <-> lookupb _ n t = None |- context[lookupb _ _ = None] ]
+ | [ H : forall n t, lookupb _ n = None <-> lookupb _ n = None |- context[lookupb _ _ = None] ]
=> rewrite H
- | [ H : forall n t, lookupb _ n t = None |- context[lookupb _ _ = None] ]
+ | [ H : forall n t, lookupb _ n = None |- context[lookupb _ _ = None] ]
=> rewrite H
end ].
Local Ltac t := repeat t_step.
@@ -68,11 +68,11 @@ Section language.
(Hwf2 : prop_of_option (Named.wff ctx2 e))
G
(HG : forall n t v1 v2,
- lookupb ctx1 n t = Some v1
- -> lookupb ctx2 n t = Some v2
+ lookupb t ctx1 n = Some v1
+ -> lookupb t ctx2 n = Some v2
-> List.In (existT _ t (v1, v2)%core) G)
(Hctx1_ctx2 : forall n t,
- lookupb ctx1 n t = None <-> lookupb ctx2 n t = None)
+ lookupb t ctx1 n = None <-> lookupb t ctx2 n = None)
: wff G (interpf_to_phoas failb1 ctx1 e) (interpf_to_phoas failb2 ctx2 e).
Proof using Context1Ok Context2Ok Name_dec base_type_code_dec.
revert dependent G; revert dependent ctx1; revert dependent ctx2; induction e;
@@ -93,8 +93,8 @@ Section language.
{t} (e : @Named.expr base_type_code op Name t)
(Hwf1 : Named.wf ctx1 e)
(Hwf2 : Named.wf ctx2 e)
- (Hctx1 : forall n t, lookupb ctx1 n t = None)
- (Hctx2 : forall n t, lookupb ctx2 n t = None)
+ (Hctx1 : forall n t, lookupb t ctx1 n = None)
+ (Hctx2 : forall n t, lookupb t ctx2 n = None)
: wf (interp_to_phoas failb1 ctx1 e) (interp_to_phoas failb2 ctx2 e).
Proof using Context1Ok Context2Ok Name_dec base_type_code_dec.
constructor; intros.
@@ -119,7 +119,7 @@ Section language.
Lemma Wf_InterpToPHOAS_gen
{ctx : forall var, Context var}
{t} (e : @Named.expr base_type_code op Name t)
- (Hctx : forall var n t, lookupb (ctx var) n t = None)
+ (Hctx : forall var n t, lookupb t (ctx var) n = None)
(Hwf : forall var, Named.wf (ctx var) e)
: Wf (InterpToPHOAS_gen failb ctx e).
Proof using ContextOk Name_dec base_type_code_dec.
diff --git a/src/Compilers/Named/RegisterAssign.v b/src/Compilers/Named/RegisterAssign.v
index 869d959ec..0b6c9b7b9 100644
--- a/src/Compilers/Named/RegisterAssign.v
+++ b/src/Compilers/Named/RegisterAssign.v
@@ -34,9 +34,9 @@ Section language.
: option (exprf OutName t)
:= match e in Named.exprf _ _ _ t return option (exprf _ t) with
| TT => Some TT
- | Var t' name => match lookupb ctxi name t' with
+ | Var t' name => match lookupb t' ctxi name with
| Some new_name
- => match lookupb ctxr new_name t' with
+ => match lookupb t' ctxr new_name with
| Some name'
=> if InName_beq name name'
then Some (Var new_name)
diff --git a/src/Compilers/Named/RegisterAssignInterp.v b/src/Compilers/Named/RegisterAssignInterp.v
index bcf276517..be0e9cace 100644
--- a/src/Compilers/Named/RegisterAssignInterp.v
+++ b/src/Compilers/Named/RegisterAssignInterp.v
@@ -80,9 +80,9 @@ Section language.
Proof using Type. t_find T. Qed.
Lemma lookupb_extend_helper {ctxi : InContext} {ctxr : ReverseContext} {t T NI NO n_in n_out}
- (H0 : lookupb (extend (t:=T) ctxi NI NO) n_in t = Some n_out)
- (H1 : lookupb (extend (t:=T) ctxr NO NI) n_out t = Some n_in)
- : ((lookupb ctxi n_in t = Some n_out /\ lookupb ctxr n_out t = Some n_in)
+ (H0 : lookupb t (extend (t:=T) ctxi NI NO) n_in = Some n_out)
+ (H1 : lookupb t (extend (t:=T) ctxr NO NI) n_out = Some n_in)
+ : ((lookupb t ctxi n_in = Some n_out /\ lookupb t ctxr n_out = Some n_in)
/\ (find_Name _ n_in NI = None /\ find_Name _ n_out NO = None))
\/ (find_Name_and_val _ _ t n_in NI NO None = Some n_out
/\ find_Name_and_val _ _ t n_out NO NI None = Some n_in).
@@ -186,10 +186,10 @@ Section language.
eout
v1 v2
: (forall t (n_in : InName) (n_out : OutName) v1 v2,
- lookupb ctxi n_in t = Some n_out
- -> lookupb ctxr n_out t = Some n_in
- -> lookupb ctxi_interp n_in t = Some v1
- -> lookupb ctxr_interp n_out t = Some v2
+ lookupb t ctxi n_in = Some n_out
+ -> lookupb t ctxr n_out = Some n_in
+ -> lookupb t ctxi_interp n_in = Some v1
+ -> lookupb t ctxr_interp n_out = Some v2
-> v1 = v2)
-> @register_reassignf ctxi ctxr t e new_names = Some eout
-> interpf (interp_op:=interp_op) (ctx:=ctxr_interp) eout = Some v1
@@ -207,10 +207,10 @@ Section language.
eout
v1 v2 x
: (forall t (n_in : InName) (n_out : OutName) v1 v2,
- lookupb ctxi n_in t = Some n_out
- -> lookupb ctxr n_out t = Some n_in
- -> lookupb ctxi_interp n_in t = Some v1
- -> lookupb ctxr_interp n_out t = Some v2
+ lookupb t ctxi n_in = Some n_out
+ -> lookupb t ctxr n_out = Some n_in
+ -> lookupb t ctxi_interp n_in = Some v1
+ -> lookupb t ctxr_interp n_out = Some v2
-> v1 = v2)
-> @register_reassign ctxi ctxr t e new_names = Some eout
-> interp (interp_op:=interp_op) (ctx:=ctxr_interp) eout x = Some v1
diff --git a/src/Compilers/Named/Syntax.v b/src/Compilers/Named/Syntax.v
index 453e37de9..34ba1f48f 100644
--- a/src/Compilers/Named/Syntax.v
+++ b/src/Compilers/Named/Syntax.v
@@ -44,7 +44,7 @@ Module Export Named.
(ctx : Context) {t} (e : exprf t)
: option (interp_flat_type t)
:= match e in exprf t return option (interp_flat_type t) with
- | Var t' x => lookupb ctx x t'
+ | Var t' x => lookupb t' ctx x
| TT => Some tt
| Pair _ ex _ ey
=> match @interpf ctx _ ex, @interpf ctx _ ey with
diff --git a/src/Compilers/Named/Wf.v b/src/Compilers/Named/Wf.v
index 736d0bd81..79f620edb 100644
--- a/src/Compilers/Named/Wf.v
+++ b/src/Compilers/Named/Wf.v
@@ -18,7 +18,7 @@ Module Export Named.
Fixpoint wff_gen (ctx : Context) {t} (e : @exprf base_type_code op Name t) : option pointed_Prop
:= match e with
| TT => Some trivial
- | Var t n => match lookupb ctx n t return bool with
+ | Var t n => match lookupb t ctx n return bool with
| Some _ => true
| None => false
end
diff --git a/src/Compilers/Named/WfFromUnit.v b/src/Compilers/Named/WfFromUnit.v
index c6b28f824..e00a79274 100644
--- a/src/Compilers/Named/WfFromUnit.v
+++ b/src/Compilers/Named/WfFromUnit.v
@@ -50,7 +50,7 @@ Section language.
Lemma wff_from_unit
(vctx : vContext)
(uctx : uContext)
- (Hctx : forall t n, lookupb vctx n t = None <-> lookupb uctx n t = None)
+ (Hctx : forall t n, lookupb t vctx n = None <-> lookupb t uctx n = None)
{t} (e : @exprf base_type_code op Name t)
: wff_unit uctx e = Some trivial -> prop_of_option (wff vctx e).
Proof using Name_dec base_type_code_dec uContextOk vContextOk.
@@ -60,7 +60,7 @@ Section language.
Lemma wf_from_unit
(vctx : vContext)
(uctx : uContext)
- (Hctx : forall t n, lookupb vctx n t = None <-> lookupb uctx n t = None)
+ (Hctx : forall t n, lookupb t vctx n = None <-> lookupb t uctx n = None)
{t} (e : @expr base_type_code op Name t)
: wf_unit uctx e = Some trivial -> wf vctx e.
Proof using Name_dec base_type_code_dec uContextOk vContextOk.