proposition: Lemma map_trace_prepend_geq A (l: list A) fl n (LT: length l <= n) : map (trace_prepend l fl) (List.seq 0 n) = l ++ map fl (List.seq 0 (n - length l)).
proof: Proof. unfold trace_prepend. rewrite seq_split with (x := length l); ins. rewrite map_app. rewrite map_nth_seq with (d := fl 0); [|by ins; desf]. rewrite map_seq_shift with (g := fl) (b := 0); ins. desf; try f_equal; lia. Qed.
imports: HahnBase HahnList HahnSets HahnRelationsBasic HahnOmega HahnWf Arith micromega.Lia IndefiniteDescription