(** * Additional results not mentioned in the paper *)
From Undecidability.L Require Import Encodings.
(** ** Natural numbers *)
(** *** Predecessor and multiplication *)
Definition Pred : term := .\"n"; "n" !Zero (.\"n"; "n").
Hint Unfold Pred : cbv.

(* Specifications: *)
Lemma Pred_correct n : Pred (enc n) ≡ enc (pred n).
Definition Mul := rho (.\ "Mul", "m", "n"; "m" !Zero (.\ "m"; !Add "n" ("Mul" "m" "n"))).
Lemma Mul_correct m n :
Mul (enc n) (enc m) ≡ enc (n * m).