private static List <EdgeAggregator> InstantiateToTheorem(Rhombus rhombus, GroundedClause original) { List <EdgeAggregator> newGrounded = new List <EdgeAggregator>(); // For hypergraph List <GroundedClause> antecedent = Utilities.MakeList <GroundedClause>(original); // Instantiate this rhombus diagonals ONLY if the original figure has the diagonals drawn. if (rhombus.TopLeftDiagonalIsValid()) { AngleBisector ab1 = new AngleBisector(rhombus.topLeftAngle, rhombus.topLeftBottomRightDiagonal); AngleBisector ab2 = new AngleBisector(rhombus.bottomRightAngle, rhombus.topLeftBottomRightDiagonal); newGrounded.Add(new EdgeAggregator(antecedent, ab1, annotation)); newGrounded.Add(new EdgeAggregator(antecedent, ab2, annotation)); } if (rhombus.BottomRightDiagonalIsValid()) { AngleBisector ab1 = new AngleBisector(rhombus.topRightAngle, rhombus.bottomLeftTopRightDiagonal); AngleBisector ab2 = new AngleBisector(rhombus.bottomLeftAngle, rhombus.bottomLeftTopRightDiagonal); newGrounded.Add(new EdgeAggregator(antecedent, ab1, annotation)); newGrounded.Add(new EdgeAggregator(antecedent, ab2, annotation)); } return(newGrounded); }