Definition hx (t : R) : R := (r_vi * sin (rho_vi * t))%R.

(* Specifications: *)
Lemma hx_derivable : derivable hx.
Lemma Dhx : forall t : R, derive_pt hx t (hx_derivable t) = (vi intr * cos (rho_vi * t))%R.
Lemma xpt : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> (hx t <= xp t - xp 0)%R.
Lemma r_sin_pos : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> (0 <= r_vi * sin (rho_vi * t))%R.
Lemma xpt_pos : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> (0 <= xp t - xp 0)%R.
Lemma xpt_PI : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> (r_vi * sin (rho_vi * t) - l * cos (beta + thetat intr 0) <= xp t)%R.
Lemma Omega_defeq : forall x : R, Omega x = true -> (PI / 2 <= x <= 3 * (PI / 2))%R.
Lemma neg_cos_var : forall x : R, cos (x - PI) = (- cos x)%R.
Lemma xp0_pos : Omega (beta + thetat intr 0) = true -> (0 <= xp 0)%R.
Lemma xpt_Omega : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> Omega (beta + thetat intr 0) = true -> (r_vi * sin (rho_vi * t) <= xp t)%R.
Lemma isometric_evader : forall t : R, Rsqr_evader_distance t = (Rsqr (xp t) + Rsqr (yp t))%R.
Lemma xpt_xp0 : forall t : R, (xp t - xp 0)%R = (cos (thetat intr 0) * (xi intr t - xi intr 0) + sin (thetat intr 0) * (yi intr t - yi intr 0))%R.
Lemma ypt_yp0 : forall t : R, (yp t - yp 0)%R = (- sin (thetat intr 0) * (xi intr t - xi intr 0) + cos (thetat intr 0) * (yi intr t - yi intr 0))%R.
Lemma isometric_intruder : forall t : R, Rsqr_intruder_distance t = (Rsqr (xp t - xp 0) + Rsqr (yp t - yp 0))%R.
Lemma majoration : forall t : R, (Rsqr (yp t) <= Rsqr_evader_distance t)%R /\ (Rsqr (xp t) <= Rsqr_evader_distance t)%R.
Lemma YCNGFTYS_evader : forall t : R, (0 <= t)%R -> (l - v (vi intr) * t <= e t)%R.
Lemma YCNGSTYS_evader : forall t : R, (0 <= t)%R -> (rho_vi * t < 2)%R -> (2 * r_vi * sin (rho_vi * (t / 2)) - l <= e t)%R.
Lemma xp_pos : forall t : R, (0 <= t)%R -> (rho_vi * t <= PI)%R -> Omega (beta + thetat intr 0) = true -> (0 <= xp t)%R.
Lemma no_conflict_xp_1_Omega : forall t : R, (1 <= t)%R -> (rho_vi * t <= PI - rho_vi)%R -> Omega (beta + thetat intr 0) = true -> (ConflictRange < xp t)%R.
Lemma no_conflict_scenario_1_Omega : forall t : R, (1 <= t)%R -> (rho_vi * t <= PI - rho_vi)%R -> Omega (beta + thetat intr 0) = true -> (Rsqr ConflictRange < Rsqr_evader_distance t)%R.
Lemma no_conflict_scenario_0_1s : forall t : R, (0 <= t)%R -> (t < 1)%R -> (ConflictRange + vi intr < l)%R -> (ConflictRange < e t)%R.
Lemma no_conflict_gt_max_t : forall t : R, let MaxDistance := (vi intr * t + ConflictRange)%R in (0 <= t)%R -> (MaxDistance < l)%R -> (ConflictRange < e t)%R.
Lemma no_conflict_lt_min_t : forall t : R, let MinDistance := (2 * r_vi * sin (rho_vi * (t / 2)) - ConflictRange)%R in (0 <= t)%R -> (0 <= rho_vi * t)%R -> (rho_vi * t < 2)%R -> (l < MinDistance)%R -> (ConflictRange < e t)%R.
Lemma no_conflict_Omega_t : forall t : R, (ConflictRange + vi intr < l)%R -> (0 <= t)%R -> (rho_vi * t <= PI - rho_vi)%R -> Omega (beta + thetat intr 0) = true -> (ConflictRange < e t)%R.
Theorem no_conflict_gt_max : let MaxDistance := (vi intr * T + ConflictRange)%R in (MaxDistance < l)%R -> conflict T = false.
Theorem no_conflict_lt_min : let MinDistance := (2 * r_vi * sin (rho_vi * (T / 2)) - ConflictRange)%R in (0 <= rho_vi * T)%R -> (rho_vi * T < 2)%R -> (l < MinDistance)%R -> conflict T = false.
Theorem no_conflict_Omega : (ConflictRange + v (vi intr) < l)%R -> (rho_vi * T <= PI - rho_vi)%R -> Omega (beta + thetat intr 0) = true -> conflict T = false.