fact: Fixpoint encode_polynomial p := match p with | dp_nat_pfree n => encode_number n | dp_var_pfree x => $x | dp_comp_pfree do_add_pfree p q => encode_polynomial p ⊕ encode_polynomial q | dp_comp_pfree do_mul_pfree p q => encode_polynomial p ⊗ encode_polynomial q end.
imports: PeanoNat Lia Vector List Undecidability.SOL(SOL PA2) Undecidability.Shared.Libs.PSL(Vectors) Undecidability.SOL.Util(Syntax Subst Tarski PA2_facts PA2_categoricity) Undecidability.Synthetic(Definitions DecidabilityFacts EnumerabilityFacts ListEnumerabilityFacts ReducibilityFacts) Undecidability.H10(H10p) Undecidability.Shared.Dec