@@ -258,7 +258,11 @@ Section PrintMults.
258258 setoid_rewrite bind_ret_l in H.
259259 unf_res.
260260 punfold H. red in H. cbn in *.
261- dependent induction H.
261+ match type of H with
262+ | ruttF _ _ _ _ _ (VisF _ ?kk) => remember kk as k' eqn:Ek'
263+ end.
264+ revert Ek'.
265+ dependent induction H; intros Ek'.
262266 2:{ rewrite <- x. constructor; auto. eapply IHruttF; eauto; reflexivity. }
263267 inversion H; ddestruction; subst; ddestruction; try contradiction.
264268 subst. specialize (H0 tt tt).
@@ -274,8 +278,6 @@ Section PrintMults.
274278 eapply CIH with (Maps.add Y (n + m) si); try apply lookup_eq.
275279 2: { rewrite lookup_neq; subst; auto. }
276280 rewrite tau_eutt in Hk1.
277- (* TODO: not sure why this is failing *)
278- (*
279281 setoid_rewrite bind_trigger in Hk1.
280282 setoid_rewrite interp_state_vis in Hk1. cbn in *.
281283 rewrite bind_ret_l in Hk1. rewrite tau_eutt in Hk1.
@@ -286,13 +288,11 @@ Section PrintMults.
286288 rewrite interp_state_ret in Hk1. rewrite bind_ret_l in Hk1.
287289 cbn in *.
288290 rewrite tau_eutt in Hk1.
289- unfold Basics.iter, MonadIter_stateT0, Basics.iter, MonadIter_itree.
291+ unfold Basics.iter, MonadIter_itree.
290292 match goal with
291293 H : _ ⊑ ITree.iter _ (?s1, _) |- _ ⊑ ITree.iter _ (?s2, _) =>
292294 enough (Hseq : s2 = s1) end; try rewrite Hseq; auto.
293295 subst. rewrite Nat.add_comm. auto.
294- *)
295- admit.
296- Admitted .
296+ Qed .
297297
298298End PrintMults.
0 commit comments