9595 assert (ty_expr_env_ok (exprs ρ # [e ~> of_val_i v0]) 0 e1_2).
9696 { change (exprs ρ # [e ~> of_val_i v0]) with (exprs (ρ # [e ~> v0])).
9797 eapply eval_ty_expr_env_ok; eauto with hints. simpl.
98- replace #|ρ| with (#|exprs ρ|) by apply map_length .
98+ replace #|ρ| with (#|exprs ρ|) by apply length_map .
9999 eapply subst_env_iclosed_n_inv with (n := 1); eauto with hints. }
100100
101101 assert (val_ok Σ1 v0) by (eapply eval_val_ok; eauto with hints).
@@ -135,7 +135,7 @@ Proof.
135135 now rewrite Hres. }
136136 rewrite Hc.
137137 eapply IHn; eauto with hints.
138- repeat rewrite map_length . unfold PcbvCurr.cstr_arity. propify. lia.
138+ repeat rewrite length_map . unfold PcbvCurr.cstr_arity. propify. lia.
139139 * destruct c.
140140 ** (* the closure corresponds to lambda *)
141141 simpl in *. rename e0 into n0.
@@ -300,7 +300,7 @@ Proof.
300300 destruct (resolve_inductive _ _) eqn:HresI; tryfalse.
301301 destruct (lookup_with_ind _ _) eqn:Hfind_i; tryfalse.
302302 destruct p as [nparams cs]. destruct p0 as [i ci]. simpl in *.
303- rewrite map_length .
303+ rewrite length_map .
304304 destruct_match eqn:Hnparams; tryfalse.
305305 assert (HresC: resolve_constr Σ1 i0 e = Some (nparams,i, ci)).
306306 { unfold resolve_constr. rewrite HresI. rewrite Hfind_i. reflexivity. }
@@ -330,7 +330,7 @@ Proof.
330330 destruct H2 as [Hdctor?].
331331 eapply PcbvCurr.eval_iota; eauto.
332332 * now eapply map_nth_error.
333- * cbn. rewrite map_length . unfold PcbvCurr.cstr_arity. propify. lia.
333+ * cbn. rewrite length_map . unfold PcbvCurr.cstr_arity. propify. lia.
334334 * cbn.
335335 unfold etrans_branch.
336336 unfold fun_prod,id; cbn.
@@ -343,8 +343,8 @@ Proof.
343343 rewrite Heq; cbn.
344344 assert (Hvass : forall xs, context_assumptions (map (fun '(nm, ty) => vass (aRelevant (nNamed (TCString.of_string nm))) ty) xs) = #|xs|).
345345 { intros; rewrite PCUICSigmaCalculus.context_assumptions_context by auto with hints.
346- now rewrite map_length . }
347- rewrite Hvass. rewrite combine_length, map_length .
346+ now rewrite length_map . }
347+ rewrite Hvass. rewrite length_combine, length_map .
348348 lia.
349349 * unfold iota_red in *. simpl in *.
350350 unfold expand_lets,expand_lets_k,inst_case_branch_context,inst_case_context; cbn.
@@ -358,7 +358,7 @@ Proof.
358358 inversion Hnth_eq; subst; clear Hnth_eq.
359359 assert (Heq : (#|pVars v2.1| =? #|remove_proj c|)%nat) by (propify; lia).
360360 rewrite Heq; cbn.
361- repeat rewrite map_length . rewrite combine_length,map_length .
361+ repeat rewrite length_map . rewrite length_combine,length_map .
362362 replace (min #|pVars v2.1| #|remove_proj c|) with (#|pVars v2.1|) by lia.
363363 rewrite <- map_skipn.
364364 rewrite <- map_rev.
@@ -401,12 +401,12 @@ Proof.
401401 specialize (find_forallb_map _ Hfnd HH) as Hclosed_t2; cbn in Hclosed_t2.
402402
403403 erewrite PCUICInstConv.subst_id with (s := rev (_)); eauto.
404- 2: { rewrite rev_length . rewrite to_extended_list_k_length. rewrite Hvass_eq.
405- subst g. repeat rewrite map_length . rewrite combine_length .
404+ 2: { rewrite length_rev . rewrite to_extended_list_k_length. rewrite Hvass_eq.
405+ subst g. repeat rewrite length_map . rewrite length_combine .
406406 replace (min #|pVars v2.1| #|remove_proj c|) with (#|pVars v2.1|) by lia.
407407 rewrite PCUICSigmaCalculus.context_assumptions_context.
408408 * rewrite subst_context_length.
409- repeat rewrite map_length . rewrite combine_length,map_length .
409+ repeat rewrite length_map . rewrite length_combine,length_map .
410410 replace (min #|pVars v2.1| #|remove_proj c|) with (#|pVars v2.1|) by lia.
411411 replace (#|pVars v2.1| + 0) with #|pVars v2.1| in * by lia.
412412 rewrite <- Hf.
@@ -419,11 +419,11 @@ Proof.
419419 (subst_context (rev (map (fun x : type => T⟦ subst_env_i_ty 0 (exprs ρ) x ⟧) l0)) 0 g)) = #|pVars v2.1|).
420420 { rewrite PCUICSigmaCalculus.context_assumptions_context by auto with hints.
421421 rewrite subst_context_length. subst g.
422- repeat rewrite map_length . rewrite combine_length .
422+ repeat rewrite length_map . rewrite length_combine .
423423 replace #|remove_proj c| with #|pVars v2.1| by (propify; lia).
424424 now replace (min #|pVars v2.1| #|pVars v2.1|) with #|pVars v2.1| by lia.
425425 }
426- assert (#|pVars v2.1| = #|skipn (ind_npars mib) l2|) by (rewrite skipn_length ; lia).
426+ assert (#|pVars v2.1| = #|skipn (ind_npars mib) l2|) by (rewrite length_skipn ; lia).
427427
428428 rewrite Hvass_eq1.
429429
@@ -445,7 +445,7 @@ Proof.
445445 rewrite <- map_map with (g := (expr_to_term Σ1) ∘ of_val_i)
446446 (f := snd).
447447 rewrite map_combine_snd. now subst.
448- now repeat rewrite rev_length . }
448+ now repeat rewrite length_rev . }
449449 rewrite Hmap. subst h te3.
450450 replace (#|pVars v2.1| + 0) with #|pVars v2.1| in * by lia.
451451 apply Nat.eqb_eq in Hnparams.
@@ -458,9 +458,9 @@ Proof.
458458 rewrite map_app.
459459 remember (rev (combine (pVars v2.1) (skipn (ind_npars mib) l2))) as l_rev.
460460 assert (Hlrev : #|pVars v2.1| = #|exprs l_rev|).
461- { subst. rewrite map_length .
462- rewrite rev_length . rewrite combine_length .
463- rewrite skipn_length ; lia. }
461+ { subst. rewrite length_map .
462+ rewrite length_rev . rewrite length_combine .
463+ rewrite length_skipn ; lia. }
464464 rewrite Hlrev.
465465 symmetry. eapply subst_env_swap_app with (n := 0);
466466 eauto with hints.
@@ -474,55 +474,55 @@ Proof.
474474 eapply subst_env_iclosed_0; eauto with hints.
475475 remember ((combine (rev (pVars v2.1)) (map of_val_i (rev (skipn _ l2))))) as l_comb.
476476 assert (Hlen : #|l_comb| = #|pVars v2.1|).
477- { subst. rewrite combine_length . rewrite map_length .
478- repeat rewrite rev_length . rewrite skipn_length ; lia. }
477+ { subst. rewrite length_combine . rewrite length_map .
478+ repeat rewrite length_rev . rewrite length_skipn ; lia. }
479479 rewrite <- Hlen.
480480 eapply ty_expr_env_ok_subst_env with (k := 0).
481481 assert (Hcomb : exprs (rev (combine (pVars v2.1) (skipn (ind_npars mib) l2))) = l_comb).
482482 { subst. repeat rewrite map_rev. rewrite combine_rev.
483483 apply f_equal. now rewrite map_combine_snd_funprod.
484- rewrite map_length . rewrite skipn_length ; lia. }
484+ rewrite length_map . rewrite length_skipn ; lia. }
485485 rewrite <- Hcomb. rewrite <- map_app.
486486 eapply eval_ty_expr_env_ok; eauto with hints.
487- rewrite app_length .
487+ rewrite length_app .
488488 replace (#|rev (combine (pVars v2.1) (skipn (ind_npars mib) l2))|) with #|pVars v2.1| by
489- (rewrite rev_length, combine_length, skipn_length ; lia).
490- replace #|ρ| with #|exprs ρ| by apply map_length . eauto with hints.
489+ (rewrite length_rev, length_combine, length_skipn ; lia).
490+ replace #|ρ| with #|exprs ρ| by apply length_map . eauto with hints.
491491
492492 eapply closed_exprs; eauto.
493493
494494 eapply All_snd_combine with (p := iclosed_n 0); eauto with hints.
495495 apply All_map. apply All_rev.
496496 eapply All_expr_iclosed_of_val; eauto using All_skipn.
497497
498- rewrite combine_length . rewrite map_length .
499- repeat rewrite rev_length . rewrite skipn_length by lia.
498+ rewrite length_combine . rewrite length_map .
499+ repeat rewrite length_rev . rewrite length_skipn by lia.
500500 replace (min #|pVars v2.1| (#|l2| - ind_npars mib)) with #|pVars v2.1| by lia.
501501 eauto with hints.
502502
503503 ** rewrite <- combine_rev by auto.
504504 rewrite map_combine_snd_funprod.
505505 remember ((combine (rev (pVars v2.1)) (map of_val_i (rev (skipn _ l2))))) as l_comb.
506506 assert (Hlen : #|l_comb| = #|pVars v2.1|).
507- { subst. rewrite combine_length . rewrite map_length .
508- repeat rewrite rev_length . rewrite skipn_length ; lia. }
507+ { subst. rewrite length_combine . rewrite length_map .
508+ repeat rewrite length_rev . rewrite length_skipn ; lia. }
509509 rewrite <- Hlen.
510510 eapply ty_expr_env_ok_subst_env with (k := 0).
511511 remember (ind_npars mib) as nparams.
512512 assert (Hcomb : exprs (rev (combine (pVars v2.1) (skipn nparams l2))) = l_comb).
513513 { subst. repeat rewrite map_rev. rewrite combine_rev.
514514 apply f_equal. now rewrite map_combine_snd_funprod.
515- rewrite map_length . rewrite skipn_length ; lia. }
515+ rewrite length_map . rewrite length_skipn ; lia. }
516516 rewrite <- Hcomb. rewrite <- map_app.
517517 subst nparams. eapply eval_ty_expr_env_ok; eauto with hints.
518- rewrite app_length .
518+ rewrite length_app .
519519 replace (#|rev (combine (pVars v2.1) (skipn _ l2))|) with #|pVars v2.1| by
520- (rewrite rev_length, combine_length, skipn_length ; lia).
521- replace #|ρ| with #|exprs ρ| by apply map_length . eauto with hints.
520+ (rewrite length_rev, length_combine, length_skipn ; lia).
521+ replace #|ρ| with #|exprs ρ| by apply length_map . eauto with hints.
522522 eapply closed_exprs; eauto.
523- ** rewrite map_length .
523+ ** rewrite length_map .
524524 replace (#|rev (combine (pVars v2.1) (skipn _ l2))|) with #|pVars v2.1| by
525- (rewrite rev_length, combine_length, skipn_length ; lia).
525+ (rewrite length_rev, length_combine, length_skipn ; lia).
526526 eauto with hints.
527527 ** apply All_map. subst.
528528 apply All_rev. unfold compose. simpl.
0 commit comments