induction 1; intuition.
unfold compMap.
intuition.
unfold compMap. fold compMap.
comp_skip.
comp_skip.
Qed.

Theorem compFold_perm :
forall (A B : Set)(inv : B -> Prop)(ls1 ls2 : list A),
Permutation ls1 ls2 ->
forall (eqd : EqDec B) (c : B -> A -> Comp B) init x,
(forall b a1 a2 x,
In a1 ls1 ->
In a2 ls2 ->
inv b ->
evalDist (b' <-$ c b a1; c b' a2) x ==
evalDist (b' <-$ c b a2; c b' a1) x) ->
(forall a b b',
In a ls1 ->
inv b ->
In b' (getSupport (c b a)) ->
inv b') ->
inv init ->
evalDist (compFold _ c init ls1) x ==
evalDist (compFold _ c init ls2) x.