Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183461[1X4 [33X[0;0YToDo-list[133X[101X234[1X4.1 [33X[0;0YBlueprints[133X[101X56[1X4.1-1 ToDoListEntryToMaintainEqualAttributes[101X78[29X[2XToDoListEntryToMaintainEqualAttributes[102X( [3Xindicator[103X, [3Xobjects[103X, [3Xattributes[103X ) [32X operation9[6XReturns:[106X [33X[0;10Ya todo list entry[133X1011[33X[0;0YThe first argument is the [3Xindicator[103X. It is a list of sources like in12ToDoListEntry. Each entry [3XSP[103X has to be a threetuple. First entry of [3XSP[103X has13to an object, for which the second entry of [3XSP[103X, which has to be the name of14an attribute, must become known. Once the attribute is known to the object,15it will be compared to the third entry of the list. This can be a value,16which is compared directly a function, which is launched and its return17value is compared, or a list, consisting of a function and arguments, so the18return value of the function with given arguments is compared. If there is19no third entry in [3XSP[103X, it is only looked up if the value is known. Once all20entries in [3Xindicator[103X are processed like this, and all returned true in the21comparasion, a list of ToDoListEntryForEqualAttributes is installed. They22are installed for the two entries of the list [3Xobjects[103X which can either be23the objects itself or a list containing a function and arguments, which24return value is used. For each entry in [3Xattributes[103X such an entry is25installed. Such an entry can be the name of an attribute, if both objects in26[3Xobjects[103X should share the value between attributes with the same name, or a27list of two names, if the attributes do not have the same name.[133X2829[1X4.1-2 ToDoListEntryToMaintainFollowingAttributes[101X3031[29X[2XToDoListEntryToMaintainFollowingAttributes[102X( [3Xindicator[103X, [3Xobjects[103X, [3Xattributes[103X ) [32X operation32[6XReturns:[106X [33X[0;10Ya todo list entry[133X3334[33X[0;0YThis function creates a ToDoListEntry which can install several35ToDoListEntries. The first two arguments, [3Xindicator[103X and [3Xobjects[103X except that36there will be only ToDoListEntries installed between the two objects in37[3Xobjects[103X. Each entry in [3Xattributes[103X can either be a string which means that38the attribute with the given name will be set from the first to the second39object in [3Xobjects[103X once it is known. The third argument [3Xattributes[103X is a list40of attributes that will be propagated by ToDoListEntries. Each entry [3XTP[103X can41either be a list consisting of a DescriptionOfImplication string and one of42the following or just one of the following lists: It can be a string, which43means that the Attribute with the given name will be propagated from the44first to the second object. It can be a list, consisting of two entries,45where the first entry is a list of sources like in ToDoListEntry and the46second might be a function which will be launched once the first part is47fulfilled. It can also be a threetuple which will serve as second to fourth48argument of ToDoListEntry. Or it can be a string, which will set the49attribute named like this of the first object to the one named in the second50object[133X5152[1X4.1-3 ToDoListEntry[101X5354[29X[2XToDoListEntry[102X( [3Xsource[103X, [3Xtarget_list[103X ) [32X operation55[6XReturns:[106X [33X[0;10Ya todo list entry[133X5657[33X[0;0YThis function allows to create more than one ToDoListEntry with identical58list of sources at one time. First argument is a list of sources like in the59other ToDoListEntry functions Second argument is a list of threetuples,60which serve as second to fourth argument of ToDoListEntry or a function,61which serves as second argument for ToDoListEntry or a tuple with a62description string and one of the above.[133X6364[1X4.1-4 ToDoList_this_object[101X6566[29X[2XToDoList_this_object[102X[32X global variable6768[33X[0;0YRepresents the objects for which the blueprint is created in the arguments[133X6970[1X4.1-5 ToDoListEntryToMaintainEqualAttributesBlueprint[101X7172[29X[2XToDoListEntryToMaintainEqualAttributesBlueprint[102X( [3Xfilter[103X, [3Xindicator[103X, [3Xobjects[103X, [3Xattributes[103X ) [32X operation73[6XReturns:[106X [33X[0;10Ynothing[133X7475[33X[0;0YThis function installs an immediate method which can install76ToDoListEntryToMaintainEqualAttributes. First argument must be a filter, and77once the filter becomes true the ToDoListEntryToMaintainEqualAttributes is78installed with the second to fourth argument as first to third. In those79attributes, at any point, the variable ToDoList_this_object can be used.80When the entry is installed This will be replaced with the object to which81the filters became known, i.e. the one which triggered the immediate method.[133X8283[1X4.1-6 ToDoListEntryToMaintainFollowingAttributesBlueprint[101X8485[29X[2XToDoListEntryToMaintainFollowingAttributesBlueprint[102X( [3Xarg1[103X, [3Xarg2[103X, [3Xarg3[103X, [3Xarg4[103X ) [32X operation86[6XReturns:[106X [33X[0;10Ynothing[133X8788[33X[0;0YThe same as ToDoListEntryToMaintainEqualAttributesBlueprint for89ToDoListEntryToMaintainFollowingAttributes[133X9091[1X4.1-7 ToDoListEntryBlueprint[101X9293[29X[2XToDoListEntryBlueprint[102X( [3Xarg1[103X, [3Xarg2[103X, [3Xarg3[103X ) [32X operation94[6XReturns:[106X [33X[0;10Ynothing[133X9596[33X[0;0YThe same as ToDoListEntryToMaintainEqualAttributesBlueprint for97ToDoListEntry[133X9899100[1X4.2 [33X[0;0YToDo-list entries[133X[101X101102[1X4.2-1 AddToToDoList[101X103104[29X[2XAddToToDoList[102X( [3XE[103X ) [32X operation105106[33X[0;0YAdds the ToDo-list entry [3XE[103X to the ToDo-lists of it's source objects and107creates a new one, if this is needed. This function might be called with108lists of entries[133X109110[1X4.2-2 SourcePart[101X111112[29X[2XSourcePart[102X( [3Xentry[103X ) [32X operation113[6XReturns:[106X [33X[0;10Ya list[133X114115[33X[0;0YReturns the a list of source parts of the ToDo-list entry [3Xentry[103X. This is a116triple of an object, a name of a filter/attribute, and a value to which the117attribute has to be set to activate the entry[133X118119[1X4.2-3 TargetPart[101X120121[29X[2XTargetPart[102X( [3Xentry[103X ) [32X operation122[6XReturns:[106X [33X[0;10Ya list[133X123124[33X[0;0YReturns the target part of the ToDo-list entry [3Xentry[103X. This is a triple of an125object, a name of a filter/attribute, and a value to which the specific126filter/attribute should be set. The third entry of the list might also be a127function to which return value the attribute is set.[133X128129[1X4.2-4 ProcessAToDoListEntry[101X130131[29X[2XProcessAToDoListEntry[102X( [3Xarg[103X ) [32X operation132[6XReturns:[106X [33X[0;10Ya boolean[133X133134[33X[0;0YProcesses a ToDo-list entry, i.e. sets the information given in TargetPart135if the definitions in SourcePart are fulfilled. Returns a function if the136entry could be processed, false if not, and fail if SourcePart or TargetPart137weren't availible anymore.[133X138139[1X4.2-5 ToDoListEntry[101X140141[29X[2XToDoListEntry[102X( [3Xarg1[103X, [3Xarg2[103X, [3Xarg3[103X, [3Xarg4[103X ) [32X operation142[6XReturns:[106X [33X[0;10Ya ToDoListEntry[133X143144[33X[0;0YThe first argument must be a list consisting of two, three or four-tuples145where the first entry must be the object to which the attribute given as a146string in the second entry must be known to process this entry. The second147entry can also be a list of strings, in that case all the attributes given148as names must be known. Also, in this case, only two entries in this tuple149are allowed. The third part can be a value or a list, consisting of a150function followed by arguments which will be computed by the time the151attribute given as second entry becomes known to the first entry. If the152second part is only a string, and there is a third entry in the tuple the153attribute is compared to the third entry. One can set a comparating function154as fourth entry, which must take two entries and return false or true. If155the value of the attribute matches the (computed) value in the third entry156for all members of the list in the first argument the attribute given as157third argument, also by name, of the second argument is set to the value of158the fourth argument. This can also be a list which has to be computed, or a159function, which retun value is used in this case.[133X160161[1X4.2-6 ToDoListEntry[101X162163[29X[2XToDoListEntry[102X( [3Xarg1[103X, [3Xarg2[103X ) [32X operation164[6XReturns:[106X [33X[0;10Ya ToDoListEntry[133X165166[33X[0;0YThe first argument is a list of three-tubles like above. Once all167preconditions become fulfilled the function given as second argument is168launched.[133X169170[1X4.2-7 SetTargetValueObject[101X171172[29X[2XSetTargetValueObject[102X( [3Xentry[103X, [3Xvalue[103X ) [32X operation173[6XReturns:[106X [33X[0;10Ynothing[133X174175[33X[0;0YIf the given value of the target part is the return value of a function this176command sets the target value of the entry to a function. This is done to177keep proof tracking availible.[133X178179[1X4.2-8 SetTargetObject[101X180181[29X[2XSetTargetObject[102X( [3Xentry[103X, [3Xobj[103X ) [32X operation182[6XReturns:[106X [33X[0;10Ynothing[133X183184[33X[0;0YIf the target object, i.e. the first entry of the target part, was given as185a function, this method can set this entry to the return value computed in186ProcessToDoListEntry. This happens atomatically, do not worry about it.[133X187188[1X4.2-9 ToDoListEntryWithContraposition[101X189190[29X[2XToDoListEntryWithContraposition[102X( [3Xsobj[103X, [3Xsource_prop[103X, [3Xsval[103X, [3Xtobj[103X, [3Xtarget[103X, [3Xtval[103X ) [32X operation191[6XReturns:[106X [33X[0;10Ya ToDoListEntry[133X192193[33X[0;0YCreates a ToDoListEntry which also installs a contraposition. The arguments194[3Xsource_prop[103X and [3Xtarget[103X need to be strings which name a property, and [3Xsval[103X195and [3Xtval[103X need to be boolean values, i.e. true or false.[133X196197[1X4.2-10 DescriptionOfImplication[101X198199[29X[2XDescriptionOfImplication[102X( [3Xarg[103X ) [32X attribute200[6XReturns:[106X [33X[0;10Ya list[133X201202[33X[0;0YHas to be set to a string, which describes the reason for the conclusion. If203the ToDo-list entry is displayed, the given string will be displayed with a204because before it.[133X205206[1X4.2-11 ToDoListEntryForEqualAttributes[101X207208[29X[2XToDoListEntryForEqualAttributes[102X( [3Xarg1[103X, [3Xarg2[103X, [3Xarg3[103X, [3Xarg4[103X ) [32X operation209[6XReturns:[106X [33X[0;10Ya ToDoListEntry[133X210211[33X[0;0YCreates a ToDoListEntry for two equal attributes, which means that both212values of the two attributes will be propagated in both directions.[133X213214[1X4.2-12 ToDoListEntryForEquivalentAttributes[101X215216[29X[2XToDoListEntryForEquivalentAttributes[102X( [3Xarg1[103X, [3Xarg2[103X, [3Xarg3[103X, [3Xarg4[103X, [3Xarg5[103X, [3Xarg6[103X ) [32X operation217[6XReturns:[106X [33X[0;10Ya ToDoListEntry[133X218219[33X[0;0YCreates a ToDoListEntry for two equivalent attributes, which means that both220values of the two attributes will be propagated in both directions. Please221note that this one does NOT implement contrapositions.[133X222223224[1X4.3 [33X[0;0YCategory[133X[101X225226[1X4.3-1 IsToDoList[101X227228[29X[2XIsToDoList[102X( [3Xarg[103X ) [32X filter229[6XReturns:[106X [33X[0;10Y[10Xtrue[110X or [10Xfalse[110X[133X230231[33X[0;0YThis is the category of ToDo-lists. Every ToDo-list is an object of this232category, which basically contains the ToDo-lists.[133X233234235[1X4.4 [33X[0;0YConstructor[133X[101X236237[1X4.4-1 NewToDoList[101X238239[29X[2XNewToDoList[102X( ) [32X operation240[6XReturns:[106X [33X[0;10Ynothing[133X241242[33X[0;0YCreates a new empty ToDo-list.[133X243244245[1X4.5 [33X[0;0YThis is the magic[133X[101X246247[1X4.5-1 Process_A_ToDo_List_Entry[101X248249[29X[2XProcess_A_ToDo_List_Entry[102X( [3Xarg[103X ) [32X function250[6XReturns:[106X [33X[0;10Ya boolean[133X251252[33X[0;0YGets a ToDo-list entry, which is a pair of a list of strings and a weak253pointer object, and processes it. If the action was done, it returns true,254if not, it returns false, and it returns fail if the action is not possible255anymore due to deleted objects.[133X256257[1X4.5-2 ProcessToDoList[101X258259[29X[2XProcessToDoList[102X( [3XA[103X ) [32X attribute260[6XReturns:[106X [33X[0;10Ynothing[133X261262[33X[0;0YThis is the magic! This attribute is never set. Creating an ToDo-list entry263installs an ImmediateMethod for this attribute for the specific category of264the object to which ToDo-list is added, and the filter the entry contains.265It is then triggert if the filters become applicable, so the ToDo-list is266processed[133X267268269[1X4.6 [33X[0;0YMethods for all objects[133X[101X270271[1X4.6-1 ToDoList[101X272273[29X[2XToDoList[102X( [3Xarg[103X ) [32X attribute274[6XReturns:[106X [33X[0;10YA ToDo-list[133X275276[33X[0;0YReturns the ToDo-list of an object, or creates a new one.[133X277278279[1X4.7 [33X[0;0YProof tracking[133X[101X280281[33X[0;0YThis is a way to track proofs from ToDoLists. Not only for debugging, but282also for knowing how things work together.[133X283284[1X4.7-1 TraceProof[101X285286[29X[2XTraceProof[102X( [3Xobj[103X, [3Xname[103X, [3Xval[103X ) [32X operation287[6XReturns:[106X [33X[0;10Ya tree[133X288289[33X[0;0YIf the object [3Xobj[103X has the attribute [3Xname[103X, and its value is [3Xval[103X, and the290knowledge has been obtained trough ToDoList-entries, this method traces the291way the property was set, and returns a tree which describes the full way of292how the attribute became known.[133X293294295[1X4.8 [33X[0;0YMaintainance[133X[101X296297[1X4.8-1 ActivateToDoList[101X298299[29X[2XActivateToDoList[102X( [3Xarg[103X ) [32X operation300[6XReturns:[106X [33X[0;10Ynothing[133X301302[33X[0;0YThis operation activates ToDoLists for the argument.[133X303304[1X4.8-2 ActivateToDoList[101X305306[29X[2XActivateToDoList[102X( ) [32X operation307[6XReturns:[106X [33X[0;10Ynothing[133X308309[33X[0;0YThis operation activates ToDoLists for all objects.[133X310311[1X4.8-3 DeactivateToDoList[101X312313[29X[2XDeactivateToDoList[102X( [3Xarg[103X ) [32X operation314[6XReturns:[106X [33X[0;10Ynothing[133X315316[33X[0;0YThis operation deactivates ToDoLists for the argument.[133X317318[1X4.8-4 DeactivateToDoList[101X319320[29X[2XDeactivateToDoList[102X( ) [32X operation321[6XReturns:[106X [33X[0;10Ynothing[133X322323[33X[0;0YThis operation deactivates ToDoLists for all objects. Note that it is not324possible to activate ToDoList for a single object while they are not325activated. ToDoListEntries will yet be stored for all objects that can have326ToDoLists. All objects created while ToDoLists are deactivated have by327default no ToDoList.[133X328329[1X4.8-5 ActivateWhereInfosInEntries[101X330331[29X[2XActivateWhereInfosInEntries[102X( [3Xarg[103X ) [32X function332[6XReturns:[106X [33X[0;10Ynothing[133X333334[33X[0;0YStores the result of Where( 100 ) in an entry if the entry is triggered.335This is not activated by default, since it might slow down the system.[133X336337[1X4.8-6 DeactivateWhereInfosInEntries[101X338339[29X[2XDeactivateWhereInfosInEntries[102X( [3Xarg[103X ) [32X function340[6XReturns:[106X [33X[0;10Ynothing[133X341342[33X[0;0YDeactives the storage of the result of Where( 100 ) if an entry is343triggered. This is the default.[133X344345346347