proposition: Fact finite_sum X Y : finite X -> finite Y -> finite (X+Y)%type.
proof: Proof. intros (l & Hl) (r & Hr). exists (map inl l++map inr r). intros []; apply in_app_iff; [ left | right ]; apply in_map; auto. Qed.
imports: List Arith Lia Eqdep_dec Bool Undecidability.Shared.Libs.DLW.Utils(utils_tac utils_list utils_nat) Undecidability.Shared.Libs.DLW.Vec(pos vec)