- (if arity_of_x < 0 then failwithProblem p "step on a var of negative arity");
- (* AC: FIXME compute arities correctly below! *)
- let arities = Num.compute_arities x (n+1) (all_terms p :> nf list) in
+ (if arity_of_x = None then failwithProblem p "step on var non occurring in problem");
+ (if Util.option_get(arity_of_x) = min_int then failwithProblem p "step on fake variable");
+ (if Util.option_get(arity_of_x) <= 0 then failwithProblem p "step on var of non-positive arity");
+ (* AC: Once upon a time, it was:
+ let arities = Num.compute_arities x (n+1) (all_terms p :> nf list) in *)