Section ReflectionContexts.
Variables (K : ordType) (T : Type) (U : union_map_class K T).
Structure ctx := Context {keyx : seq K; varx : seq U}.
Definition empx := Context [::] [::].
(* because contexts grow during computation, *)
(* we need a notion of sub-context *)
Definition sub_ctx i j := prefix (keyx i) (keyx j) /\ prefix (varx i) (varx j).

Lemma sc_refl i : sub_ctx i i.