Era solo un esempio per vedere se avevo capito.
Hai capito perfettamente.
`
\setupcolors[state=start]
\definedescription
[proof]
[text=Proof.]
\newdimen\RecordPos
\newdimen\TempPos
\def\QEDHERE{\rlap{\vrule width\textwidth height1pt depth0pt}\global\RecordPos=\the\pagetotal}
\def\PutQED{%
%\par\nointerlineskip\vskip0pt
\rlap{\color[blue]{\vrule width\textwidth height1sp depth0pt}}%
\TempPos=\the\pagetotal%
\nobreak\vskip-\the\dimexpr(\TempPos-\RecordPos)%
\nobreak\hbox to \textwidth{\hfill$\square$}\vskip\the\dimexpr(\TempPos-\RecordPos-\lineheight)
}
\setupdescriptions
[proof]
[width=broad,
distance=0.5em,
location=serried,
headstyle=it,
indentnext=yes,
indenting=yes,
after=\PutQED,
]
\starttext
\startproof
Questa \'e una dimostrazione
\startformula
a=\int_{\sum_{\int_\sum^6}}^{100}\sum b^2\QEDHERE
\stopformula
\stopproof
\startproof
Questa \'e una dimostrazione
\startformula
a=b \QEDHERE
\stopformula
\stopproof
\startproof
Questa \'e una dimostrazione
\startformula
a=\frac{1}{c} \QEDHERE
\stopformula
\stopproof
\startproof
Questa \'e una dimostrazione
\startformula
a=\sum b\QEDHERE
\stopformula
\stopproof
\stoptext
`
L’idea è semplice: memorizza con \QEDHERE il punto dove appare la formula,
una volta chiuso proof torna su fino al punto, metti $\square$, e ritorna alla fine di proof.
Ma deve esserci qualche altro spazio che mi sfugge, quindi come realizzazione non è un granchè
(se non vuoi vedere le rule mettile ad altezza 0pt).