Local Infix "⇡" := nat_join (at level 50, left associativity).Local Notation power := (mscal mult 1).

(* Specifications: *)
Theorem seqs_of_ones_diophantine l q u u1 : 𝔻P l -> 𝔻P q -> 𝔻P u -> 𝔻P u1 -> 𝔻R (fun v => seqs_of_ones (l v) (q v) (u v) (u1 v)).
Theorem Code_diophantine l q a : 𝔻P l -> 𝔻P q -> 𝔻P a -> 𝔻R (fun v => Code (l v) (q v) (a v)).
Theorem Const_diophantine l q c x : 𝔻P l -> 𝔻P q -> 𝔻P c -> 𝔻P x -> 𝔻R (fun v => Const (l v) (q v) (c v) (x v)).
Theorem CodeNat_diophantine l q a : 𝔻P l -> 𝔻P q -> 𝔻P a -> 𝔻R (fun v => CodeNat (l v) (q v) (a v)).
Theorem Code_plus_diophantine a b c : 𝔻P a -> 𝔻P b -> 𝔻P c -> 𝔻R (fun v => Code_plus (a v) (b v) (c v)).
Theorem Code_mult_diophantine l q a b c : 𝔻P l -> 𝔻P q -> 𝔻P a -> 𝔻P b -> 𝔻P c -> 𝔻R (fun v => Code_mult (l v) (q v) (a v) (b v) (c v)).