ToolsForHomalg Tools for the homalg project Version 2017.11.05 December 2014 Mohamed Barakat Sebastian Gutsche Markus Lange-Hegermann (this manual is still under construction) This manual is best viewed as an HTML document. The latest version is available online at: http://wwwb.math.rwth-aachen.de/~gutsche/gap_packages/ToolsForHomalg/chap0.html An offline version should be included in the documentation subfolder of the package. This package is part of the homalg-project: http://homalg.math.rwth-aachen.de/index.php/core-packages/toolsforhomalg Mohamed Barakat Email: mailto:barakat@mathematik.uni-kl.de Homepage: http://www.mathematik.uni-kl.de/~barakat/ Address: Department of Mathematics, University of Kaiserslautern, 67653 Kaiserslautern, Germany Sebastian Gutsche Email: mailto:sebastian.gutsche@rwth-aachen.de Homepage: http://wwwb.math.rwth-aachen.de/~gutsche/ Address: Lehrstuhl B für Mathematik, RWTH Aachen, Templergraben 64, 52056 Aachen, Germany Markus Lange-Hegermann Email: mailto:markus.lange.hegermann@rwth-aachen.de Homepage: http://wwwb.math.rwth-aachen.de/~markus/ Address: Lehrstuhl B für Mathematik, RWTH Aachen, Templergraben 64, 52056 Aachen, Germany ------------------------------------------------------- Copyright © 2007-2014 by Mohamed Barakat, Sebastian Gutsche, and Markus Lange-Hegermann This package may be distributed under the terms and conditions of the GNU Public License Version 2. ------------------------------------------------------- Contents (ToolsForHomalg) 1 Introduction 1.1 What is the role of the ToolsForHomalg package in the homalg project? 1.1-1 ToolsForHomalg provides ... 2 Installation of the ToolsForHomalg Package 3 Caches 3.1 Object constructors 3.1-1 CachingObject 3.1-2 CachingObject 3.2 Setters, getters 3.2-1 CacheValue 3.2-2 SetCacheValue 3.2-3 IsEqualForCache 3.3 Managing functions 3.3-1 SetCachingObjectCrisp 3.3-2 SetCachingObjectWeak 3.3-3 DeactivateCachingObject 3.4 Install functions 3.4-1 InstallMethodWithCache 3.4-2 InstallMethodWithCrispCache 3.4-3 InstallMethodWithCacheFromObject 3.4-4 FunctionWithCache 4 ToDo-list 4.1 Blueprints 4.1-1 ToDoListEntryToMaintainEqualAttributes 4.1-2 ToDoListEntryToMaintainFollowingAttributes 4.1-3 ToDoListEntry 4.1-4 ToDoList_this_object 4.1-5 ToDoListEntryToMaintainEqualAttributesBlueprint 4.1-6 ToDoListEntryToMaintainFollowingAttributesBlueprint 4.1-7 ToDoListEntryBlueprint 4.2 ToDo-list entries 4.2-1 AddToToDoList 4.2-2 SourcePart 4.2-3 TargetPart 4.2-4 ProcessAToDoListEntry 4.2-5 ToDoListEntry 4.2-6 ToDoListEntry 4.2-7 SetTargetValueObject 4.2-8 SetTargetObject 4.2-9 ToDoListEntryWithContraposition 4.2-10 DescriptionOfImplication 4.2-11 ToDoListEntryForEqualAttributes 4.2-12 ToDoListEntryForEquivalentAttributes 4.3 Category 4.3-1 IsToDoList 4.4 Constructor 4.4-1 NewToDoList 4.5 This is the magic 4.5-1 Process_A_ToDo_List_Entry 4.5-2 ProcessToDoList 4.6 Methods for all objects 4.6-1 ToDoList 4.7 Proof tracking 4.7-1 TraceProof 4.8 Maintainance 4.8-1 ActivateToDoList 4.8-2 ActivateToDoList 4.8-3 DeactivateToDoList 4.8-4 DeactivateToDoList 4.8-5 ActivateWhereInfosInEntries 4.8-6 DeactivateWhereInfosInEntries 5 ToolsForHomalg automatic generated documentation 5.1 ToolsForHomalg automatic generated documentation of global variables 5.1-1 HOMALG_TOOLS 6 Basics 6.1 Categories 6.1-1 IsStructureObjectOrObjectOrMorphism 6.1-2 IsStructureObjectOrObject 6.1-3 IsStructureObject 6.1-4 IsStructureObjectMorphism 6.1-5 IsHomalgRingOrModule 7 Pointers 7.1 Weak pointer objects 7.1-1 IsContainerForWeakPointers 7.1-2 ContainerForWeakPointers 7.1-3 UpdateContainerOfWeakPointers 7.1-4 _AddElmWPObj_ForHomalg 7.1-5 _AddTwoElmWPObj_ForHomalg 7.1-6 _ElmWPObj_ForHomalg 7.2 Pointer objects 7.2-1 IsContainerForPointers 7.2-2 ContainerForPointers 7.2-3 UpdateContainerOfPointers 7.2-4 _AddElmPObj_ForHomalg 7.2-5 _AddTwoElmPObj_ForHomalg 7.2-6 _ElmPObj_ForHomalg 8 Tools 8.1 Functions 8.1-1 homalgTotalRuntimes 8.1-2 AddLeftRightLogicalImplicationsForHomalg 8.1-3 LogicalImplicationsForOneHomalgObject 8.1-4 LogicalImplicationsForTwoHomalgBasicObjects 8.1-5 InstallLogicalImplicationsForHomalgBasicObjects 8.1-6 LeftRightAttributesForHomalg 8.1-7 InstallLeftRightAttributesForHomalg 8.1-8 MatchPropertiesAndAttributes 8.1-9 InstallImmediateMethodToPullPropertyOrAttribute 8.1-10 InstallImmediateMethodToConditionallyPullPropertyOrAttribute 8.1-11 InstallImmediateMethodToPullPropertyOrAttributeWithDifferentName 8.1-12 InstallImmediateMethodToPullPropertiesOrAttributes 8.1-13 InstallImmediateMethodToPullTrueProperty 8.1-14 InstallImmediateMethodToConditionallyPullTrueProperty 8.1-15 InstallImmediateMethodToPullTruePropertyWithDifferentName 8.1-16 InstallImmediateMethodToPullTrueProperties 8.1-17 InstallImmediateMethodToPullFalseProperty 8.1-18 InstallImmediateMethodToConditionallyPullFalseProperty 8.1-19 InstallImmediateMethodToPullFalsePropertyWithDifferentName 8.1-20 InstallImmediateMethodToPullFalseProperties 8.1-21 InstallImmediateMethodToPushPropertyOrAttribute 8.1-22 InstallImmediateMethodToConditionallyPushPropertyOrAttribute 8.1-23 InstallImmediateMethodToPushPropertyOrAttributeWithDifferentName 8.1-24 InstallImmediateMethodToPushPropertiesOrAttributes 8.1-25 InstallImmediateMethodToPushTrueProperty 8.1-26 InstallImmediateMethodToPushTruePropertyWithDifferentName 8.1-27 InstallImmediateMethodToPushTrueProperties 8.1-28 InstallImmediateMethodToPushFalseProperty 8.1-29 InstallImmediateMethodToPushFalsePropertyWithDifferentName 8.1-30 InstallImmediateMethodToPushFalseProperties 8.1-31 DeclareAttributeWithCustomGetter 8.1-32 AppendToAhomalgTable 8.1-33 homalgNamesOfComponentsToIntLists 8.1-34 IncreaseExistingCounterInObject 8.1-35 IncreaseExistingCounterInObjectWithTiming 8.1-36 IncreaseCounterInObject 8.1-37 MemoryToString 8.1-38 PrimePowerExponent 8.1-39 ViewList 8.1-40 homalgLaTeX 8.2 Examplefunctions 8.2-1 ExamplesForHomalg 8.2-2 ExamplesForHomalg 9 Trees 9.1 Trees 9.1-1 IsTree 9.1-2 Content 9.1-3 ListOfSuccessors 9.1-4 Predecessor 9.1-5 ListOfSentinels 9.1-6 RemoveHead 9.1-7 Tree 9.1-8 Tree 9.1-9 Add 9.1-10 ContentListFromSentinelToHead 9.1-11 PostOrder