  It is well known that Heron's theorem provides an explicit formula for the
area of a triangle, as a symmetric function of the lengths of its sides. It has
been extended by Brahmagupta to quadrilaterals inscribed in a circle (cyclic
quadrilaterals). A natural problem is trying to further generalize the result
to cyclic polygons with a larger number of edges, which, surprisingly, has
revealed to be far from simple. In this paper we investigate such a problem by
following a new and elementary approach. We start from the simple observation
that the incircle of a right triangle touches its hypothenuse in a point that
splits it into two segments, the product of whose lengths equals the area of
the triangle. From this curious fact we derive in a few lines: an unusual proof
of the Pythagoras' theorem, Heron's theorem for right triangles, Heron's
theorem for general triangles, and Brahmagupta's theorem for cyclic
quadrangles. This suggests that cutting the edges of a cyclic polygon by means
of suitable points should be the "right" working method. Indeed, following this
idea, we obtain an explicit formula for the area of any convex cyclic polygon,
as a symmetric function of the segments split on its edges by the incircles of
a triangulation. We also show that such a symmetry can be rediscovered in
Heron's and Brahmagupta's results, which consequently represent special cases
of the general provided formula.
