fact: Definition φ' (n: nat) := match decode n with | (0, 0) => 0 | (0, 1) => 1 | (0, 2) => 2 | (0, _) => 0 | (S x, m) => match decode m with | (0, 0) => (φ x) | (0, 1) => 1 + (φ x) | (0, 2) => 1 + (1 + (φ x)) * (1 + (φ x)) | (0, 3) => 1 + (φ x) + (φ x) | (S y, 0) => 2 + (φ x) + (φ x) + (1 + (φ y)) * (1 + (φ y)) | (S y, 1) => 2 + (φ x) + (φ x) + (φ y) + (φ y) | (S y, 2) => 2 + (1 + (φ x) + (φ y)) * (1 + (φ x) + (φ y)) | (_, _) => 0 end end.
imports: List Lia Undecidability.DiophantineConstraints.H10C ssreflect ssrbool ssrfun