Gluing arcs #
Two arcs meeting only at the endpoint they share glue to one arc; two arcs meeting at both
of their ends glue to a Jordan curve. The glued parametrisation runs the first arc over the
lower half of the parameter interval and the second over the upper half, each at double
speed: t ↦ f (2 * t) below the midpoint and t ↦ g (2 * t - 1) above it. Since the
parameter here is an honest real number, that is literally what the definition says.
The halves are [0, 1/2] and [1/2, 1]. They cover the interval, and each is closed, so
continuity is Mathlib's pasting lemma ContinuousOn.union_of_isClosed. Injectivity splits
four ways — both parameters below the midpoint, both above, and the two mixed orders — and
only the mixed cases use the hypothesis that the two arcs meet nowhere else: there the common
value lies on both arcs, hence is the shared endpoint, and each arc's own injectivity pins
its parameter to the midpoint.
At the midpoint itself both branches of the if are meaningful and they agree, precisely
because the first arc finishes where the second starts. That is what makes the glued map well
defined rather than merely continuous, and it is why concatenate_upperHalf — the statement
that the glued map is the retimed second arc on the whole closed upper half, midpoint
included — carries the shared-endpoint hypothesis.
For the loop the seam analysis gains a second legitimate meeting point: besides the middle, where the arcs are glued, there are the outer ends, where the loop is allowed to repeat itself. Pinning those needs the start/finish counterparts of the midpoint lemmas.
Blueprint #
concatenate— §1, the glued parametrisation.IsArc.concatenate,IsArcBetween.concatenate— two arcs meeting only at the endpoint they share glue to an arc.IsLoop.concatenate— two arcs glued along both of their ends make a loop.IsJordanCurve.of_two_arcs— two arcs meeting exactly at their two shared endpoints make a Jordan curve; the converse of the two-arcs decomposition, and the form every construction of a curve takes.
The two halves of the parameter interval #
The lower half of the parameter interval, where the first arc runs.
Equations
- Schoenflies.lowerHalf = Set.Icc 0 (1 / 2)
Instances For
The upper half of the parameter interval, where the second arc runs. The two halves overlap in the midpoint: that is the seam.
Equations
- Schoenflies.upperHalf = Set.Icc (1 / 2) 1
Instances For
Doubling a parameter below the midpoint reaches at most one.
Doubling a parameter above the midpoint and stepping back reaches at least zero.
The glued parametrisation #
On the closed upper half the glued map is the retimed second arc — at the midpoint
included, where the if still takes the first branch. The two branches agree there only
because the first arc finishes where the second starts, which is what makes the glued map
well defined.
Continuity #
Continuity of the glued map: each half carries a composition, and the halves are closed and cover.
Pinning a parameter at the seam #
At a point where two of the pieces meet, the value is one of the shared points, and the injectivity of the arc it belongs to pins the parameter. Each half needs its own statement, since they retime differently; the loop needs the outer ends as well as the middle.
Injectivity #
Across the seam: the common value lies on both arcs, so it is the shared endpoint, and
each half's injectivity pins its own parameter to the midpoint. Stated for a parameter of
each half rather than for x and y, so that the two orderings of the case split are the
same theorem.
Two arcs meeting only at the endpoint they share glue to an injective map.
What the glued map covers #
Each half retimes onto the whole interval, so the glued map's image is exactly the two arcs together.
The set-level gluing theorems #
This is the form the rest of the development speaks: a piece is an arc between two named points, the parametrisations are chosen inside the proofs and never seen again.
Two pieces meeting only at the point where they are joined make one piece.
Two arcs meeting only at the endpoint they share glue to an arc.
Closing the loop #
Two arcs that share both of their ends — the second runs back from where the first arrived
to where it set out — glue to a loop rather than to an arc. Everything above carries over
except the seam analysis: a common value now has two ways to be legitimate, at the middle
where the arcs are glued and at the outer ends where the loop closes, and the second of those
is exactly the repetition IsLoop allows itself at the finish.
Across the seam, when the two arcs also share their outer ends. At the middle the
argument is the one for arcs; at the outer ends the second arc is at its finish, so its
parameter is 1 — which the hypothesis has excluded.
Two arcs glued along both of their ends make a loop.
Two pieces meeting exactly at their two shared endpoints make a Jordan curve. This is the converse of the two-arcs decomposition, and the form every construction of a curve takes: a cycle of a plane graph arrives as a path and one more edge back to where it started.