proposition: Fact list_bool_succ_fun l m1 m2 : list_bool_succ l m1 -> list_bool_succ l m2 -> m1 = m2.
proof: Proof. intros H; revert l m1 H m2. intros ? ? [ k l | k ]; inversion 1. apply list_One_Zero_inj in H1; destruct H1; subst k0 l1; auto. symmetry in H1; apply list_One_Zero_not in H1; tauto. apply list_One_Zero_not in H1; tauto. apply list_One_inj in H1; subst; auto. Qed.
imports: List Arith Max Lia Wellfounded Bool Undecidability.Shared.Libs.DLW(Utils.utils)