Skip to content

Commit aaeb5d6

Browse files
authored
Merge pull request #939 from ppedrot/reduce-pcontext-api
Adapt to rocq-prover/rocq#21394.
2 parents 54e89ae + 3109ca6 commit aaeb5d6

File tree

3 files changed

+10
-23
lines changed

3 files changed

+10
-23
lines changed

src/rocq_elpi_HOAS.ml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1756,11 +1756,11 @@ let mk_global state gr inst_opt = S.update_return engine state (fun x ->
17561756
) |> (fun (x,(y,z)) -> x,y,z)
17571757

17581758
[%%if coq = "9.0" || coq = "9.1"]
1759-
let merge_universe_context_sext sigma uctx =
1760-
Evd.merge_context_set Evd.univ_rigid sigma uctx
1759+
let merge_universe_context_set rigid sigma uctx =
1760+
Evd.merge_context_set rigid sigma uctx
17611761
[%%else]
1762-
let merge_universe_context_sext sigma uctx =
1763-
Evd.merge_context_set Evd.univ_rigid sigma (PConstraints.ContextSet.of_univ_context_set uctx)
1762+
let merge_universe_context_set rigid sigma uctx =
1763+
Evd.merge_context_set rigid sigma (PConstraints.ContextSet.of_univ_context_set uctx)
17641764
[%%endif]
17651765

17661766
let body_of_constant state c inst_opt = S.update_return engine state (fun x ->
@@ -1776,7 +1776,7 @@ let body_of_constant state c inst_opt = S.update_return engine state (fun x ->
17761776
| Opaqueproof.PrivateMonomorphic () -> sigma
17771777
| Opaqueproof.PrivatePolymorphic ctx ->
17781778
let ctx = Util.on_snd (subst_univs_constraints (snd (UVars.make_instance_subst inst))) ctx in
1779-
merge_universe_context_sext sigma ctx
1779+
merge_universe_context_set Evd.univ_rigid sigma ctx
17801780
in
17811781
{ x with sigma }, (Some (EConstr.of_constr bo), Some inst)
17821782
| None -> x, (None, None)) |> (fun (x,(y,z)) -> x,y,z)
@@ -3645,7 +3645,7 @@ let inductive_entry2lp ~depth coq_ctx constraints state ~loose_udecl e =
36453645
let indno = 1 in
36463646
let state =
36473647
S.update engine state (fun e ->
3648-
{ e with sigma = Evd.merge_context_set UState.univ_flexible e.sigma uctx}) in
3648+
{ e with sigma = merge_universe_context_set UState.univ_flexible e.sigma uctx}) in
36493649
let state = match mie.mind_entry_universes with
36503650
| Template_ind_entry _ -> nYI "template polymorphic inductives"
36513651
| Monomorphic_ind_entry -> state
@@ -3768,7 +3768,7 @@ let record_entry2lp ~depth coq_ctx constraints state ~loose_udecl (decl:Record.R
37683768

37693769
let state =
37703770
S.update engine state (fun e ->
3771-
{ e with sigma = Evd.merge_context_set UState.univ_flexible e.sigma decl.entry.global_univs})
3771+
{ e with sigma = merge_universe_context_set UState.univ_flexible e.sigma decl.entry.global_univs})
37723772
in
37733773

37743774
let state = match mie.mind_entry_universes with

src/rocq_elpi_HOAS.mli

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,10 @@ type record_field_spec = { name : Name.t; is_coercion : coercion_status; is_cano
126126
val lp2inductive_entry :
127127
depth:int -> empty coq_context -> constraints -> State.t -> term ->
128128
State.t * (DeclareInd.default_dep_elim list * Entries.mutual_inductive_entry * Univ.ContextSet.t * UnivNames.universe_binders * (bool * record_field_spec list) option * DeclareInd.one_inductive_impls list) * Conversion.extra_goals
129-
[%%elif coq = "9.1"]
130-
val lp2inductive_entry :
131-
depth:int -> empty coq_context -> constraints -> State.t -> term ->
132-
State.t * (DeclareInd.default_dep_elim list * Entries.mutual_inductive_entry * Univ.ContextSet.t * UState.named_universes_entry * (bool * record_field_spec list) option * DeclareInd.one_inductive_impls list) * Conversion.extra_goals
133129
[%%else]
134130
val lp2inductive_entry :
135131
depth:int -> empty coq_context -> constraints -> State.t -> term ->
136-
State.t * (DeclareInd.default_dep_elim list * Entries.mutual_inductive_entry * PConstraints.ContextSet.t * UState.named_universes_entry * (bool * record_field_spec list) option * DeclareInd.one_inductive_impls list) * Conversion.extra_goals
132+
State.t * (DeclareInd.default_dep_elim list * Entries.mutual_inductive_entry * Univ.ContextSet.t * UState.named_universes_entry * (bool * record_field_spec list) option * DeclareInd.one_inductive_impls list) * Conversion.extra_goals
137133
[%%endif]
138134

139135
[%%if coq = "9.0"]

src/rocq_elpi_builtins.ml

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -354,17 +354,13 @@ let is_mutual_inductive_entry_ground { Entries.mind_entry_params; mind_entry_ind
354354

355355
[%%if coq = "9.0" || coq = "9.1"]
356356
let evd_merge_sort_context_set rigid = Evd.merge_sort_context_set rigid
357-
let global_push_context_set x = Global.push_context_set x
358357
let check_sort_poly_decl = UState.check_univ_decl
359358
let empty_ctxset = Univ.ContextSet.empty
360359
let univ_csts_to_list = Univ.Constraints.elements
361360
let univs_of_csts = UState.constraints
362361
let ucsts_filter = Univ.Constraints.filter
363362
[%%else]
364363
let evd_merge_sort_context_set rigid = Evd.merge_sort_context_set rigid QGraph.Internal
365-
let global_push_context_set x =
366-
let () = Global.push_context_set (PConstraints.ContextSet.univ_context_set x) in
367-
Global.push_qualities QGraph.Internal (PConstraints.ContextSet.sort_context_set x)
368364
let check_sort_poly_decl = UState.check_sort_poly_decl
369365
let empty_ctxset = PConstraints.ContextSet.empty
370366
let univ_csts_to_list = Univ.UnivConstraints.elements
@@ -987,17 +983,13 @@ let eval_to_oeval = Evaluable.to_kevaluable
987983
let mkCLocalAssum x y z = Constrexpr.CLocalAssum(x,None,y,z)
988984
let pattern_of_glob_constr env g = Patternops.pattern_of_glob_constr env g
989985

990-
[%%if coq = "9.0" || coq = "9.1"]
991986
let get_entry_context = function
992987
| UState.Monomorphic_entry x, _ -> x
993988
| _ -> Univ.ContextSet.empty
994989

990+
[%%if coq = "9.0" || coq = "9.1"]
995991
let drop_sort_context uctx = uctx
996992
[%%else]
997-
let get_entry_context = function
998-
| UState.Monomorphic_entry x, _ -> PConstraints.ContextSet.univ_context_set x
999-
| _ -> Univ.ContextSet.empty
1000-
1001993
let drop_sort_context = PConstraints.ContextSet.univ_context_set
1002994
[%%endif]
1003995

@@ -2361,7 +2353,7 @@ Supported attributes:
23612353
| Polymorphic_ind_entry uctx ->
23622354
(Polymorphic_entry uctx, UState.Polymorphic_entry uctx, univ_binders)
23632355
in
2364-
let () = global_push_context_set uctx in
2356+
let () = Global.push_context_set uctx in
23652357
let mind =
23662358
let univ_binders = univ_binder_compat_820 (uentry', ubinders) univ_binders in
23672359
declare_mutual_inductive_with_eliminations ~primitive_expected ~default_dep_elim me univ_binders ind_impls in
@@ -2396,7 +2388,6 @@ Supported attributes:
23962388
| Names.Name id -> Dumpglob.dump_definition (lid_of id) false "proj"
23972389
| Names.Anonymous -> ()) names;
23982390
end;
2399-
let uctx = drop_sort_context uctx in (* ??? *)
24002391
uctx,state, !: ind, []))),
24012392
DocAbove);
24022393

0 commit comments

Comments
 (0)