Module ZTree := ITree(ZIndexed).Remark H_base':
  P' nil init.Remark H_rec':
  forall k v l a,
  ~In k (List.map (@fst T.elt V) l) ->
  In (k, v) (T.elements m_final) ->
  P' l a ->
  P' (l ++ (k, v) :: nil) (f a k v).

Theorem fold_rec: P m_final (T.fold f m_final init).