@@ -258,7 +258,11 @@ Section PrintMults.
258
258
setoid_rewrite bind_ret_l in H.
259
259
unf_res.
260
260
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'.
262
266
2:{ rewrite <- x. constructor; auto. eapply IHruttF; eauto; reflexivity. }
263
267
inversion H; ddestruction; subst; ddestruction; try contradiction.
264
268
subst. specialize (H0 tt tt).
@@ -274,8 +278,6 @@ Section PrintMults.
274
278
eapply CIH with (Maps.add Y (n + m) si); try apply lookup_eq.
275
279
2: { rewrite lookup_neq; subst; auto. }
276
280
rewrite tau_eutt in Hk1.
277
- (* TODO: not sure why this is failing *)
278
- (*
279
281
setoid_rewrite bind_trigger in Hk1.
280
282
setoid_rewrite interp_state_vis in Hk1. cbn in *.
281
283
rewrite bind_ret_l in Hk1. rewrite tau_eutt in Hk1.
@@ -286,13 +288,11 @@ Section PrintMults.
286
288
rewrite interp_state_ret in Hk1. rewrite bind_ret_l in Hk1.
287
289
cbn in *.
288
290
rewrite tau_eutt in Hk1.
289
- unfold Basics.iter, MonadIter_stateT0, Basics.iter, MonadIter_itree.
291
+ unfold Basics.iter, MonadIter_itree.
290
292
match goal with
291
293
H : _ ⊑ ITree.iter _ (?s1, _) |- _ ⊑ ITree.iter _ (?s2, _) =>
292
294
enough (Hseq : s2 = s1) end; try rewrite Hseq; auto.
293
295
subst. rewrite Nat.add_comm. auto.
294
- *)
295
- admit.
296
- Admitted .
296
+ Qed .
297
297
298
298
End PrintMults.
0 commit comments