Section Sk.
Hypothesis k:nat.
Hypothesis Base_k: k<>0.
Inductive Base: (nat*(list nat))->Prop :=
| Base_intro s
(Base_a0':fst s = S O)
(Base_a:forall i, ai i s = if Nat.ltb i (k*2) then 2^(k*2-i) else O)
(Base_l:to_l s = k*2+1):
Base s.

Lemma embanked_batch_precond'' {i e ne h_1 h_2}:
embanked_batch i e ne h_1 h_2 ->
to_l ne = k*2+1 ->
ai' 0 ne < 2^(k*2)*2 - 1 ->
ai' 1 ne < 2^(k*2)*3 ->
exists n'ne,
match i mod 2 with
| 0 => embanked_batch (ctzS (h_1-1)) ne n'ne (h_1-1) h_2
| 1 => embanked_batch (S (ctzS h_2)) ne n'ne h_1 (h_2+1)
| _ => False
end.