Mathematical Christmas Tree

Stimulated by Johann Weilharter (@jweilharter) and  Clifford  Pickover (@pickover) I wrote some Mathematica code to solve the following Christmas tree puzzle :

Let us define the Xmas tree property :

IsXMasTree[l_]:={Total[l[[Range[1,4]]]],Total[l[[Range[4,7]]]],Total[l[[Range[7,9]]]]+l[[1]]} // DeleteDuplicates  // (Length[#]==1)&

AllSols = Permutations[Range[9]] // Select[#, IsXMasTree] &;

How  many solutions exist?

AllSols // Length

Since solutions can be rotated we only keep solutions with "ordered corner values".

HasOrderedCorners[l_]:=And[l[[1]]<l[[4]],l[[4]]<l[[7]]]

OrderedCornerSols = AllSols // Select[#,HasOrderedCorners]&;

How many solutions with ordered corner values exist?

OrderedCornerSols // Length

Since numbers on the inner part of the edges may be flipped, we remove solutions which are duplicated in this sense.

HasOrderedInnerSegments[l_]:=And[l[[2]]<l[[3]],l[[5]]<l[[6]],l[[8]]<l[[9]]]

OrderedSols=OrderedCornerSols // Select[#,HasOrderedInnerSegments]&;

How many solutions do we have now?

OrderedSols // Length

What are all these solution?

OrderedSols

What are permissible corner number combinations?

Corners[l_]:=l[[{1,4,7}]]

Corners /@ OrderedSols // DeleteDuplicates

Which (equal) sums for the triangle sides allow solution s?

Map[Total[#[[Range[1,4]]]]&,OrderedSols] // DeleteDuplicates

Which corners combinations allow how many essentially different solutions?

Corners /@ OrderedSols // Tally