fact: Fixpoint term_to_nat (t: mset_term) : nat := match t with | mset_term_zero => 1 + Cantor.to_nat (0, 0) | mset_term_var x => 1 + Cantor.to_nat (0, 1+x) | mset_term_plus t u => 1 + Cantor.to_nat (1 + term_to_nat t, 1 + term_to_nat u) | mset_term_h t => 1 + Cantor.to_nat (1 + term_to_nat t, 0) end.
imports: Arith Lia List Permutation Undecidability.SetConstraints.FMsetC Undecidability.SetConstraints.Util.Facts Undecidability.Synthetic.Definitions ssreflect ssrbool ssrfun