Section ListOperatorsCompatibilityProperties.
Global Instance Lambda_step_proper k:
Proper (step ++> step) (Lambda k).
Global Instance AppR_step_proper:
Proper (step ++> eq ++> step) AppR.
Global Instance AppR_lstep_proper:
Proper (eq ++> lstep step ++> step) AppR.
Global Instance AppL_step_proper:
Proper (eq ++> step ++> step) AppL.
Global Instance AppL_lstep_proper:
Proper (lstep step ++> eq ++> step) AppL.
Global Instance Lambda_steps_proper k:
Proper (star step ++> star step) (Lambda k).
Global Instance AppL_proper:
Proper (star (lstep step) ++> star step ++> star step) AppL.
Global Instance AppR_proper:
Proper (star step ++> star (lstep step) ++> star step) AppR.
Global Instance Lambda_equiv_proper n:
Proper (equiv step ++> equiv step) (Lambda n).
Global Instance equiv_AppL_proper:
Proper (equiv (lstep step) ++> equiv step ++> equiv step) AppL.
Global Instance equiv_AppR_proper:
Proper (equiv step ++> equiv (lstep step) ++> equiv step) AppR.
End ListOperatorsCompatibilityProperties.

Lemma AppR_Lambda' T s m:
m = length T -> AppR (Lambda m s) T >* T .+ var • s.