conflict_3D_vz_swap: LEMMA conflict_3D?(s,v) IFF conflict_3D?(s WITH [z:=-(s`z)],v WITH[z:=-(v`z)])
conflict_3D_on_open_interval: LEMMA conflict_3D?(s,v) IFF EXISTS (topen: Lookahead[B,T]): B<topen AND topen <T AND sqv(vect2(s)+topen*vect2(v))<sq(D) AND abs(s`z + topen*v`z) < H
conflict_3D_vertical: LEMMA vect2(v) /= zero AND Delta(s,v) >= 0 AND max(Theta_D(s,v,Entry),B) < min(Theta_D(s,v,Exit),T) IMPLIES
(conflict_3D?(s,v) IFF
conflict_vertical?[H,max(Theta_D(s,v,Entry),B),min(Theta_D(s,v,Exit),T)](s`z,v`z))
%-----------------------------------------------% % 3-D Conflict interval detection [tin,tout] % % (tin,tout) is the conflict interval % %-----------------------------------------------%
detection(s,v) : [Lookahead[B,T],Lookahead[B,T]] = IF zero_vect2?(v) AND horizontal_los?(s) THEN IF v`z /= 0 THEN
(min(max(Theta_H(s`z,v`z,Entry),B),T),max(min(Theta_H(s`z,v`z,Exit),T),B)) ELSIF vertical_los?(s`z) THEN
(B,T) ELSE
(B,B) ENDIF ELSIF Delta(s,v) > 0 THEN LET td1 = Theta_D(s,v,Entry),
td2 = Theta_D(s,v,Exit) IN IF v`z /= 0 THEN LET tin = max(td1,Theta_H(s`z,v`z,Entry)),
tout = min(td2,Theta_H(s`z,v`z,Exit)) IN
(min(max(tin,B),T),max(min(tout,T),B)) ELSIF vertical_los?(s`z) THEN
(min(max(td1,B),T),max(min(td2,T),B)) ELSE
(B,B) ENDIF ELSE
(B,B) ENDIF
detection_correct : THEOREM LET (tin,tout) = detection(s,v) IN
tin < t AND t < tout IMPLIES conflict_at?(s,v,t)
detection_complete : THEOREM LET (tin,tout) = detection(s,v) IN
conflict_at?(s,v,t) IMPLIES tin <= t AND t <= tout AND tin < tout
conflict_detection : THEOREM LET (tin,tout) = detection(s,v) IN
conflict_3D?(s,v) IFF tin < tout
cd3d?(s,v) : bool = IF v`z = 0 AND abs(s`z)<H THEN cd2d?[D,B,T](s,v) ELSIF v`z /= 0 AND max(-H-sign(v`z)*s`z,B*abs(v`z)) < min(H-sign(v`z)*s`z,T*abs(v`z)) THEN cd2d?[D*abs(v`z),max(-H-sign(v`z)*s`z,B*abs(v`z)),min(H-sign(v`z)*s`z,T*abs(v`z))](abs(v`z)*s,v) ELSE FALSE ENDIF
cd3d_rewrite: LEMMA cd3d?(s,v) IFF IF v`z = 0 AND abs(s`z)<H THEN cd2d?[D,B,T](s,v) ELSIF v`z /= 0 AND max(Theta_H(s`z,v`z,Entry),B) < min(Theta_H(s`z,v`z,Exit),T) THEN cd2d?[D,max(Theta_H(s`z,v`z,Entry),B),min(Theta_H(s`z,v`z,Exit),T)](s,v) ELSE FALSE ENDIF
cd3d_test: LEMMA FORALL (nvo,vi:Vect3):
D = 10000.8 AND
H = 283.464 AND
B = 0 AND
T = 300 AND
s = (0,110733.65,0) AND
nvo = (0,-236.48,0) AND
vi = (0,236.48,0) IMPLIES cd3d?(s,nvo-vi)
%-----------------------------------------------% % THEOREM: cd3d is correct and complete % %-----------------------------------------------%
cd3d : THEOREM
conflict_3D?(s,v) IFF
cd3d?(s,v)
%-----------------------------------------------% % Additional Lemmas on conflict_3D % %-----------------------------------------------%
% Rewriting cd3d in terms of cd_vertical - the vertical conflict probe
cd3d_rewrite_vertical: LEMMA cd3d?(s,v) IFF
(vect2(v) = zero AND sqv(vect2(s)) < sq(D) AND cd_vertical?[H,B,T](s`z,v`z)) OR
(Delta(s,v)>0 AND max(Theta_D(s,v,Entry),B) < min(Theta_D(s,v,Exit),T) AND
cd_vertical?[H,max(Theta_D(s,v,Entry),B),min(Theta_D(s,v,Exit),T)](s`z,v`z))
% ----------------------------------------------%
vertical_solution_not_conflict_3D : LEMMA
vertical_solution?(s`z,v`z,T,Entry) IMPLIES NOT conflict_3D?(s,v)
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.