Section LIFT.
Context `{kf: KripkeFrame}.
Context {A1 B1 A2 B2 A B: Type}.
(** For elementary relations, the corresponding Kripke relation can just ignore the Kripke world. *)
Definition k (R: rel A B): klr W A B :=
fun w => R.
Global Instance k_rel var:
Monotonic k (var ++> - ==> var).
(** For relators of higher arities, we let the original relator [RR] operate independently at each world [w]. *)
Definition k1 RR (R1: klr W A1 B1): klr W A B :=
fun w => RR (R1 w).
Global Instance k1_rel var1 var:
Monotonic k1 ((var1 ++> var) ++> ((- ==> var1) ++> (- ==> var))).
Definition k2 RR (R1: klr W A1 B1) (R2: klr W A2 B2): klr W A B :=
fun w => RR (R1 w) (R2 w).
Global Instance k2_rel var1 var2 var:
Monotonic k2
((var1 ++> var2 ++> var) ++>
((- ==> var1) ++> (- ==> var2) ++> (- ==> var))).

Lemma k2_rintro RR (R1: klr W A1 B1) (R2: klr W A2 B2) w x y:
RIntro (RR (R1 w) (R2 w) x y) (k2 RR R1 R2 w) x y.