@@ -273,34 +273,31 @@ end);
273273# # <Description>
274274# # Displays information about the filters that may be
275275# # implied by <A>filter</A>. They are given by their names.
276- # # <C> ShowImpliedFilters</C > first displays the names of all filters
276+ # # <Ref Func=" ShowImpliedFilters"/ > first displays the names of all filters
277277# # that are unconditionally implied by <A>filter</A>. It then displays
278278# # implications that require further filters to be present (indicating
279279# # by <C>+</C> the required further filters).
280280# # <Example><![CDATA[
281281# # gap> ShowImpliedFilters(IsNilpotentGroup);
282282# # Implies:
283283# # IsSupersolvableGroup
284- # # HasIsSupersolvableGroup
285284# # IsSolvableGroup
286- # # HasIsSolvableGroup
287285# # IsNilpotentByFinite
288- # # HasIsNilpotentByFinite
289286# #
290287# #
291288# # May imply with:
292289# # +IsFinitelyGeneratedGroup
293- # # +HasIsFinitelyGeneratedGroup
294290# # IsPolycyclicGroup
295- # # HasIsPolycyclicGroup
296291# #
297292# # ]]></Example>
298293# # </Description>
299294# # </ManSection>
300295# # <#/GAPDoc>
301296# #
302297BIND_GLOBAL(" ShowImpliedFilters" ,function (filter )
303- local flags, implied, f, extra_implications, implication, name, diff_reqs, diff_impls;
298+ local flags, implied, f, extra_implications, implication, name, diff_reqs,
299+ diff_impls, reduced;
300+
304301 flags:= FLAGS_FILTER(filter);
305302 implied := WITH_IMPS_FLAGS(flags);
306303 atomic readonly IMPLICATIONS_SIMPLE do
@@ -322,20 +319,28 @@ local flags, implied, f, extra_implications, implication, name, diff_reqs, diff_
322319 implied := SUB_FLAGS(implied, flags);
323320 fi ;
324321
322+ reduced := function ( trues )
323+ atomic readonly FILTER_REGION do
324+ return Filtered( trues,
325+ i -> not ( INFO_FILTERS[ i] in FNUM_TPRS
326+ and FLAG1_FILTER( FILTERS[ i] ) in trues ) );
327+ od ;
328+ end ;
329+
325330 if SIZE_FLAGS(implied) > 0 then
326331 Print(" Implies:\n " );
327- for name in NamesFilter(implied) do
332+ for name in NamesFilter( reduced( TRUES_FLAGS( implied ) ) ) do
328333 Print(" " ,name," \n " );
329334 od ;
330335 fi ;
331336
332337 if Length(extra_implications) > 0 then
333338 Print(" \n\n May imply with:\n " );
334339 for implication in extra_implications do
335- for name in NamesFilter(implication[ 1 ] ) do
340+ for name in NamesFilter( reduced( TRUES_FLAGS( implication[ 1 ] ) ) ) do
336341 Print(" +" ,name," \n " );
337342 od ;
338- for name in NamesFilter(implication[ 2 ] ) do
343+ for name in NamesFilter( reduced( TRUES_FLAGS( implication[ 2 ] ) ) ) do
339344 Print(" " ,name," \n " );
340345 od ;
341346 Print(" \n " );
@@ -393,7 +398,7 @@ BIND_GLOBAL("PageSource", function ( fun, nr... )
393398 f := Filename(List(GAPInfo.RootPaths, Directory), f);
394399 fi ;
395400 if f = fail and fun in OPERATIONS then
396- # for operations we show the location(s) of their operation
401+ # for operations we show the location(s) of their declaration
397402 locs := GET_DECLARATION_LOCATIONS(fun);
398403 if n > Length(locs) then
399404 Print(" Operation " , NameFunction(fun), " has only " ,
0 commit comments