INT_REM_DOWN_CONV : conv
  # let tm = `((x rem n) + (y rem n * &3) pow 2) rem n`;;
  val tm : term = `(x rem n + (y rem n * &3) pow 2) rem n`
  # INT_REM_DOWN_CONV tm;;
  val it : thm =
    |- (x rem n + (y rem n * &3) pow 2) rem n = (x + (y * &3) pow 2) rem n