Section Archimedes_cantor_dedekind.
Context `{TnEQD:Tarski_neutral_dimensionless_with_decidable_point_equality}.
Inductive cX A C (Alpha Beta : Tpoint -> Prop) : nat -> Tpoint -> Prop :=
| cX_init : cX A C Alpha Beta O A
| cX_same : forall n X Y M, cX A C Alpha Beta n X -> cY A C Alpha Beta n Y -> Midpoint M X Y ->
Beta M -> cX A C Alpha Beta (S n) X
| cX_other : forall n X Y M, cX A C Alpha Beta n X -> cY A C Alpha Beta n Y -> Midpoint M X Y ->
Alpha M -> cX A C Alpha Beta (S n) M
with cY A C (Alpha Beta : Tpoint -> Prop) : nat -> Tpoint -> Prop :=
| cY_init : cY A C Alpha Beta O C
| cY_same : forall n X Y M, cX A C Alpha Beta n X -> cY A C Alpha Beta n Y -> Midpoint M X Y ->
Alpha M -> cY A C Alpha Beta (S n) Y
| cY_other : forall n X Y M, cX A C Alpha Beta n X -> cY A C Alpha Beta n Y -> Midpoint M X Y ->
Beta M -> cY A C Alpha Beta (S n) M.
Scheme cX_cY_ind := Induction for cX Sort Prop
with cY_cX_ind := Induction for cY Sort Prop.
Combined Scheme cXY_ind from cX_cY_ind, cY_cX_ind.

Lemma archimedes_cantor__dedekind_variant : archimedes_axiom -> cantor_s_axiom -> dedekind_variant.