%% Takes a list of items corresponding to properties along a line in space. Each of the items is a list of properties, which are the property and its value. %% For each unbroken line, returns the rules common to lists like where it came from (from other times), for example x1, x2, delta x, x1+x2 etc, and colour. %% A number of these lists mean that e.g. the rules colour=r, colour=b can be summarised to colour. %% findbreasonings( [ [ [[], [], [[colour, r]], [[colour, r]], [[colour, r]]], [[], [[colour, r]], [[colour, r]], [[colour, r]], []], [[[colour, r]], [[colour, r]], [[colour, r]], [], []] ], [ [[[colour, b]], []], [[], [colour, b]] ] ], Rules). %% Rules = [[x2 - x1], colour] findbreasonings( %% A hollow 1-thick 3^3 cube can't fit inside a hollow 3^3 cube. %% 1,3,1 2,3,1 3,3,1 %% 1,2,1 2,2,1 3,2,1 %% 1,1,1 2,1,1 3,1,1 %% 1 111 to 331, 2 112 to 133, 3 312 to 333, 4 212 to 213, 5 232 to 233 %% 1 2, 1 3, 1 4, 1 5, %% find all cubes contained in all regions %% find if any mistakenly intersect