Dear stan community. I am trying to specify noninformative uniform priors in my stan model whose bounds are based on arbitrary constraints on functions of parameters.

I need help to address some issues in my approach including the error discussed here Error in parsing model: base type mismatch in assignment because the solutions given there are not working/applicable for my case.

I have specified uniform priors with proper bounds because I think that makes more sense given the model constraints. Thanks, @bgoodri for raising that point and for all other very helpful insights. So far I have not parameterized `alpha_0`

into `exp_alpha_0`

as discussed there because I need `exp(alpha_0)`

to be able to generalize the model.

**#error**

SYNTAX ERROR, MESSAGE(S) FROM PARSER:

## variable definition base type mismatch, variable declared as base type: vector variable definition has base: real error in ‘model5150539c2a83_m’ at line 27, column 31

`25: model { 26: // priors 27: vector[N] right = exp(alpha_0); ^ 28: real rb = max(inv(right));`

Error in stanc(file = file, model_code = model_code, model_name = model_name, :

failed to parse Stan model ‘m’ due to the above error.

In addition: Warning message:

In readLines(file, warn = TRUE) :

incomplete final line found on ‘~\stan\m.stan’

**#line 27**

`vector[N] right = exp(alpha_0);`

**#model**

```
data{
int<lower=0> N;
int<lower=0> ncases[N];
int<lower=0> A[N];
int<lower=0> B[N];
int<lower=0> nn[N];
}
parameters {
real<upper = 0> alpha_0;
real<lower = -1, upper = inv(exp(alpha_0))> alpha_1;
real<lower = -1, upper = inv(exp(alpha_0))> alpha_2;
real<lower = -1 - alpha_1 - alpha_2, upper = inv(exp(alpha_0))> alpha_3;
}
transformed parameters {
vector[N] pp_hat;
for (i in 1:N) {
pp_hat[i] = exp(alpha_0) * (1 + alpha_1*A[i] + alpha_2*B[i] + alpha_3*A[i]*B[i]);
}
}
model {
vector[N] right = exp(alpha_0);
real rb = max(inv(right));
vector[N] left = -1 - alpha_1 - alpha_2;
real lb = min(left));
alpha_0 ~ uniform(-1e6, 0);
alpha_1 ~ uniform(-1, rb);
alpha_2 ~ uniform(-1, rb);
alpha_3 ~ uniform(lb, rb);
for (i in 1:N)
ncases ~ binomial(nn, pp_hat);
}
```

Thanks in advance for any help.