(* Changing k-links: effect: breaking/merging of orbits *)

(* Precondition for hmaps: *)

Definition prec_lh (m:fmap)(k:dim)(x y:dart)
  := exd m x /\ exd m y /\ y <> A m k x.(* Note that the construction of fixpoints is allowed: *)

Definition l (m:fmap)(k:dim)(x y:dart) :=
   let xk  := (A m k x) in
   let y_k := (A_1 m k y) in
   let m1 := (B_1 (B m k x) k y) in
   (L (L m1 k x y) k y_k xk).

Theorem A_l : forall (m:fmap)(k j:dim)(x y z : dart), inv_hmap m -> prec_lh m k x y -> (A (l m k x y) j z = if eq_dim_dec j k then if eq_dart_dec z x then y else if eq_dart_dec z (A_1 m k y) then A m k x else A m k z else A m j z).