This question is a follow-up for my badly accepted
Bézier curves for arrows in tikz
I have come up with the following. The Bézier-curve arrow works, but my label doesn't:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\usetikzlibrary{arrows.meta,positioning}
\begin{center}
\begin{tikzpicture}[state/.style={rectangle,draw=black, rounded corners},arrow/.style={->,semithick}]
\node[state] (theory) at (0,4) {theory};
\node[state] (chain) at (4,-2) {chain};
\node[state] (prove) at (0,0) {prove};
\node[state] (state) at (8,0) {state};
\draw [arrow] (state) .. controls (8,-2) and (6,-2) .. (chain) {then};
\end{tikzpicture}
\end{center}
\end{document}
TeXWorks on Windows 10 complains about
! Use of \pgfutil@next doesn't match its definition.
l.16 ... controls (8,-2) and (6,-2) .. (chain) {th
en};
?
How can I create a label for this arrow?


(state)to(chain), or around the(chain)? Also,edgeis recommended to draw arrows like this, see the complete step-by-step example in PGF manual, sec. 3. – muzimuzhi Z Jun 24 '20 at 11:01