GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
LoadPackage( "ToolsForHomalg" );
DeclareProperty( "IsPrintGraphTestObject",
IsObject );
attribute_graph := CreatePrintingGraph( IsObject and IsPrintGraphTestObject );
#FIXME: This syntax is shit.
AddRelationToGraph( attribute_graph,
rec( Source := rec(
Conditions := "IsProp1",
PrintString := "prop1",
TypeOfView := "ViewObj" ),
Range := rec(
Conditions := "IsProp2",
PrintString := "prop2" ) ) );
AddRelationToGraph( attribute_graph,
rec( Source := [ rec(
Conditions := "IsProp3" ),
rec(
Conditions := "IsProp4",
TypeOfView := "all",
ComputeLevel := "all" ) ],
Range := rec(
Conditions := "IsProp5",
PrintString := "prop5" ) ) );
#InstallPrintFunctionsOutOfPrintingGraph( attribute_graph );
DeclareProperty( "IsProp1", IsObject );
DeclareProperty( "IsProp2", IsObject );
DeclareProperty( "IsProp3", IsObject );
DeclareProperty( "IsProp4", IsObject );
DeclareProperty( "IsProp5", IsObject );
InstallMethod( IsProp4,
[ IsObject ],
function( arg )
return true;
end );
S := SymmetricGroup( 2 );
SetIsPrintGraphTestObject( S, true );
SetIsProp1( S, true );
SetIsProp3( S, true );