(* returns the identity relocation list, which is the list [1 ; ... ; n] *)
(* where n = List.length [canonical_context] *)
(*CSC: ma mi basta la lunghezza del contesto canonico!!!*)
-let identity_relocation_list_for_metavariable canonical_context =
+let identity_relocation_list_for_metavariable ?(start = 1) canonical_context =
let canonical_context_length = List.length canonical_context in
let rec aux =
function
| (n,None::tl) -> None::(aux ((n+1),tl))
| (n,_::tl) -> (Some (Cic.Rel n))::(aux ((n+1),tl))
in
- aux (1,canonical_context)
+ aux (start,canonical_context)
(* Returns the first meta whose number is above the *)
(* number of the higher meta. *)
(* returns the identity relocation list, which is the list *)
(* [Rel 1 ; ... ; Rel n] where n = List.length [canonical_context] *)
val identity_relocation_list_for_metavariable :
- 'a option list -> Cic.term option list
+ ?start: int -> 'a option list -> Cic.term option list
(* Returns the first meta whose number is above the *)
(* number of the higher meta. *)