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
@@ -106,6 +106,8 @@ namespace tc {
106
106
precompile-aux _ (pglobal _ _ as C) A C A :- !.
107
107
precompile-aux _ (sort _ as C) A C A :- !.
108
108
precompile-aux _ (primitive _ as C) A C A :- !.
109
+
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.
110
+
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.
109
111
110
112
% Detect maybe-eta term
111
113
% TODO: should I precompile also the type of the fun and put it in the output term
@@ -173,7 +175,7 @@ namespace tc {
173
175
(tc.prod-range (prod _ T Bo) 3)
174
176
since x is applied at most 3 times in Bo
175
177
==> This helps charging the right number of `eta-link` for map-deduplication rule
176
-
N is the number of problematic terms in T
178
+
N is the number of problematic terms in T + nb of projections
177
179
*/
178
180
pred instance i:term, o:term, o:nat, o:list univ, o:list univ-instance.
0 commit comments