@@ -473,11 +473,11 @@ Proof.
473473 apply PCUICWeakeningEnv.lookup_env_Some_fresh in H as not_fresh.
474474 econstructor.
475475 - unfold PCUICAst.declared_constant in *; cbn.
476- inversion wfΣ; subst.
476+ inversion wfΣ; subst. destruct X0.
477477 destruct (eqb_spec kn0 kn) as [<-|]; [congruence|].
478478 eassumption.
479479 - unfold EGlobalEnv.declared_constant in *. cbn -[ReflectEq.eqb].
480- inversion wfΣ; subst.
480+ inversion wfΣ; subst. destruct X0.
481481 destruct (ReflectEq.eqb_spec kn0 kn); [congruence|].
482482 eassumption.
483483 - unfold erases_constant_body in *.
@@ -486,10 +486,10 @@ Proof.
486486 assert (PCUICAst.declared_constant (add_global_decl Σ (kn, decl)) kn0 cb).
487487 { unfold PCUICAst.declared_constant.
488488 cbn.
489- inversion wfΣ; subst.
489+ inversion wfΣ; subst. destruct X0.
490490 destruct (eqb_spec kn0 kn) as [<-|]; [congruence|].
491491 easy. }
492- inversion wfΣ; subst.
492+ inversion wfΣ; subst. destruct X0.
493493 eapply declared_constant_inv in H4; eauto.
494494 2:eapply weaken_env_prop_typing.
495495 red in H4.
@@ -512,35 +512,35 @@ Proof.
512512 invs wfΣ.
513513 destruct H0. split. 2: eauto.
514514 destruct d. split; eauto.
515- red. cbn. cbn in *.
515+ red. cbn. cbn in *. destruct X0.
516516 destruct (eqb_spec (inductive_mind ind) kn). cbn in *.
517517 subst.
518- eapply PCUICWeakeningEnv.lookup_env_Some_fresh in H5 . eauto. eapply H. exact H0.
518+ eapply PCUICWeakeningEnv.lookup_env_Some_fresh in kn_fresh . eauto. eapply H. exact H0.
519519 - econstructor; eauto.
520520 destruct H as [H H'].
521521 split; eauto. red in H |- *.
522- inv wfΣ.
522+ inv wfΣ. destruct X0.
523523 unfold PCUICEnvironment.lookup_env.
524524 simpl. destruct (eqb_spec (inductive_mind p.1) kn); auto. subst.
525525 eapply PCUICWeakeningEnv.lookup_env_Some_fresh in H; eauto. contradiction.
526526 destruct H0 as [H0 H0'].
527527 split; eauto. red in H0 |- *.
528- inv wfΣ. cbn. change (eq_kername (inductive_mind p.1) kn) with (ReflectEq.eqb (inductive_mind p.1) kn).
528+ inv wfΣ. destruct X0. cbn. change (eq_kername (inductive_mind p.1) kn) with (ReflectEq.eqb (inductive_mind p.1) kn).
529529 destruct (ReflectEq.eqb_spec (inductive_mind p.1) kn); auto. subst.
530530 destruct H as [H _].
531531 eapply PCUICWeakeningEnv.lookup_env_Some_fresh in H. eauto. contradiction.
532532 - econstructor; eauto.
533533 destruct H as [[[declm decli] declc] [declp hp]].
534534 repeat split; eauto.
535- inv wfΣ. unfold PCUICAst.declared_minductive in *.
535+ inv wfΣ. destruct X0. unfold PCUICAst.declared_minductive in *.
536536 unfold PCUICEnvironment.lookup_env.
537537 simpl in *.
538538 destruct (ReflectEq.eqb_spec (inductive_mind p.(proj_ind)) kn). subst.
539539 eapply PCUICWeakeningEnv.lookup_env_Some_fresh in declm; eauto. contradiction.
540540 apply declm.
541541 destruct H0 as [[[]]]. destruct a.
542542 repeat split; eauto.
543- inv wfΣ. simpl. unfold declared_minductive. cbn.
543+ inv wfΣ. destruct X0. simpl. unfold declared_minductive. cbn.
544544 destruct (ReflectEq.eqb_spec (inductive_mind p.(proj_ind)) kn); auto. subst.
545545 destruct H as [[[]]].
546546 eapply PCUICWeakeningEnv.lookup_env_Some_fresh in H. eauto. contradiction.
@@ -703,10 +703,10 @@ Proof.
703703 * unfold erases_constant_body, on_constant_decl in *.
704704 destruct ?; [|easy].
705705 destruct ?; [|easy].
706- depelim wf. depelim o0. cbn in *.
706+ depelim wf. depelim o0. destruct o1. cbn in *.
707707 eapply (erases_extends ({| universes := univs; declarations := Σ |}, cst_universes cst')); eauto.
708708 cbn. 4:{ split; eauto; cbn; try reflexivity. eexists [_]; cbn; reflexivity. }
709- constructor; auto. cbn. red in o2 . rewrite E in o2 . exact o2 .
709+ constructor; auto. cbn. red in on_global_decl_d . rewrite E in on_global_decl_d . exact on_global_decl_d .
710710 split; auto.
711711 * intros.
712712 eapply (erases_deps_cons {| universes := univs; declarations := Σ |} _ kn (PCUICEnvironment.ConstantDecl cst')); auto.
@@ -716,9 +716,9 @@ Proof.
716716 unfold on_constant_decl in *.
717717 cbn in *.
718718 eapply (erases_deps_single (_, _)). 3:eauto.
719- depelim wf. depelim o0.
719+ depelim wf. depelim o0. destruct o1.
720720 now split; cbn; eauto.
721- depelim wf. depelim o0. do 2 red in o2 . now rewrite E in o2 .
721+ depelim wf. depelim o0. destruct o1. do 2 red in on_global_decl_d . now rewrite E in on_global_decl_d .
722722 apply IH; eauto. depelim wf. now depelim o0.
723723 + set (Σu := {| universes := univs; declarations := Σ; retroknowledge := retro |}).
724724 assert (wfΣu : PCUICTyping.wf Σu).
@@ -767,17 +767,17 @@ Proof.
767767 unfold PCUICAst.declared_minductive in decli.
768768 unfold PCUICEnvironment.lookup_env in decli.
769769 simpl in decli. rewrite eq_kername_refl in decli. intuition discriminate.
770- * inv wf. inv X.
770+ * inv wf. inv X. destruct X1.
771771 specialize (IH _ (H0, X0) erg).
772772 destruct decli as [decli ?].
773773 simpl in decli |- *.
774774 unfold PCUICAst.declared_minductive, PCUICEnvironment.lookup_env in decli.
775775 simpl in decli.
776776 destruct (eqb_specT (inductive_mind k) kn). simpl in *. subst. noconf decli.
777- destruct (Forall2_nth_error_left (proj1 H) _ _ H3 ); eauto.
777+ destruct (Forall2_nth_error_left (proj1 H) _ _ H1 ); eauto.
778778 eexists _, _; intuition eauto. split; eauto. red.
779779 simpl. rewrite eqb_refl. congruence.
780- destruct (proj2 IH _ _ _ (conj decli H3 )) as [m' [i' [decli' ei]]].
780+ destruct (proj2 IH _ _ _ (conj decli H1 )) as [m' [i' [decli' ei]]].
781781 eexists _, _; intuition eauto.
782782 destruct decli'; red; split; eauto.
783783 red in d |- *. simpl.
0 commit comments