You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: apps/tc/elpi/ho_precompile.elpi
+3-1Lines changed: 3 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -105,6 +105,8 @@ namespace tc {
105
105
precompile-aux _ (pglobal _ _ as C) A C A :- !.
106
106
precompile-aux _ (sort _ as C) A C A :- !.
107
107
precompile-aux _ (primitive _ as C) A C A :- !.
108
+
precompile-aux _ (app [global (const C) | _] as T) A (tc.canonical-projection T Scope N) (s A) :- coq.env.projection? C N, !, free-var Scope.
109
+
precompile-aux _ (app [primitive (proj P _) | _] as T) A (tc.canonical-projection T Scope 0) (s A) :- coq.env.primitive-projection? P _, !, free-var Scope.
108
110
109
111
% Detect maybe-eta term
110
112
% TODO: should I precompile also the type of the fun and put it in the output term
@@ -172,7 +174,7 @@ namespace tc {
172
174
(tc.prod-range (prod _ T Bo) 3)
173
175
since x is applied at most 3 times in Bo
174
176
==> This helps charging the right number of `eta-link` for map-deduplication rule
175
-
N is the number of problematic terms in T
177
+
N is the number of problematic terms in T + nb of projections
176
178
*/
177
179
pred instance i:term, o:term, o:nat, o:list univ, o:list univ-instance.
0 commit comments