Require RndHoare.axiom. Import RndHoare.axiom.NatChoice.
Fixpoint app_fin_inf {ora: RandomOracle} (l: list RandomQA) (f: nat -> RandomQA) :=
match l with
| nil => f
| qa :: l0 => fun n =>
match n with
| 0 => qa
| S m => app_fin_inf l0 f m
end
end.

Lemma fstn_app_inf_fin {ora: RandomOracle}: forall l h n,
n >= length l ->
fstn_history n (inf_history (app_fin_inf l h)) = fin_history (l ++ fisrtn_list_from_fun h (n - length l)).