// // DO NOT generate a new clause, instead, report the result and generate all applicable // private static List<EdgeAggregator> StrengthenToRightTriangle(Triangle tri, RightAngle ra, GroundedClause original) { List<EdgeAggregator> newGrounded = new List<EdgeAggregator>(); // This angle must belong to this triangle. if (!tri.HasAngle(ra)) return newGrounded; // Strengthen the old triangle to a right triangle Strengthened newStrengthened = new Strengthened(tri, new RightTriangle(tri)); tri.SetProvenToBeRight(); // Hypergraph List<GroundedClause> antecedent = new List<GroundedClause>(); antecedent.Add(tri); antecedent.Add(original); newGrounded.Add(new EdgeAggregator(antecedent, newStrengthened, annotation)); return newGrounded; }