Definition e_local1 (b : wsort) (x y : TS b) :=
  forall z : TS b,
  e_relSL _ x z -> exists u : TS b, e_relSLstar _ y u /\ e_relSLstar _ z u.Notation local1 := (e_local1 _) (only parsing).(* <Warning> : Syntax is discontinued *)

(* app *)

Goal forall x y : terms, reg_app x y -> e_local1 _ x y.Save local_app.(* lambda *)

Goal forall x y : terms, reg_lambda x y -> e_local1 _ x y.Save local_lambda.(* clos *)

Goal forall x y : terms, reg_clos x y -> e_local1 _ x y.Save local_clos.(* varshift1 *)

Goal forall x y : terms, reg_varshift1 x y -> e_local1 _ x y.Save local_varshift1.(* varshift2 *)

Goal forall x y : terms, reg_varshift2 x y -> e_local1 _ x y.Save local_varshift2.(* fvarcons *)

Goal forall x y : terms, reg_fvarcons x y -> e_local1 _ x y.Save local_fvarcons.(* fvarlift1 *)

Goal forall x y : terms, reg_fvarlift1 x y -> e_local1 _ x y.Save local_fvarlift1.(* fvarlift2 *)

Goal forall x y : terms, reg_fvarlift2 x y -> e_local1 _ x y.Save local_fvarlift2.(* rvarcons *)

Goal forall x y : terms, reg_rvarcons x y -> e_local1 _ x y.Save local_rvarcons.(* rvarlift1 *)

Goal forall x y : terms, reg_rvarlift1 x y -> e_local1 _ x y.Save local_rvarlift1.(* rvarlift2 *)

Goal forall x y : terms, reg_rvarlift2 x y -> e_local1 _ x y.Save local_rvarlift2.(* assenv *)

Goal forall x y : sub_explicits, reg_assenv x y -> e_local1 _ x y.Save local_assenv.(* mapenv *)

Goal forall x y : sub_explicits, reg_mapenv x y -> e_local1 _ x y.Save local_mapenv.(* shiftcons *)

Goal forall x y : sub_explicits, reg_shiftcons x y -> e_local1 _ x y.Save local_shiftcons.(* shiftlift1 *)

Goal forall x y : sub_explicits, reg_shiftlift1 x y -> e_local1 _ x y.Save local_shiftlift1.(* shiftlift2 *)

Goal forall x y : sub_explicits, reg_shiftlift2 x y -> e_local1 _ x y.Save local_shiftlift2.(* lift1 *)

Goal forall x y : sub_explicits, reg_lift1 x y -> e_local1 _ x y.Save local_lift1.(* lift2 *)

Goal forall x y : sub_explicits, reg_lift2 x y -> e_local1 _ x y.Save local_lift2.(* liftenv *)

Goal forall x y : sub_explicits, reg_liftenv x y -> e_local1 _ x y.Save local_liftenv.(* idl *)

Goal forall x y : sub_explicits, reg_idl x y -> e_local1 _ x y.Save local_idl.(* idr *)

Goal forall x y : sub_explicits, reg_idr x y -> e_local1 _ x y.Save local_idr.(* liftid *)

Goal forall x y : sub_explicits, reg_liftid x y -> e_local1 _ x y.Save local_liftid.(* id *)

Goal forall x y : terms, reg_id x y -> e_local1 _ x y.Save local_id.(* systeme SL *)

Goal forall (b : wsort) (x y : TS b), e_systemSL _ x y -> e_local1 _ x y.Save local_systemSL.Goal forall (b : wsort) (x y : TS b), e_relSL _ x y -> e_local1 _ x y.Save local_relSL.

Theorem conf_local_SL : forall b : wsort, explicit_local_confluence _ (e_relSL b).