Skip to content

Commit 1afda59

Browse files
authored
Merge pull request #69 from herbelin/master+adapt-coq-pr14746-subst_instance_context-in-econstr
Adapt to Coq PR #14726 and #14746: rel_context_vect renamed into instance and subst_instance_context also in econstr
2 parents 3f23dcc + bea673c commit 1afda59

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/parametricity.ml

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
(* *)
1010
(**************************************************************************)
1111

12+
module CVars = Vars
13+
1214
open Util
1315
open Names
1416
open Vars
@@ -229,7 +231,7 @@ let apply_head_variables t n =
229231
mkApp (t, Array.of_list (List.rev l))
230232

231233
let apply_head_variables_ctxt t ctxt =
232-
mkApp (t, Context.Rel.to_extended_vect mkRel 0 ctxt)
234+
mkApp (t, Context.Rel.instance mkRel 0 ctxt)
233235

234236
(* Substitution in a signature. *)
235237
let substnl_rel_context subst n sign =
@@ -599,7 +601,7 @@ and translate_cofix order evd env t =
599601
let bk_R = liftn (nfun * order) (ft_R_len + order + 1) bk_R in
600602
let sub = range (fun k ->
601603
mkApp (mkRel (ft_R_len + (nfun - n)*order - k ),
602-
Array.map (prime !evd order k) (Context.Rel.to_extended_vect mkRel 0 ft)))
604+
Array.map (prime !evd order k) (Context.Rel.instance mkRel 0 ft)))
603605
order
604606
in
605607
let lift_rel_context n = Termops.map_rel_context_with_binders (liftn n) in
@@ -615,7 +617,7 @@ and translate_cofix order evd env t =
615617
let narg = Context.Rel.length lams in
616618
let body_R = translate order evd env_lams body in
617619
let (ft, ft_R, bk, bk_R) = ftbk_R.(n) in
618-
let theta = mkApp (mkRel (nfun - n + narg), Context.Rel.to_extended_vect mkRel 0 lams) in
620+
let theta = mkApp (mkRel (nfun - n + narg), Context.Rel.instance mkRel 0 lams) in
619621
(* lift to insert fixpoints variables before arguments
620622
* plus possible letins that were not in the type.
621623
* *)
@@ -702,7 +704,7 @@ and translate_fix order evd env t =
702704
let bk_R = liftn (nfun * order) (ft_R_len + order + 1) bk_R in
703705
let sub = range (fun k ->
704706
mkApp (mkRel (ft_R_len + (nfun - n)*order - k ),
705-
Array.map (prime !evd order k) (Context.Rel.to_extended_vect mkRel 0 ft)))
707+
Array.map (prime !evd order k) (Context.Rel.instance mkRel 0 ft)))
706708
order
707709
in
708710
let lift_rel_context n = Termops.map_rel_context_with_binders (liftn n) in
@@ -716,7 +718,7 @@ and translate_fix order evd env t =
716718
let narg = Context.Rel.length lams in
717719
(* rec_arg gives the position of the recursive argument *)
718720
let rec_arg = narg - (fst ln).(n) in
719-
let args = Context.Rel.to_extended_list mkRel 0 lams in
721+
let args = Context.Rel.instance_list mkRel 0 lams in
720722
let lams_R = translate_rel_context order evd env_rec lams in
721723
let env_lams = push_rel_context lams env_rec in
722724

@@ -815,7 +817,7 @@ and translate_fix order evd env t =
815817
mkApp (pcstr,
816818
Array.of_list
817819
(List.append lifted_i_params
818-
(Context.Rel.to_extended_list mkRel 0 realdecls)))
820+
(Context.Rel.instance_list mkRel 0 realdecls)))
819821
in
820822
let concls = constructors.(i).Inductiveops.cs_concl_realargs in
821823
assert (Array.length concls = i_nargs);
@@ -988,7 +990,7 @@ and weaken_unused_free_rels env_rc sigma term =
988990
debug_string [`Fix] (Printf.sprintf "[%s]" (String.concat ";" (List.map string_of_int sub_lst)));
989991
let sub = List.map mkRel sub_lst in
990992
let new_env_rc = apply_substitution_rel_context 1 sub [] (List.map toDecl env_rc) in
991-
let new_vec = Context.Rel.to_extended_list mkRel 0 (List.map toDecl env_rc) in
993+
let new_vec = Context.Rel.instance_list mkRel 0 (List.map toDecl env_rc) in
992994
let new_vec = List.filter (fun x -> let v = destRel sigma x in Int.Set.mem v set) new_vec in
993995
let new_vec = Array.of_list new_vec in
994996
assert (Array.length new_vec == Context.Rel.nhyps new_env_rc);
@@ -1034,7 +1036,7 @@ and rewrite_cofixpoints order evdr env (depth : int) (fix : cofixpoint) source t
10341036
let endpoint = lift 1 (prime evd order k target) in
10351037
let path = mkApp (mkRel 1,
10361038
Array.map (fun x -> lift 1 (prime evd order k x))
1037-
(Context.Rel.to_extended_vect mkRel 0 (List.map toDecl env_rc)))
1039+
(Context.Rel.instance mkRel 0 (List.map toDecl env_rc)))
10381040
in
10391041
let sort = Retyping.get_type_of env !evdr typ in
10401042
CoqConstants.add_constraints evdr sort;
@@ -1058,7 +1060,7 @@ let rec translate_mind_body name order evdr env kn b inst =
10581060
debug_env [`Inductive] "translate_mind, env = \n" env !evdr;
10591061
debug_evar_map [`Inductive] "translate_mind, evd = \n" env !evdr;
10601062
let envs =
1061-
let params = subst_instance_context inst b.mind_params_ctxt in
1063+
let params = CVars.subst_instance_context inst b.mind_params_ctxt in
10621064
let env_params = push_rel_context (List.map of_rel_decl params) env in
10631065
let env_arities =
10641066
List.fold_left (fun env ind ->
@@ -1078,7 +1080,7 @@ let rec translate_mind_body name order evdr env kn b inst =
10781080

10791081
debug_string [`Inductive] "translatation of params ...";
10801082
let mind_entry_params_R =
1081-
translate_mind_param order evdr env (subst_instance_context inst b.mind_params_ctxt)
1083+
translate_mind_param order evdr env (CVars.subst_instance_context inst b.mind_params_ctxt)
10821084
in
10831085
debug_string [`Inductive] "translatation of inductive ...";
10841086
let mind_entry_inds_R =

0 commit comments

Comments
 (0)