Skip to content
2 changes: 2 additions & 0 deletions gap/base/kernel.gi
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ InstallGlobalFunction( ImmediateVerification,
fi;
if verified = true then return true; fi;
# Now, verified = false.
Print("Immediate verification: found extra kernel element(s)!\n");
IV_CNT := IV_CNT + 1;
Info(InfoRecog,2,
"Immediate verification: found extra kernel element(s)!");
if FindKernelFastNormalClosure(ri,5,5) = fail then
Expand Down
17 changes: 17 additions & 0 deletions gap/base/recognition.gd
Original file line number Diff line number Diff line change
Expand Up @@ -470,6 +470,23 @@ BindGlobal( "FindHomMethodsGeneric", rec() );
## <#/GAPDoc>
BindGlobal( "SLPforElementFuncsGeneric", rec() );

# TODO Document mandarins
# Refer to overview paper by Baarnhielm, Holt, Charles, Eamonn, sections "5.2
# The main algorithm" and "5.4 Crisis management".
# Explain safe and unsafe nodes.
# Explain in which situations a crisis can be evoked:
# - only in a leaf: mandarin can't be written as SLPs in nice gens, this does
# not happen in non-leaf nodes
# - mandarins can't be mapped under reduction homomorphism
# -
# Note that when implementing verification via presentations, that can also
# evoke crises. Then I'd make sense to remove the "MANDARIN_" prefix from the
# name.
# TODO Wait a second, if the generators of the root can be expressed as SLPs in
# the nice gens, then the kernels must be correct, right?!
BindGlobal("MANDARIN_CRISIS", MakeImmutable("MANDARIN_CRISIS"));
BindGlobal("NUM_MANDARINS_DEFAULT_VALUE", 100);
DeclareFilter( "IsSafeForMandarins" );

# Our global functions for the main recursion:

Expand Down
Loading