fact: Record godel_coding n := { gc_pr : pos n -> nat; gc_enc : vec nat n -> nat; gc_pr_nz : forall p, 0 < gc_pr p; gc_not_div : forall p v, v#>p = 0 -> ~ divides (gc_pr p) (gc_enc v); gc_succ : forall p v, gc_pr p * gc_enc v = gc_enc (v[(S (v#>p))/p]) }.
imports: List Arith Lia Undecidability.Shared.Libs.DLW(utils gcd prime pos vec)