Section trajectory.
Unset Standard Proposition Elimination Names.
Variable intr : Trajectory.
Variable evad : EvaderTrajectory.
Variable T : TimeT.
unfold thetat in |- *; apply (cond_diff (theta intr)).
Qed.
Definition xe : R := x (tr evad) T.
Definition ye : R := y (tr evad) T.
Definition ve : R := v (h (tr evad)).
Definition r_vi : R := r (vi intr).
Definition rho_vi : R := rho (vi intr).
Definition Die (ti te : R) : R :=
sqrt
(Rsqr (xi intr ti - x (tr evad) te) + Rsqr (yi intr ti - y (tr evad) te)).
Definition conflict (t : R) : bool :=
match Rle_dec (Die t t) ConflictRange with
| left _ => true
| right _ => false
end.
intro; unfold xi, vi, thetat in |- *.
assert (H := cond_x intr t).
rewrite <- H.
apply pr_nu.
Qed.
intro; unfold yi, vi, thetat in |- *.
assert (H := cond_y intr t).
rewrite <- H.
apply pr_nu.
Qed.
Definition l : R := Die 0 T.
Definition d : R := Die 0 0.
Axiom
beta_exists :
{ beta : R |
xe = (l * cos beta + xi intr 0)%R /\
ye = (yi intr 0 - l * sin beta)%R /\
(0 <= beta + thetat intr 0 < 2 * PI)%R }.
Definition beta := let (a,_) := beta_exists in a.
unfold beta in |- *; case beta_exists; trivial.
Qed.
Definition Omega (a : R) : bool :=
match Rle_dec (PI / 2) a with
| left _ =>
match Rle_dec a (3 * (PI / 2)) with
| left _ => true
| right _ => false
end
| right _ => false
end.
Proof with trivial.
generalize beta_def; intro; elim H...
Qed.
Proof with trivial.
generalize beta_def; intro; elim H; intros _ H0; elim H0...
Qed.

Lemma d_l_beta :
Rsqr d = (Rsqr (ve * T) + Rsqr l - 2 * ve * T * l * cos beta)%R.