@@ -160,37 +160,14 @@ declare Module BSkel Sort :- std.do! [
160160
161161 @global! => log.coq.notation.add-abbreviation "on" 1
162162 {{fun T => (lp:{{ ClassOfAbbrev_ {{_}} }} : (lp:AppClassHoles T)) }} tt
163- OnAbbrev,
164-
165- log.coq.env.begin-module "EtaAndMixinExports" none,
166-
167- if (get-option "primitive" tt) true (
168- if-verbose (coq.say {header} "eta expanded instances"),
169- NewClauses => std.do! [
170- w-params.fold MLwP mk-fun
171- (private.mk-hb-eta.on Structure SortProjection OnAbbrev) EtaInstanceBody,
172- w-params.fold MLwP (mk-parameter explicit)
173- (private.mk-hb-eta.arity Structure ClassName SortProjection)
174- EtaInstanceArity,
175- instance.declare-const "_" EtaInstanceBody EtaInstanceArity _
176- ]
177- ),
178-
179- % std.flatten {std.map NewMixins mixin->factories} NewFactories,
180- % NewClauses => std.forall NewFactories instance.declare-factory-sort-factory,
181-
182- log.coq.env.end-module-name "EtaAndMixinExports" EtaExports,
163+ _OnAbbrev,
183164
184165 log.coq.env.end-module-name Module ModulePath,
185166
186167 if-verbose (coq.say {header} "end modules; export" Exports),
187168
188169 export.module {calc (Module ^ ".Exports")} Exports,
189170
190- if-verbose (coq.say {header} "export" EtaExports),
191-
192- export.module {calc (Module ^ ".EtaAndMixinExports")} EtaExports,
193-
194171 if-verbose (coq.say {header} "exporting operations"),
195172 ClassAlias => Factories => GRDepsClauses =>
196173 private.export-operations Structure SortProjection ClassProjection MLwP [] EX MLToExport,
@@ -681,32 +658,4 @@ sigT->list-w-params {{ lib:@hb.sigT _ lp:{{ fun N Ty B }} }} L C :-
681658 @pi-decl N Ty t\
682659 product->triples (B t) (Rest t) C.
683660
684- pred mk-hb-eta.on i:structure, i:term, i:abbreviation,
685- i:list term, i:name, i:term, i:A, o:term.
686- mk-hb-eta.on Structure SortProjection OnAbbrev
687- Params NT _T _ (fun NT Ty Body) :- !, std.do! [
688- coq.mk-app (global Structure) Params Ty,
689- @pi-decl NT Ty s\ sigma Tm\ std.do! [
690- coq.mk-app {{lib:@hb.eta}}
691- [_, {coq.mk-app SortProjection {std.append Params [s]}}]
692- Tm,
693- std.assert-ok! (coq.typecheck Tm _) "HB: eta illtyped",
694- coq.notation.abbreviation OnAbbrev [Tm] (Body s)
695- ]
696- ].
697-
698- pred mk-hb-eta.arity i:structure, i:classname, i:term, i:list term,
699- i:name, i:term, i:A, o:arity.
700- mk-hb-eta.arity Structure ClassName SortProjection
701- Params NT _T _ Out :- !, std.do! [
702- coq.mk-app (global Structure) Params Ty,
703- (@pi-decl NT Ty s\ sigma Tm\ std.do! [
704- coq.mk-app {{lib:@hb.eta}}
705- [_, {coq.mk-app SortProjection {std.append Params [s]}}] Tm,
706- std.assert-ok! (coq.typecheck Tm _) "HB: eta illtyped",
707- coq.mk-app (global ClassName) {std.append Params [Tm]} (Concl s)
708- ]),
709- Out = parameter {coq.name->id NT} explicit Ty s\ arity (Concl s)
710- ].
711-
712661}}
0 commit comments