proposition: Lemma bounded_t_comp_correct n t : @bounded_t_comp n t <-> @bounded_t n t.
proof: Proof. Proof using sig_funcs_dec. induction t. - cbn; split. 1: intros H; now econstructor. now inversion 1. - cbn; split; intros H. + econstructor. induction v in IH,H|-*. * intros ? K. inversion K. * intros t [->|H2]%vec_cons_inv. -- cbn in H. apply IH. 1: now left. apply H. -- apply IHv. { intros tt Htt. apply IH. now right. } { apply H. } easy. + inversion H. apply inj_pair2_eq_dec in H2. 2: easy. subst. induction v in IH,H1|-*. * cbn. easy. * cbn. split. 1: apply IH; [now left|apply H1; now left]. apply IHv. 1: intros t Ht; apply (IH t); now right. intros t Ht; apply H1; now right. Qed.
imports: Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability(Shared.ListAutomation Shared.Dec) Coq(Eqdep_dec PeanoNat) Coq.Vectors.Vector Undecidability.Shared.Libs.PSL.Vectors(Vectors) EqdepFacts