diff --git a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h
index 1063561e3d6..a24ad8901c2 100644
--- a/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h
+++ b/Kernel_23/doc/Kernel_23/CGAL/Exact_predicates_inexact_constructions_kernel.h
@@ -4,16 +4,205 @@ namespace CGAL {
/*!
\ingroup kernel_predef
-A typedef to a kernel which has the following properties:
+A typedef to a kernel that has the following properties:
-
-- It uses %Cartesian representation.
-
- It supports constructions of points from `double` %Cartesian
-coordinates.
-
- It provides exact geometric predicates, but inexact geometric
-constructions.
+
+- It uses %Cartesian representation.
+
- It supports constructions of points from `double` %Cartesian
+coordinates.
+
- It provides exact geometric predicates, but geometric
+constructions are not exact in general.
+Trivial Constructions
+
+Some geometric constructions, however, are exact because they only
+copy parameters and do not involve any computations that could lead to
+roundoff errors. We call such a construction trivial. For
+instance, all copy constructors, such as `Point_2::Point_2(const
+Point_2&)`, are trivial constructions. In addition, the following
+constructions in `CGAL::Exact_predicates_inexact_constructions_kernel`
+are trivial:
+
+
+- `Point_2::Point_2(double,double)`
+
- `Point_2::Point_2(const Weighted_point_2&)`
+
- `Point_2::Point_2(Origin)`
+
- `Weighted_point_2::Weighted_point_2(double,double)`
+
- `Weighted_point_2::Weighted_point_2(const Point_2&, double = 0)`
+
- `Weighted_point_2::Weighted_point_2(Origin)`
+
- `Vector_2::Vector_2(double,double)`
+
- `Direction_2::Direction_2(double,double)`
+
- `Direction_2::Direction_2(const Vector_2&)`
+
- `Line_2::Line_2(double,double,double)`
+
- `Ray_2::Ray_2(const Point_2&, const Point_2&)`
+
- `Segment_2::Segment_2(const Point_2&, const Point_2&)`
+
- `Triangle_2::Triangle_2(const Point_2&, const Point_2&, const Point_2&)`
+
- `Iso_rectangle_2::Iso_rectangle_2(const Point_2&, const Point_2&)`
+
- `Iso_rectangle_2::Iso_rectangle_2(const Point_2&, const Point_2&, int)`
+
- `Iso_rectangle_2::Iso_rectangle_2(const Point_2&, const Point_2&, const Point_2&, const Point_2&)`
+
- `Iso_rectangle_2::Iso_rectangle_2(const Bbox_2&)`
+
- `Circle_2::Circle_2(const Point_2&, double, Orientation = COUNTERCLOCKWISE)`
+
- `Kernel::ConstructPoint_2()(const Weighted_point_2&)`
+
- `Kernel::ConstructPoint_2()(Origin)`
+
- `Kernel::ConstructWeightedPoint_2()(const Point_2&, double = 0)`
+
- `Kernel::ConstructWeightedPoint_2()(Origin)`
+
- `Kernel::ConstructVector_2()(Origin, const Point_2&)`
+
- `Kernel::ConstructVector_2()(const Point_2&, Origin)`
+
- `Kernel::ConstructVector_2()(Null_vector)`
+
- `Kernel::ConstructDirection_2()(const Vector_2&)`
+
- `Kernel::ConstructSegment_2()(const Point_2&, const Point_2&)`
+
- `Kernel::ConstructRay_2()(const Point_2&, const Point_2&)`
+
- `Kernel::ConstructCircle_2()(const Point_2&, double, Orientation = COUNTERCLOCKWISE)`
+
- `Kernel::ConstructCircle_2()(const Point_2&, Orientation = COUNTERCLOCKWISE)`
+
- `Kernel::ConstructTriangle_2()(const Point_2&, const Point_2&, const Point_2&)`
+
- `Kernel::ConstructIsoRectangle_2()(const Point_2&, const Point_2&)`
+
- `Kernel::ConstructIsoRectangle_2()(const Point_2&, const Point_2&, int)`
+
- `Kernel::ConstructIsoRectangle_2()(const Point_2&, const Point_2&, const Point_2&, const Point_2&)`
+
- `Kernel::ConstructVertex_2()(const Segment_2&, int)`
+
- `Kernel::ConstructVertex_2()(const Triangle_2&, int)`
+
- `Kernel::ConstructVertex_2()(const Iso_rectangle_2&, int)`
+
- `Kernel::ConstructBbox_2()(const Point_2&)`
+
- `Kernel::ConstructBbox_2()(const Segment_2&)`
+
- `Kernel::ConstructBbox_2()(const Triangle_2&)`
+
- `Kernel::ConstructBbox_2()(const Iso_rectangle_2&)`
+
- `Kernel::ConstructCenter_2()(const Circle_2&)`
+
- `Kernel::ConstructOppositeVector_2()(const Vector_2&)`
+
- `Kernel::ConstructOppositeDirection_2()(const Direction_2&)`
+
- `Kernel::ConstructOppositeSegment_2()(const Segment_2&)`
+
- `Kernel::ConstructOppositeRay_2()(const Ray_2&)`
+
- `Kernel::ConstructOppositeLine_2()(const Line_2&)`
+
- `Kernel::ConstructOppositeTriangle_2()(const Triangle_2&)`
+
- `Kernel::ConstructOppositeCircle_2()(const Circle_2&)`
+
- `Kernel::ConstructSource_2()(const Segment_2&)`
+
- `Kernel::ConstructSource_2()(const Ray_2&)`
+
- `Kernel::ConstructSecondPoint_2()(const Ray_2&)`
+
- `Kernel::ConstructTarget_2()(const Target_2&)`
+
- `Kernel::ConstructMinVertex_2()(const Segment_2&)`
+
- `Kernel::ConstructMinVertex_2()(const Iso_rectangle_2&)`
+
- `Kernel::ConstructMaxVertex_2()(const Segment_2&)`
+
- `Kernel::ConstructMaxVertex_2()(const Iso_rectangle_2&)`
+
- `Kernel::ComputeWeight_2()(const Weighted_point_2&)`
+
- `Kernel::ComputeX_2()(const Point_2&)`
+
- `Kernel::ComputeX_2()(const Vector_2&)`
+
- `Kernel::ComputeY_2()(const Point_2&)`
+
- `Kernel::ComputeY_2()(const Vector_2&)`
+
- `Kernel::ComputeA_2()(const Line_2&)`
+
- `Kernel::ComputeB_2()(const Line_2&)`
+
- `Kernel::ComputeC_2()(const Line_2&)`
+
- `Kernel::ComputeDx_2()(const Direction_2&)`
+
- `Kernel::ComputeDy_2()(const Direction_2&)`
+
- `Kernel::ComputeXmin_2()(const Iso_rectangle_2&)`
+
- `Kernel::ComputeXmax_2()(const Iso_rectangle_2&)`
+
- `Kernel::ComputeYmin_2()(const Iso_rectangle_2&)`
+
- `Kernel::ComputeYmax_2()(const Iso_rectangle_2&)`
+
- `Kernel::ComputeSquaredRadius_2()(const Circle_2&)`
+
- `Kernel::ComputeSquaredRadius_2()(const Point_2&)`
+
- `Kernel::CartesianConstIterator_2()(const Point_2&)`
+
- `Kernel::CartesianConstIterator_2()(const Point_2&, int)`
+
- `Kernel::CartesianConstIterator_2()(const Vector_2&)`
+
- `Kernel::CartesianConstIterator_2()(const Vector_2&, int)`
+
- `Point_3::Point_3(double,double,double)`
+
- `Point_3::Point_3(const Weighted_point_3&)`
+
- `Point_3::Point_3(Origin)`
+
- `Weighted_point_3::Weighted_point_3(double,double)`
+
- `Weighted_point_3::Weighted_point_3(const Point_3&, double = 0)`
+
- `Weighted_point_3::Weighted_point_3(Origin)`
+
- `Vector_3::Vector_3(double,double,double)`
+
- `Direction_3::Direction_3(double,double,double)`
+
- `Direction_3::Direction_3(const Vector_3&)`
+
- `Line_3::Line_3(const Point_3&, const Vector_3&)`
+
- `Line_3::Line_3(const Point_3&, const Direction_3&)`
+
- `Plane_3::Plane_3(double,double,double,double)`
+
- `Circle_3::Circle_3(const Point_3&, double, const Plane_3&)`
+
- `Sphere_3::Sphere_3(const Point_3&, double, Orientation = COUNTERCLOCKWISE)`
+
- `Ray_3::Ray_3(const Point_3&, const Point_3&)`
+
- `Segment_3::Segment_3(const Point_3&, const Point_3&)`
+
- `Triangle_3::Triangle_3(const Point_3&, const Point_3&, const Point_3&)`
+
- `Tetrahedron_3::Tetrahedron_3(const Point_3&, const Point_3&, const Point_3&, const Point_3&)`
+
- `Iso_cuboid_3::Iso_cuboid_3(const Point_3&, const Point_3&)`
+
- `Iso_cuboid_3::Iso_cuboid_3(const Point_3&, const Point_3&, int)`
+
- `Iso_cuboid_3::Iso_cuboid_3(const Point_3&, const Point_3&, const Point_3&, const Point_3&, const Point_3&, const Point_3&)`
+
- `Iso_cuboid_3::Iso_cuboid_3(const Bbox_3&)`
+
- `Kernel::ConstructPoint_3()(const Weighted_point_3&)`
+
- `Kernel::ConstructPoint_3()(Origin)`
+
- `Kernel::ConstructWeightedPoint_3()(const Point_3&, double = 0)`
+
- `Kernel::ConstructWeightedPoint_3()(Origin)`
+
- `Kernel::ConstructVector_3()(Origin, const Point_3&)`
+
- `Kernel::ConstructVector_3()(const Point_3&, Origin)`
+
- `Kernel::ConstructVector_3()(Null_vector)`
+
- `Kernel::ConstructDirection_3()(const Vector_3&)`
+
- `Kernel::ConstructPlane_3()(double,double,double,double)`
+
- `Kernel::ConstructIsoCuboid_3()(const Point_3&, const Point_3&)`
+
- `Kernel::ConstructIsoCuboid_3()(const Point_3&, const Point_3&, int)`
+
- `Kernel::ConstructIsoCuboid_3()(const Point_3&, const Point_3&, const Point_3&, const Point_3&, const Point_3&, const Point_3&)`
+
- `Kernel::ConstructLine_3()(const Point_3&, const Vector_3&)`
+
- `Kernel::ConstructLine_3()(const Point_3&, const Direction_3&)`
+
- `Kernel::ConstructRay_3()(const Point_3&, const Point_3&)`
+
- `Kernel::ConstructSphere_3()(const Point_3&, double, Orientation = COUNTERCLOCKWISE)`
+
- `Kernel::ConstructSphere_3()(const Point_3&, Orientation = COUNTERCLOCKWISE)`
+
- `Kernel::ConstructSegment_3()(const Point_3&, const Point_3&)`
+
- `Kernel::ConstructTriangle_3()(const Point_3&, const Point_3&, const Point_3&)`
+
- `Kernel::ConstructTetrahedron_3()(const Point_3&, const Point_3&, const Point_3&, const Point_3&)`
+
- `Kernel::ConstructCircle_3()(const Point_3&, double, const Plane_3&)`
+
- `Kernel::ConstructCircle_3()(
+
- `Kernel::ConstructVertex_3()(const Segment_3&, int)`
+
- `Kernel::ConstructVertex_3()(const Triangle_3&, int)`
+
- `Kernel::ConstructVertex_3()(const Tetrahedron_3&, int)`
+
- `Kernel::ConstructVertex_3()(const Iso_cuboid_3&, int)`
+
- `Kernel::ConstructSource_3()(const Segment_3&)`
+
- `Kernel::ConstructSource_3()(const Ray_3&)`
+
- `Kernel::ConstructTarget_3()(const Target_3&)`
+
- `Kernel::ConstructMinVertex_3()(const Segment_3&)`
+
- `Kernel::ConstructMinVertex_3()(const Iso_cuboid_3&)`
+
- `Kernel::ConstructMaxVertex_3()(const Segment_3&)`
+
- `Kernel::ConstructMaxVertex_3()(const Iso_cuboid_3&)`
+
- `Kernel::ConstructBbox_3()(const Point_3&)`
+
- `Kernel::ConstructBbox_3()(const Segment_3&)`
+
- `Kernel::ConstructBbox_3()(const Triangle_3&)`
+
- `Kernel::ConstructBbox_3()(const Tetrahedron_3&)`
+
- `Kernel::ConstructBbox_3()(const Iso_cuboid_3&)`
+
- `Kernel::ConstructCenter_3()(const Sphere_3&)`
+
- `Kernel::ConstructCenter_3()(const Circle_3&)`
+
- `Kernel::ConstructSecondPoint_3()(const Ray_3&)`
+
- `Kernel::ConstructOppositeVector_3()(const Vector_3&)`
+
- `Kernel::ConstructOppositeDirection_3()(const Direction_3&)`
+
- `Kernel::ConstructOppositeSegment_3()(const Segment_3&)`
+
- `Kernel::ConstructOppositeRay_3()(const Ray_3&)`
+
- `Kernel::ConstructOppositeLine_3()(const Line_3&)`
+
- `Kernel::ConstructOppositeTriangle_3()(const Triangle_3&)`
+
- `Kernel::ConstructOppositePlane_3()(const Plane_3&)`
+
- `Kernel::ConstructOppositeSphere_3()(const Sphere_3&)`
+
- `Kernel::ConstructOppositeCircle_3()(const Circle_3&)`
+
- `Kernel::ComputeWeight_3()(const Weighted_point_3&)`
+
- `Kernel::ComputeX_3()(const Point_3&)`
+
- `Kernel::ComputeX_3()(const Vector_3&)`
+
- `Kernel::ComputeY_3()(const Point_3&)`
+
- `Kernel::ComputeY_3()(const Vector_3&)`
+
- `Kernel::ComputeZ_3()(const Point_3&)`
+
- `Kernel::ComputeZ_3()(const Vector_3&)`
+
- `Kernel::ComputeA_3()(const Line_3&)`
+
- `Kernel::ComputeB_3()(const Line_3&)`
+
- `Kernel::ComputeC_3()(const Line_3&)`
+
- `Kernel::ComputeD_3()(const Line_3&)`
+
- `Kernel::ComputeDx_3()(const Direction_3&)`
+
- `Kernel::ComputeDy_3()(const Direction_3&)`
+
- `Kernel::ComputeDz_3()(const Direction_3&)`
+
- `Kernel::ComputeXmin_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeXmax_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeYmin_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeYmax_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeZmin_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeZmax_3()(const Iso_cuboid_3&)`
+
- `Kernel::ComputeSquaredRadius_3()(const Sphere_3&)`
+
- `Kernel::ComputeSquaredRadius_3()(const Circle_3&)`
+
- `Kernel::ComputeSquaredRadius_3()(const Point_3&)`
+
- `Kernel::CartesianConstIterator_3()(const Point_3&)`
+
- `Kernel::CartesianConstIterator_3()(const Point_3&, int)`
+
- `Kernel::CartesianConstIterator_3()(const Vector_3&)`
+
- `Kernel::CartesianConstIterator_3()(const Vector_3&, int)`
+
+
\cgalModels `Kernel`
\sa `CGAL::Exact_predicates_exact_constructions_kernel`