X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Focaml%2Fcic_proof_checking%2FcicCooking.ml;h=c382bb361f7e554ad56b6ce243a11f27a365bb6e;hb=10434de696a721d9ea1b4eddc4169d601ee671e5;hp=109c1582fa45afe2640a48b1dddd73ae27c0ead8;hpb=91a053eb7a6ced7443122635312718a53aab803f;p=helm.git diff --git a/helm/ocaml/cic_proof_checking/cicCooking.ml b/helm/ocaml/cic_proof_checking/cicCooking.ml index 109c1582f..c382bb361 100644 --- a/helm/ocaml/cic_proof_checking/cicCooking.ml +++ b/helm/ocaml/cic_proof_checking/cicCooking.ml @@ -197,7 +197,18 @@ let cook_one_level obj curi cookingsno vars = (name,inductive,cook_prod curi cookingsno arity vars,constructors') ) dl in - C.InductiveDefinition (dl', params, n_ind_params + List.length vars) + let number_of_variables_without_a_body = + let is_not_letin uri = + match CicEnvironment.get_obj uri with + C.Variable (_,None,_) -> true + | C.Variable (_,Some _,_) -> false + | _ -> raise (WrongUriToVariable (UriManager.string_of_uri uri)) + in + List.fold_left + (fun i uri -> if is_not_letin uri then i + 1 else i) 0 vars + in + C.InductiveDefinition + (dl', params, n_ind_params + number_of_variables_without_a_body) ;; let cook_obj obj uri =