Thanks a lot for the answer. I have a follow-up question, would this work for a vector? So if I have vector<lower = 0, upper = 1>[N] alpha;
Can I define a vector of delta with vector<lower = -alpha, upper = 1-alpha>[N] delta;
Or should I declare each element in a loop? (Not sure if variable declaration can be done in a loop.)

I do not want the set of values to sum to a fixed constant.

Basically, I wanted to model the difference between alpha and alpha2, such that delta = alpha2 - alpha. Both alpha and alpha2 should be between 0 and 1 (because they are learning rates), hence I wanted to see if I can constrain delta based on alpha and alpha2. I am not modeling alpha and alpha2 seperately, because this is a within subject hierarchical model and I am modeling the difference parameter delta for each individual to be drawn from a group hyperparameter distribution.

That is not supported and not going to be supported. Scopes are all wrong to do that.

If you need varying upper and lower bounds, you have to do it yourself for now, including the Jacobian adjustment.

Even if you’re ultimately interested in the difference, it is usually easier scientifically to model the individuals individually, then derive quantities like differences in abilities to measure.

If you have parameters alpha and alpha2, then you can just define a transformed parameter delta = alpha2 - alpha.