To complement @Gilles' answer, you can also assign values to positional parameters outside of arithmetic expressions with 1=value for instance, so here to increment the first positional parameter, you could also do:
1=$(($1 + 1))
But strictly speaking, if $1 may contain an arbitrary arithmetic expression as opposed to just a literal numerical constant (such as a=++x for instance), you'd need 1=$((($1) + 1)) for the two to be equivalent¹. Compare:
$ x=4 zsh -c '((argv[1]++)); echo "$1 $a $x"' zsh a=++x
6 5 5
$ x=4 zsh -c '1=$(($1 + 1)); echo "$1 $a $x"' zsh a=++x
6 6 5
$ x=4 zsh -c '1=$((($1) + 1)); echo "$1 $a $x"' zsh a=++x
6 5 5
That's one of the common problems with using $var instead of var inside arithmetic expressions. With $1, you obviously can't use 1, but with zsh, you can use argv[1].
Beside those convoluted cases, the problem manifests itself in real life cases with things like:
$ zsh -c 'echo $((1-$1))' zsh -3
zsh:1: bad math expression: operator expected at `3'
As that becomes 1--3 which is an incorrect usage of the -- operator. You'd work around it with either:
$ zsh -c 'echo $((1 - $1))' zsh -3
4
$ zsh -c 'echo $((1-($1)))' zsh -3
4
$ zsh -c 'echo $((1-argv[1]))' zsh -3
4
(though again, the first one would give different results for values like 1 + 1).
¹If we ignore the fact that ((argv[1]++)) returns a non-zero exit status when $1 was resolving to 0