public static List <GenericInstantiator.EdgeAggregator> Instantiate(GroundedClause gc) { List <GenericInstantiator.EdgeAggregator> newGrounded = new List <GenericInstantiator.EdgeAggregator>(); Segment segment = gc as Segment; if (segment == null) { return(newGrounded); } // Only generate reflexive if this segment is shared if (!segment.isShared()) { return(newGrounded); } GeometricCongruentSegments ccss = new GeometricCongruentSegments(segment, segment); ccss.MakeIntrinsic(); // This is an 'obvious' notion so it should be intrinsic to any figure List <GroundedClause> antecedent = Utilities.MakeList <GroundedClause>(segment); newGrounded.Add(new GenericInstantiator.EdgeAggregator(antecedent, ccss, reflexAnnotation)); return(newGrounded); }