Section Grad.
Context `{TnEQD:Tarski_neutral_dimensionless_with_decidable_point_equality}.
Inductive GradExpInv : Tpoint -> Tpoint -> Tpoint -> Prop :=
gradexpinv_init : forall A B, GradExpInv A B B
| gradexpinv_stab : forall A B B' C, Bet A B' B -> Cong A B' B' B -> GradExpInv A B C ->
GradExpInv A B' C.

(** D is the last graduation of AB before or equal to C, and E the first graduation after C *)
Lemma reach__grad_min : forall A B C, A <> B -> Bet A B C -> Reach A B A C ->
exists D E, Bet A D C /\ Grad A B D /\ E <> C /\ Bet A C E /\ Bet A D E /\ Cong A B D E.