proposition: Theorem dio_poly_eq_2_ra_prim : { g : recalg 1 | prim_rec g /\ forall x, (exists n, ⟦g⟧ (n##vec_nil) (S x)) <-> exists w, dp_eval (vec_pos w) (fun _ => x) p = dp_eval (vec_pos w) (fun _ => x) q }.
proof: Proof. exists g; split; auto. Qed.
imports: List Arith Undecidability.Shared.Libs.DLW(utils_tac utils_nat pos vec) Undecidability.MuRec.Util(recalg ra_utils recomp ra_recomp) Undecidability.H10.Dio(dio_single)