% This file contains a dump of the AILS theories and proofs. 
% Use the PVS command M-x undump-pvs-files to retrieve the 
% theory and proof files.


%Patch files loaded: patch2 version 1.2.2.36

$$$properties.pvs

%----------------------------------------------------------------------------
% Properties and axioms of the AILS alerting algorithm and 
% model of trajectories.
%
%----------------------------------------------------------------------------

properties : THEORY
BEGIN

   importing coordinate_transf
  
%-- Types 

  mag_nz(x:real) : type = {y:real | (sq(x) + sq(y)) /= 0}

 
%-- Variables


  s,s1,s2		: var State
  intruder		: var {s:State | v(s) = intruderSpeed}
  evader		: var {s:State | v(s) = evaderSpeed and 
                                                heading(s) = 0 and phi(s) = 0}
  df,df1,df2		: VAR bank_func
  phi,phi1,phi2  	: VAR Bank
  t,t1,t2,tpred		: var real
  m			: var posnat
  n,n1,n2		: var nat
  shift			: var degrees

%-- Axioms

  derivative_eq_zero_min : AXIOM
    FORALL (intruder,evader,t1,t2): 
      R(intruder,evader,t1+tau(intruder,evader,t1)) <=
      R(intruder,evader,t1+t2)

  asymptotic_decrease_zero_to_tau : AXIOM
    FORALL (intruder,evader,t,t1,t2) :
      tau(intruder,evader,t) >= 0 AND t2 <= tau(intruder,evader,t) AND 
      t1 <= t2 
      IMPLIES
      R(intruder,evader,t+t1) >= R(intruder,evader,t+t2)
    
  asymptotic_increase_tau_to_zero : AXIOM
    FORALL (intruder,evader,t,t1,t2) :
      tau(intruder,evader,t) <= 0 AND tau(intruder,evader,t) <= t1 AND 
      t1 <= t2
      IMPLIES
      R(intruder,evader,t+t2) >= R(intruder,evader,t+t1)

% The shortest distance between the current position and the position of the 
% trajectory is the neg or postive maximum bank.
  
  shortest_distance_phi : axiom
    forall (n:subrange(0,18)) :
      distance(intruder,trajectory(intruder with [phi := 35],pos_35_bank,n)) <= 
      distance(intruder,trajectory(intruder,pos_35_bank,n))

  shortest_distance : axiom
    forall (n:subrange(0,18)) :
      distance(intruder,trajectory(intruder,pos_35_bank,n)) <= 
      distance(intruder,trajectory(intruder,df,n))

% Function R is periodic on heading.

  R_periodic : lemma
   forall (i:int) :
   R(intruder with [heading := heading(intruder) + 360 * i],evader,t) =
   R(intruder,evader,t)

% distance is periodic on heading.
  
  distance_periodic : lemma
   forall (i:int) :
   distance(s1 with [heading := heading(s1) + 360 * i],s2) =
   distance(s1,s2)


%    Q 
%   /|
%  / | 
% R\ |
%   \|
%    P

  triangle_distance: AXIOM
    FORALL(P,Q,R:State) :
    distance(P,Q) <= distance(P,R) + distance(R,Q)

%-- Theorems and Properties
% 
 
  speed_constant : lemma
    v(trajectory(s,df,n)) = v(s)


% The farthest distance recheable from s after n steps is
% v(s)*n*tstep

  absolute_distance : LEMMA
    FORALL (s,df,n) :
      distance(s,trajectory(s,df,n)) <= v(s)*n*tstep 

% Heading of the trajectory as a function of the direction function df.
% The direction function takes the steps and returns bank angle.

  I(s,df,n) : recursive degrees = 
       (if n = 0 then  tstep * trkrate(phi(s))
        else tstep * trkrate(df(n)) + I(s,df,n-1)
        endif)
   measure n

  heading_of_trajectory(s,df,n) : degrees =
   if n = 0 then heading(s)
   else heading(s) + I(s,df,n-1)
   endif

  heading_of_trajectory_lemma : lemma
    heading(trajectory(s,df,n)) = heading_of_trajectory(s,df,n)

  expanded_evader_trajectory : lemma
   trajectory(evader,zero_bank,18) = 
               (# x := x(evader) + 18 * (evaderSpeed * tstep),
                  y := y(evader),
                  v := evaderSpeed,
                  heading := heading(evader),
                  phi := 0 #)

 evader_s2: var State

  C1 : real = 
     1+cos(tstep * trkrate(-35))+
     cos(2 * (tstep * trkrate(-35)))+cos(3 * (tstep * trkrate(-35)))+
     cos(4 * (tstep * trkrate(-35)))+cos(5 * (tstep * trkrate(-35)))+
     cos(6 * (tstep * trkrate(-35)))+cos(7 * (tstep * trkrate(-35)))+
     cos(8 * (tstep * trkrate(-35)))+cos(9 * (tstep * trkrate(-35)))+
     cos(10 * (tstep * trkrate(-35)))+cos(11 * (tstep * trkrate(-35)))+
     cos(12 * (tstep * trkrate(-35)))+cos(13 * (tstep * trkrate(-35)))+
     cos(14 * (tstep * trkrate(-35)))+cos(15 * (tstep * trkrate(-35)))+
     cos(16 * (tstep * trkrate(-35)))+cos(17 * (tstep * trkrate(-35)))

  C2 : real = 
     sin(tstep * trkrate(-35))+
     sin(2 * (tstep * trkrate(-35)))+sin(3 * (tstep * trkrate(-35)))+
     sin(4 * (tstep * trkrate(-35)))+sin(5 * (tstep * trkrate(-35)))+
     sin(6 * (tstep * trkrate(-35)))+sin(7 * (tstep * trkrate(-35)))+
     sin(8 * (tstep * trkrate(-35)))+sin(9 * (tstep * trkrate(-35)))+
     sin(10 * (tstep * trkrate(-35)))+sin(11 * (tstep * trkrate(-35)))+
     sin(12 * (tstep * trkrate(-35)))+sin(13 * (tstep * trkrate(-35)))+
     sin(14 * (tstep * trkrate(-35)))+sin(15 * (tstep * trkrate(-35)))+
     sin(16 * (tstep * trkrate(-35)))+sin(17 * (tstep * trkrate(-35)))
  
%  x_change_for_neg_35_trajectory : lemma
%    phi(intruder) = -35 implies
%    x(trajectory(intruder,neg_35_bank,18)) = 
%    x(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C1 
%      - sin(heading(intruder)) * C2)

  y_change_for_neg_35_trajectory : lemma
    phi(intruder) = -35 implies
    y(trajectory(intruder,neg_35_bank,18)) = 
    y(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C2 
      + sin(heading(intruder)) * C1)

%  x_change_for_neg_35_trajectory_A : lemma
%    phi(intruder) = -35 implies
%    x(trajectory(intruder,neg_35_bank,18)) = 
%    x(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C1A
%                                           - sin(heading(intruder)) * C2A)

  y_change_for_neg_35_trajectory_A : lemma
    phi(intruder) = -35 implies
    y(trajectory(intruder,neg_35_bank,18)) = 
    y(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C2A
                                           + sin(heading(intruder)) * C1A)

  C1_pos : real = 
     1+cos(tstep * trkrate(35))+
     cos(2 * (tstep * trkrate(35)))+cos(3 * (tstep * trkrate(35)))+
     cos(4 * (tstep * trkrate(35)))+cos(5 * (tstep * trkrate(35)))+
     cos(6 * (tstep * trkrate(35)))+cos(7 * (tstep * trkrate(35)))+
     cos(8 * (tstep * trkrate(35)))+cos(9 * (tstep * trkrate(35)))+
     cos(10 * (tstep * trkrate(35)))+cos(11 * (tstep * trkrate(35)))+
     cos(12 * (tstep * trkrate(35)))+cos(13 * (tstep * trkrate(35)))+
     cos(14 * (tstep * trkrate(35)))+cos(15 * (tstep * trkrate(35)))+
     cos(16 * (tstep * trkrate(35)))+cos(17 * (tstep * trkrate(35)))

  C2_pos : real = 
     sin(tstep * trkrate(35))+
     sin(2 * (tstep * trkrate(35)))+sin(3 * (tstep * trkrate(35)))+
     sin(4 * (tstep * trkrate(35)))+sin(5 * (tstep * trkrate(35)))+
     sin(6 * (tstep * trkrate(35)))+sin(7 * (tstep * trkrate(35)))+
     sin(8 * (tstep * trkrate(35)))+sin(9 * (tstep * trkrate(35)))+
     sin(10 * (tstep * trkrate(35)))+sin(11 * (tstep * trkrate(35)))+
     sin(12 * (tstep * trkrate(35)))+sin(13 * (tstep * trkrate(35)))+
     sin(14 * (tstep * trkrate(35)))+sin(15 * (tstep * trkrate(35)))+
     sin(16 * (tstep * trkrate(35)))+sin(17 * (tstep * trkrate(35)))
  
  x_change_for_pos_35_trajectory : lemma
    phi(intruder) = 35 implies
    x(trajectory(intruder,pos_35_bank,18)) = 
    x(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C1_pos 
      - sin(heading(intruder)) * C2_pos)

  y_change_for_pos_35_trajectory : lemma
    phi(intruder) = 35 implies
    y(trajectory(intruder,pos_35_bank,18)) = 
    y(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C2_pos 
      + sin(heading(intruder)) * C1_pos)

  x_change_for_pos_35_trajectory_A : lemma
    phi(intruder) = 35 implies
    x(trajectory(intruder,pos_35_bank,18)) = 
    x(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C1_pos_A
                                           - sin(heading(intruder)) * C2_pos_A)

  y_change_for_pos_35_trajectory_A : lemma
    phi(intruder) = 35 implies
    y(trajectory(intruder,pos_35_bank,18)) = 
    y(intruder) + intruderSpeed * tstep * (cos(heading(intruder)) * C2_pos_A
                                           + sin(heading(intruder)) * C1_pos_A)

  distance_of_trajectory_pos35 : lemma
    sqrt(sq(C1_pos_A * intruderSpeed * tstep) + 
         sq(C2_pos_A * intruderSpeed * tstep)) > 2125

% Maximum heading change is less than 5.168 degrees per second or
% 2.584 degrees per step.

  max_heading_change_neg : lemma 
    forall (i:subrange(0,18)) :
    tstep * h_c(s, neg_35_bank, i) >= -i*2584/1000  and
    tstep * h_c(s, neg_35_bank, i) <= 0

  max_heading_change_pos : lemma 
    forall (i:subrange(0,18)) :
    tstep * h_c(s, pos_35_bank, i) <= i*2584/1000  and
    tstep * h_c(s, pos_35_bank, i) >= 0

  max_heading_change : lemma
    forall (i:subrange(0,18)) :
    tstep * h_c(s, df, i) <= i*2584/1000  and
    tstep * h_c(s, df, i) >= -i*2584/1000

% Maximum track rate of phi is 5.168

  max_phi : lemma
    tstep * trkrate(phi(s)) >= tstep*-7/10*1845/intruderSpeed   and 
    tstep * trkrate(phi(s)) <= tstep*7/10*1845/intruderSpeed

  heading_neg35_le : lemma
    h_c(s,neg_35_bank,n) <= h_c(s,df,n)

  heading_neg35_ge : lemma
    -h_c(s,neg_35_bank,n) >= h_c(s,df,n)

  heading_pos35_le : lemma
    h_c(s,pos_35_bank,n) >= h_c(s,df,n)

  heading_pos35_ge : lemma
    -h_c(s,pos_35_bank,n) <= h_c(s,df,n)

  heading_change_eq : lemma
     h_c(s1,df,n) = h_c(s2,df,n)

  phi_0_neg_trkrate_0_neg : lemma
    phi(s) <= 0 implies trkrate(phi(s)) <= 0

  phi_0_pos_trkrate_0_pos : lemma
    phi(s) >= 0 implies trkrate(phi(s)) >= 0

  phi_le_trkrate_le : lemma
    phi(s1) <= phi(s2) implies trkrate(phi(s1)) <= trkrate(phi(s2))


%------------------------------------------------------------------------
%  34 <= heading <= 87

  intruder_on_y_heading_eq_34 : lemma 
    phi(intruder) = -35 and
    y(intruder) = 0 and heading(intruder) = 34 implies
    y(trajectory(intruder,neg_35_bank,18)) > 200

  phi_neg35_heading_le : lemma
    heading(trajectory(intruder with [phi := -35],neg_35_bank,n)) <=
    heading(trajectory(intruder,neg_35_bank,n))

  phi_neg35_le : lemma 
    forall (i:subrange(0,18)) :
    heading(intruder) = 34 implies
    y(trajectory(intruder with [phi := -35],neg_35_bank,i)) <=
    y(trajectory(intruder,neg_35_bank,i))

  intruder_on_y_heading_eq_34_any_phi : lemma 
    y(intruder) = 0 and heading(intruder) = 34 implies
    y(trajectory(intruder,neg_35_bank,18)) > 200

  sin_of_heading_neg35_le : lemma 
    forall (i:subrange(0,18)) :
    heading(s)+tstep*trkrate(phi(s)) >= 0 and 
    heading(s)+tstep*trkrate(phi(s)) <= 90 implies
    sin(heading(trajectory(s,neg_35_bank,i))) <=
    sin(heading(trajectory(s,df,i)))

  heading_le_y_le : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) <= y(s2) and
    heading(s1) <= heading(s2) and 
    phi(s1) <= phi(s2) and
    phi(s2) <= 0 and
    heading(s1) >= 0 and heading(s1) <= 90 and
    heading(s2) >= 0 and heading(s2) <= 90 implies
    y(trajectory(s1,neg_35_bank,i)) <= y(trajectory(s2,neg_35_bank,i))

  heading_le_y_le_any_phi : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) <= y(s2) and
    heading(s1) <= heading(s2) and 
    phi(s1) <= phi(s2) and
    heading(s1) >= 0 and heading(s1) <= 87 and
    heading(s2) >= 0 and heading(s2) <= 87 implies
    y(trajectory(s1,neg_35_bank,i)) <= y(trajectory(s2,neg_35_bank,i))

  turn_neg35_y_le : lemma
     forall (i:subrange(0,18)) :
    heading(intruder) >= 34 and 
    heading(intruder) + tstep*trkrate(phi(intruder)) <= 90 implies
    y(trajectory(intruder,neg_35_bank,i)) <= y(trajectory(intruder,df,i))

  heading_ge_34_le_87_y_gt_200 : lemma
    y(intruder) = 0 and 
    heading(intruder) >= 34 and 
    heading(intruder) <= 87 implies
    y(trajectory(intruder,df,18)) > 200

  heading_ge_34i_le_87i_y_gt_200 : lemma
    forall (i:int):
    y(intruder) = 0 and 
    heading(intruder) >= 34 + 360 * i and 
    heading(intruder) <= 87 + 360 * i implies
    y(trajectory(intruder,df,18)) > 200



%--------------------------------------------------------------------
%  93 <= heading <= 146

  sin_of_heading_pos35_le : lemma 
    forall (i:subrange(0,18)) :
    heading(s)+tstep*trkrate(phi(s)) >= 90 and 
    heading(s)+tstep*trkrate(phi(s)) <= 180 implies
    sin(heading(trajectory(s,pos_35_bank,i))) <=
    sin(heading(trajectory(s,df,i)))

  turn_pos35_y_le : lemma
     forall (i:subrange(0,18)) :
    heading(intruder) <= 146 and
    heading(intruder) + tstep*trkrate(phi(intruder)) >= 90 implies
    y(trajectory(intruder,pos_35_bank,i)) <= y(trajectory(intruder,df,i))

  heading_ge_y_le_any_phi : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) <= y(s2) and
    heading(s2) <= heading(s1) and 
    phi(s2) <= phi(s1) and
    heading(s1) >= 93 and heading(s1) <= 180 and
    heading(s2) >= 93 and heading(s2) <= 180 implies
    y(trajectory(s1,pos_35_bank,i)) <= y(trajectory(s2,pos_35_bank,i))

  intruder_on_y_heading_eq_146 : lemma 
    phi(intruder) = 35 and
    y(intruder) = 0 and heading(intruder) = 146 implies
    y(trajectory(intruder,pos_35_bank,18)) > 200

  phi_pos35_heading_ge : lemma
    heading(trajectory(intruder with [phi := 35],pos_35_bank,n)) >=
    heading(trajectory(intruder,pos_35_bank,n))

  phi_pos35_le : lemma 
    forall (i:subrange(0,18)) :
    heading(intruder) = 146 implies
    y(trajectory(intruder with [phi := 35],pos_35_bank,i)) <=
    y(trajectory(intruder,pos_35_bank,i))

  intruder_on_y_heading_eq_146_any_phi : lemma 
    y(intruder) = 0 and heading(intruder) = 146 implies
    y(trajectory(intruder,pos_35_bank,18)) > 200

  heading_le_146_y_gt_200 : lemma
    y(intruder) = 0 and 
    heading(intruder) >= 93 and 
    heading(intruder) <= 146 implies
    y(trajectory(intruder,df,18)) > 200

  heading_le_146i_y_gt_200 : lemma
   forall (i:int):
    y(intruder) = 0 and 
    heading(intruder) >= 93 + 360 * i and 
    heading(intruder) <= 146 + 360 * i implies
    y(trajectory(intruder,df,18)) > 200


%---------------------------------------------------------------------
% 87 <= heading <= 93

  heading_87_to_93_y_gt_200_range : lemma
    forall (i:subrange(2,18)) :
    y(intruder) = 0 and
    heading(intruder) >= 87 and
    heading(intruder) <= 93 implies
    y(trajectory(intruder,df,i)) > 200

  heading_87_to_93_y_gt_200 : lemma
    y(intruder) = 0 and
    heading(intruder) >= 87 and
    heading(intruder) <= 93 implies
    y(trajectory(intruder,df,18)) > 200

  heading_87i_to_93i_y_gt_200 : lemma
    forall (i:int):
    y(intruder) = 0 and
    heading(intruder) >= 87 + 360 * i and
    heading(intruder) <= 93 + 360 * i implies
    y(trajectory(intruder,df,18)) > 200

%----------------------------------------------------------------------
% -87 <= heading <= -34

  intruder_on_y_heading_eq_neg34 : lemma 
    phi(intruder) = 35 and
    y(intruder) = 0 and heading(intruder) = -34 implies
    y(trajectory(intruder,pos_35_bank,18)) < -200

  phi_pos35_ge : lemma 
    forall (i:subrange(0,18)) :
    heading(intruder) = -34 implies
    y(trajectory(intruder with [phi := 35],pos_35_bank,i)) >=
    y(trajectory(intruder,pos_35_bank,i))

  intruder_on_y_heading_eq_neg34_any_phi : lemma 
    y(intruder) = 0 and heading(intruder) = -34 implies
    y(trajectory(intruder,pos_35_bank,18)) < -200

  sin_of_heading_pos35_le_neg90_0 : lemma 
    forall (i:subrange(0,18)) :
    heading(s)+tstep*trkrate(phi(s)) >= -90 and 
    heading(s)+tstep*trkrate(phi(s)) <= 0 implies
    sin(heading(trajectory(s,pos_35_bank,i))) >=
    sin(heading(trajectory(s,df,i)))

  heading_le_y_le_neg : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) <= y(s2) and
    heading(s1) <= heading(s2) and 
    phi(s1) <= phi(s2) and
    phi(s1) >= 0 and
    heading(s1) >= -90 and heading(s1) <= 0 and
    heading(s2) >= -90 and heading(s2) <= 0 implies
    y(trajectory(s1,pos_35_bank,i)) <= y(trajectory(s2,pos_35_bank,i))

  heading_le_y_le_any_phi_neg : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) <= y(s2) and
    heading(s1) <= heading(s2) and 
    phi(s1) <= phi(s2) and
    heading(s1) >= -87 and heading(s1) <= 0 and
    heading(s2) >= -87 and heading(s2) <= 0 implies
    y(trajectory(s1,pos_35_bank,i)) <= y(trajectory(s2,pos_35_bank,i))

  turn_pos35_y_le_neg34_neg90 : lemma
     forall (i:subrange(0,18)) :
    heading(intruder) <= -34 and 
    heading(intruder) + tstep*trkrate(phi(intruder)) >= -90 implies
    y(trajectory(intruder,pos_35_bank,i)) >= y(trajectory(intruder,df,i))

  heading_le_neg34_ge_neg87_y_gt_200 : lemma
    y(intruder) = 0 and 
    heading(intruder) <= -34 and 
    heading(intruder) >= -87 implies
    y(trajectory(intruder,df,18)) < -200

  heading_le_neg34i_ge_neg87i_y_gt_200 : lemma
    forall (i:int):
    y(intruder) = 0 and 
    heading(intruder) <= -34 + 360 * i and 
    heading(intruder) >= -87 + 360 * i implies
    y(trajectory(intruder,df,18)) < -200

%----------------------------------------------------------------------
% -146 <= heading <= -93

  sin_of_heading_neg35_le_neg90_neg180 : lemma 
    forall (i:subrange(0,18)) :
    heading(s)+tstep*trkrate(phi(s)) <= -90 and 
    heading(s)+tstep*trkrate(phi(s)) >= -180 implies
    sin(heading(trajectory(s,neg_35_bank,i))) >=
    sin(heading(trajectory(s,df,i)))

  turn_neg35_y_le_neg90_neg145 : lemma
     forall (i:subrange(0,18)) :
    heading(intruder) >= -146 and
    heading(intruder) + tstep*trkrate(phi(intruder)) <= -90 implies
    y(trajectory(intruder,neg_35_bank,i)) >= y(trajectory(intruder,df,i))

  heading_ge_y_le_any_phi_neg93_neg180 : lemma
    forall (i:subrange(0,18),s1,s2:{s:State | v(s) = intruderSpeed}):
    y(s1) >= y(s2) and
    heading(s2) >= heading(s1) and 
    phi(s2) >= phi(s1) and
    heading(s1) <= -93 and heading(s1) >= -180 and
    heading(s2) <= -93 and heading(s2) >= -180 implies
    y(trajectory(s1,neg_35_bank,i)) >= y(trajectory(s2,neg_35_bank,i))

  intruder_on_y_heading_eq_neg146 : lemma 
    phi(intruder) = -35 and
    y(intruder) = 0 and heading(intruder) = -146 implies
    y(trajectory(intruder,neg_35_bank,18)) < -200

  phi_neg35_le_neg146 : lemma 
    forall (i:subrange(0,18)) :
    heading(intruder) = -146 implies
    y(trajectory(intruder with [phi := -35],neg_35_bank,i)) >=
    y(trajectory(intruder,neg_35_bank,i))

  intruder_on_y_heading_eq_neg146_any_phi : lemma 
    y(intruder) = 0 and heading(intruder) = -146 implies
    y(trajectory(intruder,neg_35_bank,18)) < -200

  heading_le_neg146_y_gt_200 : lemma
    y(intruder) = 0 and 
    heading(intruder) <= -93 and 
    heading(intruder) >= -146 implies
    y(trajectory(intruder,df,18)) < -200

  heading_le_neg93i_ge_neg146i_y_gt_200 : lemma
    forall (i:int):
    y(intruder) = 0 and 
    heading(intruder) <= -93 + 360 * i and 
    heading(intruder) >= -146 + 360 * i implies
    y(trajectory(intruder,df,18)) < -200

%---------------------------------------------------------------------
% -93 <= heading <= -87

  heading_neg87_to_neg93_y_gt_200_range : lemma
    forall (i:subrange(2,18)) :
    y(intruder) = 0 and
    heading(intruder) <= -87 and
    heading(intruder) >= -93 implies
    y(trajectory(intruder,df,i)) < -200

  heading_neg87_to_neg93_y_gt_200 : lemma
    y(intruder) = 0 and
    heading(intruder) <= -87 and
    heading(intruder) >= -93 implies
    y(trajectory(intruder,df,18)) < -200

  heading_neg93i_to_neg87i_y_gt_200 : lemma
    forall (i:int):
    y(intruder) = 0 and
    heading(intruder) >= -93 + 360 * i and
    heading(intruder) <= -87 + 360 * i implies
    y(trajectory(intruder,df,18)) < -200

%----------------------------------------------------------------------
% 146 <= heading <= 180

  heading_146_to_180_x_gt_200 : lemma
    forall (se:State,i:subrange(0,18)) :
    let evader_s2 = trajectory(se,zero_bank,18) in
    y(intruder) = 0 and
    y(evader_s2) = 0 and
    x(evader_s2) > x(intruder) and
    heading(intruder) >= 146 and 
    heading(intruder) <= 180 and
    distance(intruder, evader_s2) >= 1925 and
    distance(intruder, evader_s2) <= 2450 implies
    x(trajectory(se,zero_bank,18)) - x(trajectory(intruder,df,i)) > 200
  
  heading_146i_to_180i_x_gt_200 : lemma
    forall (se:State) :
    forall (j:int):
    forall (i:subrange(0,18)) :
    let evader_s2 = trajectory(se,zero_bank,18) in
    y(intruder) = 0 and
    y(evader_s2) = 0 and
    x(evader_s2) > x(intruder) and
    heading(intruder) >= 146 + 360 * j and 
    heading(intruder) <= 180 + 360 * j and
    distance(intruder, evader_s2) >= 1925 and
    distance(intruder, evader_s2) <= 2450 implies
    x(trajectory(se,zero_bank,18)) - x(trajectory(intruder,df,i)) > 200

%----------------------------------------------------------------------
% -180 <= heading <= -146

  heading_neg146_to_neg180_x_gt_200 : lemma
    forall (se:State,i:subrange(0,18)) :
    let evader_s2 = trajectory(se,zero_bank,18) in
    y(intruder) = 0 and
    y(evader_s2) = 0 and
    x(evader_s2) > x(intruder) and
    heading(intruder) >= -180 and 
    heading(intruder) <= -146 and
    distance(intruder, evader_s2) >= 1925 and
    distance(intruder, evader_s2) <= 2450 implies
    x(trajectory(se,zero_bank,18)) - x(trajectory(intruder,df,i)) > 200

  heading_neg146i_to_neg180i_x_gt_200 : lemma
    forall (se:State) :
    forall (j:int):
    forall (i:subrange(0,18)) :
    let evader_s2 = trajectory(se,zero_bank,18) in
    y(intruder) = 0 and
    y(evader_s2) = 0 and
    x(evader_s2) > x(intruder) and
    heading(intruder) >= -180 + 360 * j and 
    heading(intruder) <= -146 + 360 * j and
    distance(intruder, evader_s2) >= 1925 and
    distance(intruder, evader_s2) <= 2450 implies
    x(trajectory(se,zero_bank,18)) - x(trajectory(intruder,df,i)) > 200

%-------------------------------------------------------------------------


  div(x:real,b:posnat) : {i:int | exists (r:{y:real | y>= 0 and y<b}): x = i * b + r}

  all_angles : lemma
    forall (x:degrees) :
    (exists (j:int):
    x < 34 + 360 * j and
    x > -34 + 360 * j) or
    (exists (j:int):
    x >= 34 + 360 * j and
    x <= 87 + 360 * j) or
    (exists (j:int):
    x >= 87 + 360 * j and
    x <= 93 + 360 * j) or
    (exists (j:int):
    x >= 93 + 360 * j and
    x <= 146 + 360 * j) or
    (exists (j:int):
    x >= 146 + 360 * j and
    x <= 180 + 360 * j) or
    (exists (j:int):
    x <= -34 + 360 * j and
    x >= -87 + 360 * j) or
    (exists (j:int):
    x <= -87 + 360 * j and
    x >= -93 + 360 * j) or
    (exists (j:int):
    x <= -93 + 360 * j and
    x >= -146 + 360 * j) or
    (exists (j:int):
    x <= -146 + 360 * j and
    x >= -180 + 360 * j) 
	
 intruder_and_evader_on_y_collision_imp_heading_le_34_e : lemma
    forall (se:State):
    let se_s2 = trajectory(se,zero_bank,18) in
    y(intruder) = 0 and
    y(se_s2) = 0 and
    distance(intruder, se_s2) >= 1925 and
    distance(intruder, se_s2) <= 2450 and
    collision_scenario(intruder,se,df,18) and
    x(se_s2) > x(intruder)   implies
    (exists (j:int):
    heading(intruder) < 34 + 360 * j and
    heading(intruder) > -34 + 360 * j)


%---------------------------------------------------------------------


  evader_intruder_lt : lemma
    distance(intruder,trajectory(evader, zero_bank, n)) <= 2450 implies
    distance(intruder,evader) <= 2450 + v(evader)*n*tstep

  trans_10k_evader_not_0 : lemma
    distance(intruder,trajectory(evader, zero_bank, 18)) <= 2450 implies
    x(trans(evader,x(intruder) - 10000,0)) /= 0

  evader_traj_intruder_lt : lemma
   FORALL (n2: tr_rg(18)):
    distance(intruder,trajectory(evader, zero_bank, 18)) <= 2450 implies
    distance(intruder,trajectory(evader, zero_bank, n2)) <= 
         2450 + v(evader)*(18)*tstep + v(evader)*n2*tstep

  trans_10k_not_0 : lemma
    FORALL (n2: tr_rg(18)):
        distance(intruder, trajectory(evader, zero_bank, 18)) <= 2450 implies
        x(trajectory(trans(evader, x(intruder) - 10000, 0), zero_bank, n2)) /= 0

  trans_10k_not_0_rev : lemma
    FORALL (n2: tr_rg(18)):
        distance(intruder, trajectory(evader, zero_bank, 18)) <= 2450 implies
        x(trans(trajectory(evader,zero_bank,n2),x(intruder) - 10000, 0)) /= 0


% Function to calculate the heading of the radial to the future 
% location of the evader.

  radial_func(y,x:real):degrees = 
   if x = 0 then (if y > 0 then -90 else 90 endif)
   elsif x > 0 then 
       (if y > 0 then arctan(y/x) - 180 else 180 + arctan(y/x) endif)
   else arctan(y/x)
   endif

% distance between the present location of the intruder and the location
% of the evader in 9 seconds.

%  dist_int_to_collision : lemma
%  distance(intruder,trajectory(evader,zero_bank,18)) = 
%  sqrt(sq(y(intruder) - y(trajectory(evader,zero_bank,18))) + 
%       sq(x(intruder) - x(trajectory(evader,zero_bank,18))))

  sin_of_radial_angle : lemma
   forall (y:real,x:mag_nz(y)):
   sin(radial_func(y,x)) = -y/sqrt(sq(y)+sq(x))
  
  cos_of_radial_angle : lemma
   forall (y:real,x:mag_nz(y)):
   cos(radial_func(y,x)) = -x/sqrt(sq(y)+sq(x))

  after_rotation_of_radial_y_eq : lemma
    let yd = y(s1) - y(s2) in
    let xd = x(s1) - x(s2) in
    x(s1) /= 0 and x(s2) /= 0 and
    distance(s1,s2) /= 0 implies
    y(rot(s1,radial_func(yd,xd))) = y(rot(s2,radial_func(yd,xd)))
 
  x_evader_gt_x_int_after_radial_rotation : lemma
    let yd = y(s1) - y(s2) in
    let xd = x(s1) - x(s2) in
    x(s1) /= 0 and x(s2) /= 0 and
    distance(s1,s2) /= 0 implies 
    x(rot(s2,radial_func(yd,xd))) > x(rot(s1,radial_func(yd,xd)))

% Calculation of function R

  angle_radial_distance_2250_dist_0 : lemma
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    distance(intruder, evader_s2) = 2250 and
    heading(intruder) = radial  implies
    R(intruder,evader,9) = 0

  angle_radial_distance_2250_plus_c_dist_c : lemma
    forall (c:{x:real | abs(x) < 2250}):
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    distance(intruder, evader_s2) = 2250 + c and
    heading(intruder) = radial  implies
    R(intruder,evader,9) = abs(c)

  angle_radial_plus_shift_distance_2250 : lemma
    forall (shift:degrees): 
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    distance(intruder, evader_s2) = 2250  and
    heading(intruder) = radial + shift  implies
    R(intruder,evader,9) = 2*2250*abs(sin(shift/2))

  angle_radial_plus_shift_distance_2250_plus_c : lemma
    forall (c:{x:real | x > -2250 and x <= 200},
            shift:degrees):
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    distance(intruder, evader_s2) = 2250 + c  and
    heading(intruder) = radial + shift  implies
    R(intruder,evader,9) = 
         sqrt((sq(2250) + 2250 * c) * 4 * sq(sin(shift / 2)) + sq(c))

% alert range

  angle_le_34_from_radial_imp_alert_range : lemma
    forall (c:{x:real | x > -2250 and x <= 200},
            shift:degrees):
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    c >= -325 and c <= 200 and 
    shift <= 34 and shift >= -34 and
    distance(intruder, evader_s2) = 2250 + c  and
    heading(intruder) = radial + shift  implies
    R(intruder,evader,9) <= alertRange


% theorem used in the proof of *distance_lt_1925_no_collision_in_9sec*

  min_trajecory_distance : lemma
   distance(intruder,trajectory(intruder,df,18)) > 2125

% the theorems called from ails_last_theorem's proof

  distance_gt_2450_no_collision_in_9sec : lemma
   distance(intruder,trajectory(evader,zero_bank,18)) > 2450 implies 
   not collision_scenario(intruder,evader,df,18) 

  distance_lt_1925_no_collision_in_9sec : lemma
   distance(intruder,trajectory(evader,zero_bank,18)) < 1925 implies 
   not collision_scenario(intruder,evader,df,18) 

  collision_scenario_imp_angle_lt_34_from_radial_e : lemma
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    distance(intruder, evader_s2) >= 1925 and
    distance(intruder, evader_s2) <= 2450 and
    collision_scenario(intruder,evader,df,18) implies
    (exists (j:int):
    heading(intruder) < radial + 34 + 360 * j and
    heading(intruder) > radial - 34 + 360 * j)

% Alarm when the heading with relation to the radial le to 34

  angle_le_34_from_radial_imp_alarm : lemma
    forall (c:{x:real | x > -2250 and x <= 200},
            shift:degrees):
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    c >= -325 and c <= 200 and 
    shift <= 34 and shift >= -34 and
    distance(intruder, evader_s2) = 2250 + c  and
    heading(intruder) = radial + shift  implies
    larcalert(intruder,evader)

  angle_le_34_from_radial_imp_alarm_e : lemma
    forall (j:int):
    forall (c:{x:real | x > -2250 and x <= 200},
            shift:degrees):
    let evader_s2 = trajectory(evader,zero_bank,18) in
    let y = y(intruder) - y(evader_s2) in 
    let x = x(intruder) - x(evader_s2) in
    let radial = radial_func(y,x) in
    c >= -325 and c <= 200 and 
    shift <= 34 and shift >= -34 and
    distance(intruder, evader_s2) = 2250 + c  and
    heading(intruder) = radial + shift + 360 * j  implies
    larcalert(intruder,evader)

% the theorem we want to prove

  
  ails_last_theorem : theorem
    forall (intruder,evader) :
    collision_scenario(intruder,evader,df,18) implies
    larcalert(intruder,evader)

END properties









$$$properties.prf
(|properties| (|shortest_distance_phi_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|R_periodic_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|R_periodic| "" (SKOSIMP*)
  (("" (EXPAND "R")
    (("" (EXPAND "dx")
      (("" (EXPAND "dy")
        (("" (REWRITE "sin_equivalence")
          (("" (REWRITE "cos_equivalence") NIL NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_periodic| "" (SKOSIMP*)
  (("" (EXPAND "distance") (("" (PROPAX) NIL NIL)) NIL)) NIL)
 (|speed_constant| "" (INDUCT "n")
  (("1" (SKOSIMP*) (("1" (GRIND) NIL NIL)) NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state") (("2" (INST?) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|absolute_distance| "" (SKOLEM 1 ("s" "df" _))
  (("" (INDUCT "n")
    (("1" (GRIND)
      (("1" (CASE-REPLACE "0 = sq(0)")
        (("1" (REWRITE "sqrt_of_sq")
          (("1" (EXPAND "sq") (("1" (ASSERT) NIL NIL)) NIL)) NIL)
         ("2" (EXPAND "sq") (("2" (PROPAX) NIL NIL)) NIL))
        NIL))
      NIL)
     ("2" (SKOLEM 1 "J")
      (("2" (GROUND)
        (("2" (LEMMA "triangle_distance")
          (("2"
            (INST -1 "s" "trajectory(s,df,1+J)" "trajectory(s,df,J)")
            (("2"
              (CASE-REPLACE
               "distance(trajectory(s, df, J),               trajectory(s, df, 1 + J)) = tstep * v(s)")
              (("1" (GROUND) NIL NIL)
               ("2" (HIDE -1 -2 2)
                (("2" (GRIND)
                  (("2" (REWRITE "speed_constant")
                    (("2"
                      (NAME-REPLACE A "heading(trajectory(s, df, J))")
                      (("2"
                        (CASE-REPLACE
                         "v(s) * v(s) * cos(A) * cos(A) * (1 / 2) * (1 / 2) +           v(s) * v(s) * sin(A) * sin(A) * (1 / 2) * (1 / 2) =          v(s) * v(s) * (1 / 2) * (1 / 2) * (sq(sin(A)) + sq(cos(A)))")
                        (("1" (REWRITE "sin_cos_sq_one")
                          (("1" (LEMMA "sqrt_of_sq")
                            (("1" (INST -1 "1 / 2 * v(s)")
                              (("1"
                                (EXPAND "sq")
                                (("1"
                                  (REPLACE -1 1)
                                  (("1"
                                    (TYPEPRED "v(s)")
                                    (("1"
                                      (EXPAND "abs")
                                      (("1" (PROPAX) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (I_TCC1 "" (SUBTYPE-TCC) NIL NIL) (I_TCC2 "" (SUBTYPE-TCC) NIL NIL)
 (I_TCC3 "" (TERMINATION-TCC) NIL NIL)
 (|heading_of_trajectory_lemma| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (EXPAND "heading_of_trajectory" 1)
          (("2" (INST?)
            (("2" (REPLACE -1)
              (("2" (DELETE -1)
                (("2" (EXPAND "heading_of_trajectory")
                  (("2" (CASE "j!1 = 0")
                    (("1" (ASSERT)
                      (("1" (REPLACE -1 1)
                        (("1" (EXPAND "I")
                          (("1" (EXPAND "trajectory")
                            (("1" (PROPAX) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (ASSERT)
                      (("2" (EXPAND "I" 2 2)
                        (("2" (EXPAND "trajectory")
                          (("2" (EXPAND "next_state")
                            (("2" (PROPAX) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|expanded_evader_trajectory| "" (SKOSIMP*)
  (("" (EXPAND "zero_bank")
    (("" (EXPAND "trajectory")
      (("" (EXPAND "next_state")
        (("" (EXPAND "trajectory")
          (("" (EXPAND "next_state")
            (("" (EXPAND "trajectory")
              (("" (EXPAND "next_state")
                (("" (EXPAND "trajectory")
                  (("" (EXPAND "next_state")
                    (("" (EXPAND "trajectory")
                      (("" (EXPAND "next_state")
                        (("" (EXPAND "trajectory")
                          (("" (EXPAND "next_state")
                            (("" (EXPAND "trajectory")
                              ((""
                                (EXPAND "next_state")
                                ((""
                                  (EXPAND "trajectory")
                                  ((""
                                    (EXPAND "next_state")
                                    ((""
                                      (EXPAND "trajectory")
                                      ((""
                                        (EXPAND "next_state")
                                        ((""
                                          (EXPAND "trajectory")
                                          ((""
                                            (EXPAND "next_state")
                                            ((""
                                              (EXPAND "trajectory")
                                              ((""
                                                (EXPAND "next_state")
                                                ((""
                                                  (EXPAND "trajectory")
                                                  ((""
                                                    (EXPAND
                                                     "next_state")
                                                    ((""
                                                      (EXPAND
                                                       "trajectory")
                                                      ((""
                                                        (EXPAND
                                                         "next_state")
                                                        ((""
                                                          (EXPAND
                                                           "trajectory")
                                                          ((""
                                                            (EXPAND
                                                             "next_state")
                                                            ((""
                                                              (EXPAND
                                                               "trajectory")
                                                              ((""
                                                                (EXPAND
                                                                 "next_state")
                                                                ((""
                                                                  (EXPAND
                                                                   "trajectory")
                                                                  ((""
                                                                    (EXPAND
                                                                     "next_state")
                                                                    ((""
                                                                      (EXPAND
                                                                       "trajectory")
                                                                      ((""
                                                                        (EXPAND
                                                                         "next_state")
                                                                        ((""
                                                                          (EXPAND
                                                                           "trajectory")
                                                                          ((""
                                                                            (EXPAND
                                                                             "next_state")
                                                                            ((""
                                                                              (EXPAND
                                                                               "trajectory")
                                                                              ((""
                                                                                (TYPEPRED
                                                                                 "evader!1")
                                                                                ((""
                                                                                  (REPLACE*)
                                                                                  ((""
                                                                                    (EXPAND
                                                                                     "trkrate")
                                                                                    ((""
                                                                                      (LEMMA
                                                                                       "sin_of_0_180")
                                                                                      ((""
                                                                                        (LEMMA
                                                                                         "cos_of_0")
                                                                                        ((""
                                                                                          (INST
                                                                                           -1
                                                                                           "0")
                                                                                          ((""
                                                                                            (FLATTEN
                                                                                             -2)
                                                                                            ((""
                                                                                              (REPLACE*)
                                                                                              ((""
                                                                                                (ASSERT)
                                                                                                ((""
                                                                                                  (APPLY-EXTENSIONALITY
                                                                                                   1)
                                                                                                  NIL
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (C1_TCC1 "" (SUBTYPE-TCC) NIL NIL)
 (|y_change_for_neg_35_trajectory| "" (SKOSIMP*)
  (("" (EXPAND "neg_35_bank")
    (("" (EXPAND "trajectory")
      (("" (EXPAND "next_state")
        (("" (EXPAND "trajectory")
          (("" (EXPAND "next_state")
            (("" (EXPAND "trajectory")
              (("" (EXPAND "next_state")
                (("" (EXPAND "trajectory")
                  (("" (EXPAND "next_state")
                    (("" (EXPAND "trajectory")
                      (("" (EXPAND "next_state")
                        (("" (EXPAND "trajectory")
                          (("" (EXPAND "next_state")
                            (("" (EXPAND "trajectory")
                              ((""
                                (EXPAND "next_state")
                                ((""
                                  (EXPAND "trajectory")
                                  ((""
                                    (EXPAND "next_state")
                                    ((""
                                      (EXPAND "trajectory")
                                      ((""
                                        (EXPAND "next_state")
                                        ((""
                                          (EXPAND "trajectory")
                                          ((""
                                            (EXPAND "next_state")
                                            ((""
                                              (EXPAND "trajectory")
                                              ((""
                                                (EXPAND "next_state")
                                                ((""
                                                  (EXPAND "trajectory")
                                                  ((""
                                                    (EXPAND
                                                     "next_state")
                                                    ((""
                                                      (EXPAND
                                                       "trajectory")
                                                      ((""
                                                        (EXPAND
                                                         "next_state")
                                                        ((""
                                                          (EXPAND
                                                           "trajectory")
                                                          ((""
                                                            (EXPAND
                                                             "next_state")
                                                            ((""
                                                              (EXPAND
                                                               "trajectory")
                                                              ((""
                                                                (EXPAND
                                                                 "next_state")
                                                                ((""
                                                                  (EXPAND
                                                                   "trajectory")
                                                                  ((""
                                                                    (EXPAND
                                                                     "next_state")
                                                                    ((""
                                                                      (EXPAND
                                                                       "trajectory")
                                                                      ((""
                                                                        (EXPAND
                                                                         "next_state")
                                                                        ((""
                                                                          (EXPAND
                                                                           "trajectory")
                                                                          ((""
                                                                            (EXPAND
                                                                             "next_state")
                                                                            ((""
                                                                              (EXPAND
                                                                               "trajectory")
                                                                              ((""
                                                                                (REPLACE

                                                                                 -1)
                                                                                ((""
                                                                                  (GROUND)
                                                                                  ((""
                                                                                    (TYPEPRED
                                                                                     "intruder!1")
                                                                                    ((""
                                                                                      (REPLACE

                                                                                       -1)
                                                                                      ((""
                                                                                        (REWRITE
                                                                                         "sin_of_sum")
                                                                                        ((""
                                                                                          (REWRITE
                                                                                           "sin_of_sum")
                                                                                          ((""
                                                                                            (REWRITE
                                                                                             "sin_of_sum")
                                                                                            ((""
                                                                                              (REWRITE
                                                                                               "sin_of_sum")
                                                                                              ((""
                                                                                                (REWRITE
                                                                                                 "sin_of_sum")
                                                                                                ((""
                                                                                                  (REWRITE
                                                                                                   "sin_of_sum")
                                                                                                  ((""
                                                                                                    (REWRITE
                                                                                                     "sin_of_sum")
                                                                                                    ((""
                                                                                                      (REWRITE
                                                                                                       "sin_of_sum")
                                                                                                      ((""
                                                                                                        (REWRITE
                                                                                                         "sin_of_sum")
                                                                                                        ((""
                                                                                                          (REWRITE
                                                                                                           "sin_of_sum")
                                                                                                          ((""
                                                                                                            (REWRITE
                                                                                                             "sin_of_sum")
                                                                                                            ((""
                                                                                                              (REWRITE
                                                                                                               "sin_of_sum")
                                                                                                              ((""
                                                                                                                (REWRITE
                                                                                                                 "sin_of_sum")
                                                                                                                ((""
                                                                                                                  (REWRITE
                                                                                                                   "sin_of_sum")
                                                                                                                  ((""
                                                                                                                    (REWRITE
                                                                                                                     "sin_of_sum")
                                                                                                                    ((""
                                                                                                                      (REWRITE
                                                                                                                       "sin_of_sum")
                                                                                                                      ((""
                                                                                                                        (REWRITE
                                                                                                                         "sin_of_sum")
                                                                                                                        ((""
                                                                                                                          (EXPAND
                                                                                                                           "C2")
                                                                                                                          ((""
                                                                                                                            (EXPAND
                                                                                                                             "C1")
                                                                                                                            ((""
                                                                                                                              (PROPAX)
                                                                                                                              NIL
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|y_change_for_neg_35_trajectory_A| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_neg_35_trajectory ")
    (("" (INST?)
      (("" (ASSERT)
        (("" (REPLACE -1 1)
          (("" (CASE "C2 = C2A and C1 = C1A")
            (("1" (FLATTEN) (("1" (REPLACE*) NIL NIL)) NIL)
             ("2" (DELETE -1 2)
              (("2" (SPLIT)
                (("1" (EXPAND "C2")
                  (("1" (EXPAND "trkrate")
                    (("1" (REWRITE "intruderSpeeddef")
                      (("1" (REWRITE "tan_of_neg_35_A")
                        (("1" (REWRITE "sin_approx")
                          (("1" (REWRITE "sin_approx")
                            (("1" (REWRITE "sin_approx")
                              (("1"
                                (REWRITE "sin_approx")
                                (("1"
                                  (REWRITE "sin_approx")
                                  (("1"
                                    (REWRITE "sin_approx")
                                    (("1"
                                      (REWRITE "sin_approx")
                                      (("1"
                                        (REWRITE "sin_approx")
                                        (("1"
                                          (REWRITE "sin_approx")
                                          (("1"
                                            (REWRITE "sin_approx")
                                            (("1"
                                              (REWRITE "sin_approx")
                                              (("1"
                                                (REWRITE "sin_approx")
                                                (("1"
                                                  (REWRITE
                                                   "sin_approx")
                                                  (("1"
                                                    (REWRITE
                                                     "sin_approx")
                                                    (("1"
                                                      (REWRITE
                                                       "sin_approx")
                                                      (("1"
                                                        (REWRITE
                                                         "sin_approx")
                                                        (("1"
                                                          (REWRITE
                                                           "sin_approx")
                                                          (("1"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "C1")
                  (("2" (EXPAND "trkrate")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (REWRITE "tan_of_neg_35_A")
                        (("2" (REWRITE "cos_approx")
                          (("2" (REWRITE "cos_approx")
                            (("2" (REWRITE "cos_approx")
                              (("2"
                                (REWRITE "cos_approx")
                                (("2"
                                  (REWRITE "cos_approx")
                                  (("2"
                                    (REWRITE "cos_approx")
                                    (("2"
                                      (REWRITE "cos_approx")
                                      (("2"
                                        (REWRITE "cos_approx")
                                        (("2"
                                          (REWRITE "cos_approx")
                                          (("2"
                                            (REWRITE "cos_approx")
                                            (("2"
                                              (REWRITE "cos_approx")
                                              (("2"
                                                (REWRITE "cos_approx")
                                                (("2"
                                                  (REWRITE
                                                   "cos_approx")
                                                  (("2"
                                                    (REWRITE
                                                     "cos_approx")
                                                    (("2"
                                                      (REWRITE
                                                       "cos_approx")
                                                      (("2"
                                                        (REWRITE
                                                         "cos_approx")
                                                        (("2"
                                                          (REWRITE
                                                           "cos_approx")
                                                          (("2"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|x_change_for_pos_35_trajectory| "" (SKOSIMP*)
  (("" (EXPAND "pos_35_bank")
    (("" (EXPAND "trajectory")
      (("" (EXPAND "next_state")
        (("" (EXPAND "trajectory")
          (("" (EXPAND "next_state")
            (("" (EXPAND "trajectory")
              (("" (EXPAND "next_state")
                (("" (EXPAND "trajectory")
                  (("" (EXPAND "next_state")
                    (("" (EXPAND "trajectory")
                      (("" (EXPAND "next_state")
                        (("" (EXPAND "trajectory")
                          (("" (EXPAND "next_state")
                            (("" (EXPAND "trajectory")
                              ((""
                                (EXPAND "next_state")
                                ((""
                                  (EXPAND "trajectory")
                                  ((""
                                    (EXPAND "next_state")
                                    ((""
                                      (EXPAND "trajectory")
                                      ((""
                                        (EXPAND "next_state")
                                        ((""
                                          (EXPAND "trajectory")
                                          ((""
                                            (EXPAND "next_state")
                                            ((""
                                              (EXPAND "trajectory")
                                              ((""
                                                (EXPAND "next_state")
                                                ((""
                                                  (EXPAND "trajectory")
                                                  ((""
                                                    (EXPAND
                                                     "next_state")
                                                    ((""
                                                      (EXPAND
                                                       "trajectory")
                                                      ((""
                                                        (EXPAND
                                                         "next_state")
                                                        ((""
                                                          (EXPAND
                                                           "trajectory")
                                                          ((""
                                                            (EXPAND
                                                             "next_state")
                                                            ((""
                                                              (EXPAND
                                                               "trajectory")
                                                              ((""
                                                                (EXPAND
                                                                 "next_state")
                                                                ((""
                                                                  (EXPAND
                                                                   "trajectory")
                                                                  ((""
                                                                    (EXPAND
                                                                     "next_state")
                                                                    ((""
                                                                      (EXPAND
                                                                       "trajectory")
                                                                      ((""
                                                                        (EXPAND
                                                                         "next_state")
                                                                        ((""
                                                                          (EXPAND
                                                                           "trajectory")
                                                                          ((""
                                                                            (EXPAND
                                                                             "next_state")
                                                                            ((""
                                                                              (EXPAND
                                                                               "trajectory")
                                                                              ((""
                                                                                (REPLACE

                                                                                 -1)
                                                                                ((""
                                                                                  (GROUND)
                                                                                  ((""
                                                                                    (TYPEPRED
                                                                                     "intruder!1")
                                                                                    ((""
                                                                                      (REPLACE

                                                                                       -1)
                                                                                      ((""
                                                                                        (REWRITE
                                                                                         "cos_of_sum")
                                                                                        ((""
                                                                                          (REWRITE
                                                                                           "cos_of_sum")
                                                                                          ((""
                                                                                            (REWRITE
                                                                                             "cos_of_sum")
                                                                                            ((""
                                                                                              (REWRITE
                                                                                               "cos_of_sum")
                                                                                              ((""
                                                                                                (REWRITE
                                                                                                 "cos_of_sum")
                                                                                                ((""
                                                                                                  (REWRITE
                                                                                                   "cos_of_sum")
                                                                                                  ((""
                                                                                                    (REWRITE
                                                                                                     "cos_of_sum")
                                                                                                    ((""
                                                                                                      (REWRITE
                                                                                                       "cos_of_sum")
                                                                                                      ((""
                                                                                                        (REWRITE
                                                                                                         "cos_of_sum")
                                                                                                        ((""
                                                                                                          (REWRITE
                                                                                                           "cos_of_sum")
                                                                                                          ((""
                                                                                                            (REWRITE
                                                                                                             "cos_of_sum")
                                                                                                            ((""
                                                                                                              (REWRITE
                                                                                                               "cos_of_sum")
                                                                                                              ((""
                                                                                                                (REWRITE
                                                                                                                 "cos_of_sum")
                                                                                                                ((""
                                                                                                                  (REWRITE
                                                                                                                   "cos_of_sum")
                                                                                                                  ((""
                                                                                                                    (REWRITE
                                                                                                                     "cos_of_sum")
                                                                                                                    ((""
                                                                                                                      (REWRITE
                                                                                                                       "cos_of_sum")
                                                                                                                      ((""
                                                                                                                        (REWRITE
                                                                                                                         "cos_of_sum")
                                                                                                                        ((""
                                                                                                                          (EXPAND
                                                                                                                           "C2_pos")
                                                                                                                          ((""
                                                                                                                            (EXPAND
                                                                                                                             "C1_pos")
                                                                                                                            ((""
                                                                                                                              (PROPAX)
                                                                                                                              NIL
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|y_change_for_pos_35_trajectory| "" (SKOSIMP*)
  (("" (EXPAND "pos_35_bank")
    (("" (EXPAND "trajectory")
      (("" (EXPAND "next_state")
        (("" (EXPAND "trajectory")
          (("" (EXPAND "next_state")
            (("" (EXPAND "trajectory")
              (("" (EXPAND "next_state")
                (("" (EXPAND "trajectory")
                  (("" (EXPAND "next_state")
                    (("" (EXPAND "trajectory")
                      (("" (EXPAND "next_state")
                        (("" (EXPAND "trajectory")
                          (("" (EXPAND "next_state")
                            (("" (EXPAND "trajectory")
                              ((""
                                (EXPAND "next_state")
                                ((""
                                  (EXPAND "trajectory")
                                  ((""
                                    (EXPAND "next_state")
                                    ((""
                                      (EXPAND "trajectory")
                                      ((""
                                        (EXPAND "next_state")
                                        ((""
                                          (EXPAND "trajectory")
                                          ((""
                                            (EXPAND "next_state")
                                            ((""
                                              (EXPAND "trajectory")
                                              ((""
                                                (EXPAND "next_state")
                                                ((""
                                                  (EXPAND "trajectory")
                                                  ((""
                                                    (EXPAND
                                                     "next_state")
                                                    ((""
                                                      (EXPAND
                                                       "trajectory")
                                                      ((""
                                                        (EXPAND
                                                         "next_state")
                                                        ((""
                                                          (EXPAND
                                                           "trajectory")
                                                          ((""
                                                            (EXPAND
                                                             "next_state")
                                                            ((""
                                                              (EXPAND
                                                               "trajectory")
                                                              ((""
                                                                (EXPAND
                                                                 "next_state")
                                                                ((""
                                                                  (EXPAND
                                                                   "trajectory")
                                                                  ((""
                                                                    (EXPAND
                                                                     "next_state")
                                                                    ((""
                                                                      (EXPAND
                                                                       "trajectory")
                                                                      ((""
                                                                        (EXPAND
                                                                         "next_state")
                                                                        ((""
                                                                          (EXPAND
                                                                           "trajectory")
                                                                          ((""
                                                                            (EXPAND
                                                                             "next_state")
                                                                            ((""
                                                                              (EXPAND
                                                                               "trajectory")
                                                                              ((""
                                                                                (REPLACE

                                                                                 -1)
                                                                                ((""
                                                                                  (GROUND)
                                                                                  ((""
                                                                                    (TYPEPRED
                                                                                     "intruder!1")
                                                                                    ((""
                                                                                      (REPLACE

                                                                                       -1)
                                                                                      ((""
                                                                                        (REWRITE
                                                                                         "sin_of_sum")
                                                                                        ((""
                                                                                          (REWRITE
                                                                                           "sin_of_sum")
                                                                                          ((""
                                                                                            (REWRITE
                                                                                             "sin_of_sum")
                                                                                            ((""
                                                                                              (REWRITE
                                                                                               "sin_of_sum")
                                                                                              ((""
                                                                                                (REWRITE
                                                                                                 "sin_of_sum")
                                                                                                ((""
                                                                                                  (REWRITE
                                                                                                   "sin_of_sum")
                                                                                                  ((""
                                                                                                    (REWRITE
                                                                                                     "sin_of_sum")
                                                                                                    ((""
                                                                                                      (REWRITE
                                                                                                       "sin_of_sum")
                                                                                                      ((""
                                                                                                        (REWRITE
                                                                                                         "sin_of_sum")
                                                                                                        ((""
                                                                                                          (REWRITE
                                                                                                           "sin_of_sum")
                                                                                                          ((""
                                                                                                            (REWRITE
                                                                                                             "sin_of_sum")
                                                                                                            ((""
                                                                                                              (REWRITE
                                                                                                               "sin_of_sum")
                                                                                                              ((""
                                                                                                                (REWRITE
                                                                                                                 "sin_of_sum")
                                                                                                                ((""
                                                                                                                  (REWRITE
                                                                                                                   "sin_of_sum")
                                                                                                                  ((""
                                                                                                                    (REWRITE
                                                                                                                     "sin_of_sum")
                                                                                                                    ((""
                                                                                                                      (REWRITE
                                                                                                                       "sin_of_sum")
                                                                                                                      ((""
                                                                                                                        (REWRITE
                                                                                                                         "sin_of_sum")
                                                                                                                        ((""
                                                                                                                          (EXPAND
                                                                                                                           "C2_pos")
                                                                                                                          ((""
                                                                                                                            (EXPAND
                                                                                                                             "C1_pos")
                                                                                                                            ((""
                                                                                                                              (PROPAX)
                                                                                                                              NIL
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|x_change_for_pos_35_trajectory_A| "" (SKOSIMP*)
  (("" (LEMMA "x_change_for_pos_35_trajectory")
    (("" (INST?)
      (("" (ASSERT)
        (("" (REPLACE -1 1)
          (("" (CASE "C2_pos = C2_pos_A and C1_pos = C1_pos_A")
            (("1" (FLATTEN) (("1" (REPLACE*) NIL NIL)) NIL)
             ("2" (DELETE -1 2)
              (("2" (SPLIT)
                (("1" (EXPAND "C2_pos")
                  (("1" (EXPAND "trkrate")
                    (("1" (REWRITE "intruderSpeeddef")
                      (("1" (REWRITE "tan_of_35_A")
                        (("1" (REWRITE "sin_approx")
                          (("1" (REWRITE "sin_approx")
                            (("1" (REWRITE "sin_approx")
                              (("1"
                                (REWRITE "sin_approx")
                                (("1"
                                  (REWRITE "sin_approx")
                                  (("1"
                                    (REWRITE "sin_approx")
                                    (("1"
                                      (REWRITE "sin_approx")
                                      (("1"
                                        (REWRITE "sin_approx")
                                        (("1"
                                          (REWRITE "sin_approx")
                                          (("1"
                                            (REWRITE "sin_approx")
                                            (("1"
                                              (REWRITE "sin_approx")
                                              (("1"
                                                (REWRITE "sin_approx")
                                                (("1"
                                                  (REWRITE
                                                   "sin_approx")
                                                  (("1"
                                                    (REWRITE
                                                     "sin_approx")
                                                    (("1"
                                                      (REWRITE
                                                       "sin_approx")
                                                      (("1"
                                                        (REWRITE
                                                         "sin_approx")
                                                        (("1"
                                                          (REWRITE
                                                           "sin_approx")
                                                          (("1"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "C1_pos")
                  (("2" (EXPAND "trkrate")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (REWRITE "tan_of_35_A")
                        (("2" (REWRITE "cos_approx")
                          (("2" (REWRITE "cos_approx")
                            (("2" (REWRITE "cos_approx")
                              (("2"
                                (REWRITE "cos_approx")
                                (("2"
                                  (REWRITE "cos_approx")
                                  (("2"
                                    (REWRITE "cos_approx")
                                    (("2"
                                      (REWRITE "cos_approx")
                                      (("2"
                                        (REWRITE "cos_approx")
                                        (("2"
                                          (REWRITE "cos_approx")
                                          (("2"
                                            (REWRITE "cos_approx")
                                            (("2"
                                              (REWRITE "cos_approx")
                                              (("2"
                                                (REWRITE "cos_approx")
                                                (("2"
                                                  (REWRITE
                                                   "cos_approx")
                                                  (("2"
                                                    (REWRITE
                                                     "cos_approx")
                                                    (("2"
                                                      (REWRITE
                                                       "cos_approx")
                                                      (("2"
                                                        (REWRITE
                                                         "cos_approx")
                                                        (("2"
                                                          (REWRITE
                                                           "cos_approx")
                                                          (("2"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|y_change_for_pos_35_trajectory_A| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_pos_35_trajectory")
    (("" (INST?)
      (("" (ASSERT)
        (("" (REPLACE -1 1)
          (("" (CASE "C2_pos = C2_pos_A and C1_pos = C1_pos_A")
            (("1" (FLATTEN) (("1" (REPLACE*) NIL NIL)) NIL)
             ("2" (DELETE -1 2)
              (("2" (SPLIT)
                (("1" (EXPAND "C2_pos")
                  (("1" (EXPAND "trkrate")
                    (("1" (REWRITE "intruderSpeeddef")
                      (("1" (REWRITE "tan_of_35_A")
                        (("1" (REWRITE "sin_approx")
                          (("1" (REWRITE "sin_approx")
                            (("1" (REWRITE "sin_approx")
                              (("1"
                                (REWRITE "sin_approx")
                                (("1"
                                  (REWRITE "sin_approx")
                                  (("1"
                                    (REWRITE "sin_approx")
                                    (("1"
                                      (REWRITE "sin_approx")
                                      (("1"
                                        (REWRITE "sin_approx")
                                        (("1"
                                          (REWRITE "sin_approx")
                                          (("1"
                                            (REWRITE "sin_approx")
                                            (("1"
                                              (REWRITE "sin_approx")
                                              (("1"
                                                (REWRITE "sin_approx")
                                                (("1"
                                                  (REWRITE
                                                   "sin_approx")
                                                  (("1"
                                                    (REWRITE
                                                     "sin_approx")
                                                    (("1"
                                                      (REWRITE
                                                       "sin_approx")
                                                      (("1"
                                                        (REWRITE
                                                         "sin_approx")
                                                        (("1"
                                                          (REWRITE
                                                           "sin_approx")
                                                          (("1"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "C1_pos")
                  (("2" (EXPAND "trkrate")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (REWRITE "tan_of_35_A")
                        (("2" (REWRITE "cos_approx")
                          (("2" (REWRITE "cos_approx")
                            (("2" (REWRITE "cos_approx")
                              (("2"
                                (REWRITE "cos_approx")
                                (("2"
                                  (REWRITE "cos_approx")
                                  (("2"
                                    (REWRITE "cos_approx")
                                    (("2"
                                      (REWRITE "cos_approx")
                                      (("2"
                                        (REWRITE "cos_approx")
                                        (("2"
                                          (REWRITE "cos_approx")
                                          (("2"
                                            (REWRITE "cos_approx")
                                            (("2"
                                              (REWRITE "cos_approx")
                                              (("2"
                                                (REWRITE "cos_approx")
                                                (("2"
                                                  (REWRITE
                                                   "cos_approx")
                                                  (("2"
                                                    (REWRITE
                                                     "cos_approx")
                                                    (("2"
                                                      (REWRITE
                                                       "cos_approx")
                                                      (("2"
                                                        (REWRITE
                                                         "cos_approx")
                                                        (("2"
                                                          (REWRITE
                                                           "cos_approx")
                                                          (("2"
                                                            (GRIND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_of_trajectory_pos35| ""
  (CASE "forall (x,y:nonneg_real): sq(x) > sq(y) IFF x > y")
  (("1"
    (INST -1
     "sqrt(sq(C1_pos_A * intruderSpeed * tstep) +            sq(C2_pos_A * intruderSpeed * tstep))"
     "2125")
    (("1" (GROUND)
      (("1" (DELETE 1 3)
        (("1" (REWRITE "sq_of_sqrt")
          (("1" (REWRITE "intruderSpeeddef") (("1" (GRIND) NIL NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (DELETE 2)
    (("2" (SKOSIMP*)
      (("2" (LEMMA "both_sides_expt_non_neg_lt_aux")
        (("2" (INST -1 "1" "y!1" "x!1") (("2" (GRIND) NIL NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|max_heading_change_neg| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "h_c" 1)
      (("2" (CASE-REPLACE "k!1 = 0")
        (("1" (ASSERT) NIL NIL)
         ("2" (ASSERT)
          (("2" (EXPAND "neg_35_bank" 2 1)
            (("2" (EXPAND "neg_35_bank" 2 2)
              (("2" (EXPAND "trkrate")
                (("2" (EXPAND "tstep")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (INST?)
                      (("2" (LEMMA "tan_of_35")
                        (("2" (FLATTEN) (("2" (GROUND) NIL NIL)) NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|max_heading_change_pos| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "h_c" 1)
      (("2" (CASE-REPLACE "k!1 = 0")
        (("1" (ASSERT) NIL NIL)
         ("2" (ASSERT)
          (("2" (EXPAND "pos_35_bank" 2 1)
            (("2" (EXPAND "pos_35_bank" 2 2)
              (("2" (EXPAND "trkrate")
                (("2" (EXPAND "tstep")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (INST?)
                      (("2" (LEMMA "tan_of_35")
                        (("2" (FLATTEN) (("2" (GROUND) NIL NIL)) NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|max_heading_change| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "h_c" 1)
      (("2" (CASE-REPLACE "k!1 = 0")
        (("1" (ASSERT) NIL NIL)
         ("2" (ASSERT)
          (("2" (INST?)
            (("2" (SPLIT 2)
              (("1" (CASE "trkrate(df!1(k!1)) * tstep <= 2584/1000")
                (("1" (GROUND) NIL NIL)
                 ("2" (DELETE -2 2)
                  (("2" (EXPAND "trkrate")
                    (("2" (CASE "df!1(k!1) = 0")
                      (("1" (ASSERT) NIL NIL)
                       ("2" (ASSERT)
                        (("2" (EXPAND "tstep")
                          (("2" (REWRITE "intruderSpeeddef")
                            (("2" (TYPEPRED "df!1(k!1)")
                              (("2"
                                (LEMMA "tan_decreases_35_to_neg_35")
                                (("2"
                                  (INST -1 "df!1(k!1)" "35")
                                  (("1"
                                    (LEMMA "tan_of_35")
                                    (("1"
                                      (EXPAND "abs")
                                      (("1" (GROUND) NIL NIL))
                                      NIL))
                                    NIL)
                                   ("2"
                                    (REWRITE "cos_of_Bank")
                                    (("2"
                                      (EXPAND "abs")
                                      (("2" (ASSERT) NIL NIL))
                                      NIL))
                                    NIL)
                                   ("3"
                                    (REWRITE "cos_of_Bank")
                                    NIL
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (CASE "trkrate(df!1(k!1)) * tstep >= -2584/1000")
                (("1" (GROUND) NIL NIL)
                 ("2" (DELETE -2 2)
                  (("2" (EXPAND "trkrate")
                    (("2" (CASE "df!1(k!1) = 0")
                      (("1" (ASSERT) NIL NIL)
                       ("2" (ASSERT)
                        (("2" (EXPAND "tstep")
                          (("2" (REWRITE "intruderSpeeddef")
                            (("2" (TYPEPRED "df!1(k!1)")
                              (("2"
                                (EXPAND "abs")
                                (("2"
                                  (LEMMA "tan_decreases_35_to_neg_35")
                                  (("2"
                                    (INST -1 "-35" "df!1(k!1)")
                                    (("1"
                                      (LEMMA "tan_of_35")
                                      (("1" (GROUND) NIL NIL))
                                      NIL)
                                     ("2"
                                      (REWRITE "cos_of_Bank")
                                      NIL
                                      NIL)
                                     ("3"
                                      (REWRITE "cos_of_Bank")
                                      (("3"
                                        (EXPAND "abs")
                                        (("3" (ASSERT) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|max_phi| "" (SKOSIMP*)
  (("" (TYPEPRED "phi(s!1)")
    (("" (EXPAND "abs")
      (("" (LEMMA "tan_of_35")
        (("" (EXPAND "trkrate")
          (("" (REWRITE "intruderSpeeddef")
            (("" (EXPAND "tstep")
              (("" (CASE "phi(s!1) = 0")
                (("1" (GROUND) NIL NIL)
                 ("2" (ASSERT)
                  (("2" (LEMMA "tan_decreases_35_to_neg_35")
                    (("2" (INST -1 "phi(s!1)" "35")
                      (("1" (GROUND)
                        (("1" (LEMMA "tan_decreases_35_to_neg_35")
                          (("1" (INST -1 "-35" "phi(s!1)")
                            (("1" (GROUND) NIL NIL)
                             ("2" (REWRITE "cos_of_Bank") NIL NIL)
                             ("3" (REWRITE "cos_of_Bank")
                              (("3"
                                (EXPAND "abs")
                                (("3" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (REWRITE "cos_of_Bank")
                        (("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL))
                          NIL))
                        NIL)
                       ("3" (REWRITE "cos_of_Bank") NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg35_le| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST -1 "df!1" "s!1")
      (("2" (EXPAND "h_c" 1)
        (("2" (CASE-REPLACE "j!1 = 0")
          (("1" (ASSERT) NIL NIL)
           ("2" (ASSERT)
            (("2"
              (CASE "trkrate(neg_35_bank(j!1)) <= trkrate(df!1(j!1)) ")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2 3)
                (("2" (EXPAND "trkrate")
                  (("2" (EXPAND "neg_35_bank")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (CASE-REPLACE "df!1(j!1) = 0")
                        (("1" (ASSERT)
                          (("1" (LEMMA "tan_of_35")
                            (("1" (FLATTEN)
                              (("1"
                                (REPLACE -1)
                                (("1" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (ASSERT)
                          (("2" (LEMMA "tan_decreases_35_to_neg_35")
                            (("2" (INST -1 "-35" "df!1(j!1)")
                              (("1"
                                (TYPEPRED "df!1(j!1)")
                                (("1"
                                  (EXPAND "abs")
                                  (("1" (GROUND) NIL NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (LEMMA "cos_of_Bank")
                                (("2" (INST?) NIL NIL))
                                NIL)
                               ("3"
                                (REWRITE "cos_of_Bank")
                                (("3"
                                  (EXPAND "abs")
                                  (("3" (ASSERT) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg35_ge| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST -1 "df!1" "s!1")
      (("2" (EXPAND "h_c" 1)
        (("2" (CASE-REPLACE "j!1 = 0")
          (("1" (ASSERT) NIL NIL)
           ("2" (ASSERT)
            (("2"
              (CASE "-trkrate(neg_35_bank(j!1)) >= trkrate(df!1(j!1)) ")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2 3)
                (("2" (EXPAND "trkrate")
                  (("2" (EXPAND "neg_35_bank")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (CASE-REPLACE "df!1(j!1) = 0")
                        (("1" (ASSERT)
                          (("1" (LEMMA "tan_of_35")
                            (("1" (FLATTEN)
                              (("1"
                                (REPLACE -1)
                                (("1" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (ASSERT)
                          (("2" (REWRITE "tan_of_neg")
                            (("1" (LEMMA "tan_decreases_35_to_neg_35")
                              (("1"
                                (INST -1 "df!1(j!1)" "35")
                                (("1"
                                  (TYPEPRED "df!1(j!1)")
                                  (("1"
                                    (EXPAND "abs")
                                    (("1" (GROUND) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (REWRITE "cos_of_Bank")
                                  (("2"
                                    (EXPAND "abs")
                                    (("2" (ASSERT) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("3" (REWRITE "cos_of_Bank") NIL NIL))
                                NIL))
                              NIL)
                             ("2" (REWRITE "cos_approx")
                              (("2"
                                (DELETE 2 3)
                                (("2" (GRIND) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_pos35_le| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST -1 "df!1" "s!1")
      (("2" (EXPAND "h_c" 1)
        (("2" (CASE-REPLACE "j!1 = 0")
          (("1" (ASSERT) NIL NIL)
           ("2" (ASSERT)
            (("2"
              (CASE "trkrate(pos_35_bank(j!1)) >= trkrate(df!1(j!1))")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2 3)
                (("2" (EXPAND "trkrate")
                  (("2" (EXPAND "pos_35_bank")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (CASE-REPLACE "df!1(j!1) = 0")
                        (("1" (ASSERT)
                          (("1" (LEMMA "tan_of_35")
                            (("1" (FLATTEN) (("1" (ASSERT) NIL NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (ASSERT)
                          (("2" (LEMMA "tan_decreases_35_to_neg_35")
                            (("2" (INST -1 "df!1(j!1)" "35")
                              (("1"
                                (TYPEPRED "df!1(j!1)")
                                (("1"
                                  (EXPAND "abs")
                                  (("1" (GROUND) NIL NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (LEMMA "cos_of_Bank")
                                (("2"
                                  (INST?)
                                  (("2"
                                    (EXPAND "abs")
                                    (("2" (ASSERT) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("3" (REWRITE "cos_of_Bank") NIL NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_pos35_ge| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST -1 "df!1" "s!1")
      (("2" (EXPAND "h_c" 1)
        (("2" (CASE-REPLACE "j!1 = 0")
          (("1" (ASSERT) NIL NIL)
           ("2" (ASSERT)
            (("2"
              (CASE "-trkrate(pos_35_bank(j!1)) <= trkrate(df!1(j!1)) ")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2 3)
                (("2" (EXPAND "trkrate")
                  (("2" (EXPAND "pos_35_bank")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (CASE-REPLACE "df!1(j!1) = 0")
                        (("1" (ASSERT)
                          (("1" (LEMMA "tan_of_35")
                            (("1" (FLATTEN)
                              (("1"
                                (REPLACE -2)
                                (("1" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (ASSERT)
                          (("2" (LEMMA "tan_decreases_35_to_neg_35")
                            (("2" (INST -1 "-35" "df!1(j!1)")
                              (("1"
                                (REWRITE "tan_of_neg")
                                (("1"
                                  (TYPEPRED "df!1(j!1)")
                                  (("1"
                                    (EXPAND "abs")
                                    (("1" (GROUND) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (REWRITE "cos_of_Bank")
                                  (("2"
                                    (EXPAND "abs")
                                    (("2" (ASSERT) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2" (REWRITE "cos_of_Bank") NIL NIL)
                               ("3"
                                (REWRITE "cos_approx")
                                (("3"
                                  (DELETE 2 3)
                                  (("3" (GRIND) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_change_eq| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "h_c" 1)
        (("2" (CASE "j!1 = 0")
          (("1" (ASSERT) NIL NIL)
           ("2" (ASSERT) (("2" (INST?) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_0_neg_trkrate_0_neg| "" (SKOSIMP*)
  (("" (EXPAND "trkrate")
    (("" (CASE "phi(s!1) = 0")
      (("1" (ASSERT) NIL NIL)
       ("2" (ASSERT)
        (("2" (REWRITE "intruderSpeeddef")
          (("2" (LEMMA "tan_decreases_35_to_neg_35")
            (("2" (INST -1 "phi(s!1)" "0")
              (("1" (REWRITE "tan_of_0")
                (("1" (TYPEPRED "phi(s!1)")
                  (("1" (EXPAND "abs") (("1" (GROUND) NIL NIL)) NIL))
                  NIL))
                NIL)
               ("2" (REWRITE "cos_of_Bank") NIL NIL)
               ("3" (REWRITE "cos_of_Bank") NIL NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_0_pos_trkrate_0_pos| "" (SKOSIMP*)
  (("" (EXPAND "trkrate")
    (("" (CASE "phi(s!1) = 0")
      (("1" (ASSERT) NIL NIL)
       ("2" (ASSERT)
        (("2" (REWRITE "intruderSpeeddef")
          (("2" (LEMMA "tan_decreases_35_to_neg_35")
            (("2" (INST -1 "0" "phi(s!1)")
              (("1" (REWRITE "tan_of_0")
                (("1" (TYPEPRED "phi(s!1)")
                  (("1" (EXPAND "abs") (("1" (GROUND) NIL NIL)) NIL))
                  NIL))
                NIL)
               ("2" (REWRITE "cos_of_Bank") NIL NIL)
               ("3" (REWRITE "cos_of_Bank") NIL NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_le_trkrate_le| "" (SKOSIMP*)
  (("" (CASE "phi(s2!1) = 0")
    (("1" (REPLACE -1)
      (("1" (EXPAND "trkrate" 1 2)
        (("1" (REWRITE "phi_0_neg_trkrate_0_neg") NIL NIL)) NIL))
      NIL)
     ("2" (CASE "phi(s1!1) = 0")
      (("1" (REPLACE -1)
        (("1" (EXPAND "trkrate" 2 1)
          (("1" (LEMMA "phi_0_pos_trkrate_0_pos")
            (("1" (INST?) (("1" (ASSERT) NIL NIL)) NIL)) NIL))
          NIL))
        NIL)
       ("2" (EXPAND "trkrate")
        (("2" (ASSERT)
          (("2" (REWRITE "intruderSpeeddef")
            (("2" (LEMMA "tan_decreases_35_to_neg_35")
              (("2" (TYPEPRED "phi(s1!1)")
                (("2" (TYPEPRED "phi(s2!1)")
                  (("2" (EXPAND "abs")
                    (("2" (INST -3 "phi(s1!1)" "phi(s2!1)")
                      (("1" (GROUND) NIL NIL)
                       ("2" (REWRITE "cos_of_Bank") NIL NIL)
                       ("3" (REWRITE "cos_of_Bank") NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_on_y_heading_eq_34| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_neg_35_trajectory_A")
    (("" (INST?)
      (("" (REPLACE -3 -1)
        (("" (ASSERT)
          (("" (REPLACE -1 1)
            (("" (REWRITE "intruderSpeeddef")
              (("" (EXPAND "tstep")
                (("" (DELETE -1)
                  (("" (REPLACE -3 1)
                    (("" (REWRITE "cos_approx")
                      (("" (REWRITE "sin_approx")
                        (("" (GRIND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_neg35_heading_le| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "tstep *
        trkrate(phi
                  (trajectory(intruder!1 WITH [phi := -35], neg_35_bank,
                              j!1))) <= tstep * trkrate(phi(trajectory(intruder!1, neg_35_bank, j!1)))")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -1 2)
              (("2" (EXPAND "trajectory")
                (("2" (EXPAND "next_state")
                  (("2" (CASE-REPLACE "j!1 = 0")
                    (("1" (ASSERT)
                      (("1" (TYPEPRED "intruder!1`phi")
                        (("1" (EXPAND "abs")
                          (("1" (EXPAND "trkrate")
                            (("1" (REWRITE "intruderSpeeddef")
                              (("1"
                                (EXPAND "tstep")
                                (("1"
                                  (LEMMA "tan_of_35")
                                  (("1"
                                    (CASE "intruder!1`phi = 0")
                                    (("1" (GROUND) NIL NIL)
                                     ("2"
                                      (ASSERT)
                                      (("2"
                                        (LEMMA
                                         "tan_decreases_35_to_neg_35")
                                        (("2"
                                          (INST
                                           -1
                                           "-35"
                                           "intruder!1`phi")
                                          (("1" (GROUND) NIL NIL)
                                           ("2"
                                            (REWRITE "cos_of_Bank")
                                            NIL
                                            NIL)
                                           ("3"
                                            (REWRITE "cos_of_Bank")
                                            (("3"
                                              (EXPAND "abs")
                                              (("3" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (ASSERT) NIL NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|phi_neg35_le| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "v(trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1)) *
        sin(heading
              (trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1)))
        * tstep <= v(trajectory(intruder!1, neg_35_bank, k!1)) *
         sin(heading(trajectory(intruder!1, neg_35_bank, k!1)))
         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (LEMMA "phi_neg35_heading_le")
                        (("2" (INST?)
                          (("2"
                            (LEMMA "sin_decreases_towards_neg_90_le")
                            (("2"
                              (INST -1
                               "heading(trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1))"
                               "heading(trajectory(intruder!1, neg_35_bank, k!1))")
                              (("1"
                                (GROUND)
                                (("1"
                                  (DELETE 2)
                                  (("1"
                                    (REWRITE "trajectory_heading ")
                                    (("1"
                                      (DELETE -1)
                                      (("1"
                                        (EXPAND "first_step")
                                        (("1"
                                          (LEMMA "max_phi")
                                          (("1"
                                            (LEMMA
                                             "max_heading_change_neg")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST
                                                 -2
                                                 "intruder!1 WITH [phi := -35]")
                                                (("1"
                                                  (CASE "k!1 = 0")
                                                  (("1"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "tstep")
                                                    (("2"
                                                      (REWRITE
                                                       "intruderSpeeddef")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (EXPAND "abs")
                                                  (("2"
                                                    (ASSERT)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (DELETE -1 2)
                                  (("2"
                                    (REWRITE "trajectory_heading ")
                                    (("2"
                                      (EXPAND "first_step")
                                      (("2"
                                        (LEMMA
                                         "max_heading_change_neg")
                                        (("2"
                                          (LEMMA "max_phi")
                                          (("2"
                                            (INST
                                             -1
                                             "intruder!1 WITH [phi := -35]")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("3"
                                  (DELETE -1 2)
                                  (("3"
                                    (REWRITE "trajectory_heading ")
                                    (("3"
                                      (EXPAND "first_step")
                                      (("3"
                                        (LEMMA "max_phi")
                                        (("3"
                                          (LEMMA
                                           "max_heading_change_neg")
                                          (("3"
                                            (CASE "k!1 = 0")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST
                                                 -3
                                                 "intruder!1 WITH [phi := -35]")
                                                (("1"
                                                  (EXPAND "tstep")
                                                  (("1"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (EXPAND "abs")
                                                  (("2"
                                                    (ASSERT)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (ASSERT)
                                              (("2"
                                                (INST?)
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (EXPAND "tstep")
                                                    (("2"
                                                      (REWRITE
                                                       "intruderSpeeddef")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("4"
                                  (DELETE -1 2)
                                  (("4"
                                    (REWRITE "trajectory_heading ")
                                    (("4"
                                      (EXPAND "first_step")
                                      (("4"
                                        (LEMMA
                                         "max_heading_change_neg")
                                        (("4"
                                          (LEMMA "max_phi")
                                          (("4"
                                            (INST?)
                                            (("4"
                                              (INST?)
                                              (("4"
                                                (EXPAND "tstep")
                                                (("4"
                                                  (REWRITE
                                                   "intruderSpeeddef")
                                                  (("4"
                                                    (CASE "k!1 = 0")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "abs")
                                (("2" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|intruder_on_y_heading_eq_34_any_phi| "" (SKOSIMP*)
  (("" (LEMMA "phi_neg35_le")
    (("" (INST?)
      (("" (LEMMA "intruder_on_y_heading_eq_34")
        (("" (INST -1 "intruder!1 WITH [phi := -35]")
          (("1" (GROUND) NIL NIL)
           ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_heading_neg35_le| "" (SKOSIMP*)
  (("" (REWRITE "trajectory_heading")
    (("" (REWRITE "trajectory_heading")
      (("" (EXPAND "first_step")
        (("" (CASE "i!1=0")
          (("1" (REPLACE -1)
            (("1" (EXPAND "h_c") (("1" (ASSERT) NIL NIL)) NIL)) NIL)
           ("2" (ASSERT)
            (("2" (LEMMA "sin_left_of_max_le")
              (("2"
                (INST -1 "heading(s!1) + tstep * trkrate(phi(s!1))"
                 "-tstep * h_c(s!1, neg_35_bank, i!1)"
                 "tstep * h_c(s!1, df!1, i!1)")
                (("2" (GROUND)
                  (("1" (LEMMA "max_heading_change")
                    (("1" (INST?)
                      (("1" (TYPEPRED "i!1") (("1" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (LEMMA "max_heading_change_neg")
                    (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL)) NIL)
                   ("3" (LEMMA "heading_neg35_le")
                    (("3" (INST -1 "df!1" "i!1" "s!1")
                      (("3" (EXPAND "tstep") (("3" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("4" (EXPAND "tstep")
                    (("4" (LEMMA "heading_neg35_ge")
                      (("4" (INST?) (("4" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_y_le| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, neg_35_bank, k!1)) *        sin(heading(trajectory(s1!1, neg_35_bank, k!1)))        * tstep <= v(trajectory(s2!1, neg_35_bank, k!1)) *         sin(heading(trajectory(s2!1, neg_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (LEMMA "heading_change_eq")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (INST -1 "s2!1")
                                      (("1"
                                        (REPLACE -1 1)
                                        (("1"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("1"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * h_c(s2!1, neg_35_bank, k!1)"
                                             "heading(s2!1) + tstep * h_c(s2!1, neg_35_bank, k!1)")
                                            (("1"
                                              (GROUND)
                                              (("1"
                                                (DELETE 2)
                                                (("1"
                                                  (LEMMA
                                                   "max_heading_change")
                                                  (("1"
                                                    (INST?)
                                                    (("1"
                                                      (EXPAND "tstep")
                                                      (("1"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (DELETE 2)
                                                (("2"
                                                  (LEMMA
                                                   "max_heading_change_neg")
                                                  (("2"
                                                    (INST?)
                                                    (("2"
                                                      (EXPAND "tstep")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("3"
                                                (DELETE 2)
                                                (("3"
                                                  (LEMMA
                                                   "max_heading_change_neg")
                                                  (("3"
                                                    (INST?)
                                                    (("3"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("4"
                                                (DELETE 2)
                                                (("4"
                                                  (LEMMA
                                                   "max_heading_change_neg")
                                                  (("4"
                                                    (INST?)
                                                    (("4"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)"
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_neg")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA
                                                     "phi_0_neg_trkrate_0_neg")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "phi_0_neg_trkrate_0_neg")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s2!1")
                                                          (("2"
                                                            (LEMMA
                                                             "max_phi ")
                                                            (("2"
                                                              (INST?)
                                                              (("2"
                                                                (LEMMA
                                                                 "max_phi ")
                                                                (("2"
                                                                  (INST
                                                                   -1
                                                                   "s1!1")
                                                                  (("2"
                                                                    (EXPAND
                                                                     "tstep")
                                                                    (("2"
                                                                      (REWRITE
                                                                       "intruderSpeeddef")
                                                                      (("2"
                                                                        (LEMMA
                                                                         "phi_le_trkrate_le")
                                                                        (("2"
                                                                          (INST?)
                                                                          (("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_y_le_any_phi| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, neg_35_bank, k!1)) *        sin(heading(trajectory(s1!1, neg_35_bank, k!1)))        * tstep <= v(trajectory(s2!1, neg_35_bank, k!1)) *         sin(heading(trajectory(s2!1, neg_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (REPLACE -1 1)
                                  (("1"
                                    (EXPAND "h_c")
                                    (("1"
                                      (LEMMA
                                       "sin_decreases_towards_neg_90_le")
                                      (("1"
                                        (INST
                                         -1
                                         "heading(s1!1)"
                                         "heading(s2!1)")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)"
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_neg")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA "max_phi ")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "max_phi ")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s2!1")
                                                          (("2"
                                                            (EXPAND
                                                             "tstep")
                                                            (("2"
                                                              (REWRITE
                                                               "intruderSpeeddef")
                                                              (("2"
                                                                (LEMMA
                                                                 "phi_le_trkrate_le")
                                                                (("2"
                                                                  (INST?)
                                                                  (("2"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|turn_neg35_y_le| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -2 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v(trajectory(intruder!1, neg_35_bank, k!1)) * sin(heading(trajectory(intruder!1, neg_35_bank, k!1))) * tstep <= v(trajectory(intruder!1, df!1, k!1)) * sin(heading(trajectory(intruder!1, df!1, k!1))) * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -2 2)
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruder_speed")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (EXPAND "tstep")
                        (("2" (LEMMA "sin_of_heading_neg35_le")
                          (("2" (INST -1 "df!1" "intruder!1" "k!1")
                            (("2" (GROUND)
                              (("1"
                                (DELETE 2)
                                (("1"
                                  (LEMMA "max_phi")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (REWRITE "intruderSpeeddef")
                                      (("1"
                                        (EXPAND "tstep")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (LEMMA "max_phi")
                                (("2"
                                  (INST?)
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2"
                                      (EXPAND "tstep")
                                      (("2" (PROPAX) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_ge_34_le_87_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "turn_neg35_y_le")
    (("" (INST?)
      (("" (LEMMA "max_phi")
        (("" (INST?)
          (("" (REWRITE "intruderSpeeddef")
            (("" (EXPAND "tstep")
              (("" (GROUND)
                (("" (LEMMA "heading_le_y_le_any_phi")
                  ((""
                    (INST -1 "18" "intruder!1 with [heading := 34]"
                     "intruder!1")
                    (("" (LEMMA "intruder_on_y_heading_eq_34_any_phi")
                      (("" (INST -1 "intruder!1 WITH [heading := 34]")
                        (("" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_ge_34i_le_87i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_ge_34_le_87_y_gt_200")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_heading_pos35_le| "" (SKOSIMP*)
  (("" (REWRITE "trajectory_heading")
    (("" (REWRITE "trajectory_heading")
      (("" (EXPAND "first_step")
        (("" (CASE "i!1=0")
          (("1" (REPLACE -1)
            (("1" (EXPAND "h_c") (("1" (ASSERT) NIL NIL)) NIL)) NIL)
           ("2" (ASSERT)
            (("2" (LEMMA "sin_right_of_max_le")
              (("2"
                (INST -1 "heading(s!1) + tstep * trkrate(phi(s!1))"
                 "tstep * h_c(s!1, pos_35_bank, i!1)"
                 "-tstep * h_c(s!1, df!1, i!1)")
                (("2" (GROUND)
                  (("1" (LEMMA "max_heading_change_pos")
                    (("1" (INST?)
                      (("1" (TYPEPRED "i!1") (("1" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (LEMMA "max_heading_change_pos")
                    (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL)) NIL)
                   ("3" (LEMMA "heading_pos35_le")
                    (("3" (INST -1 "df!1" "i!1" "s!1")
                      (("3" (EXPAND "tstep") (("3" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("4" (EXPAND "tstep")
                    (("4" (LEMMA "heading_pos35_ge")
                      (("4" (INST?) (("4" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|turn_pos35_y_le| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -2 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v(trajectory(intruder!1, pos_35_bank, k!1)) * sin(heading(trajectory(intruder!1, pos_35_bank, k!1))) * tstep <= v(trajectory(intruder!1, df!1, k!1)) * sin(heading(trajectory(intruder!1, df!1, k!1))) * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -2 2)
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruder_speed")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (EXPAND "tstep")
                        (("2" (LEMMA "sin_of_heading_pos35_le")
                          (("2" (INST -1 "df!1" "intruder!1" "k!1")
                            (("2" (GROUND)
                              (("1"
                                (EXPAND "tstep")
                                (("1" (PROPAX) NIL NIL))
                                NIL)
                               ("2"
                                (EXPAND "tstep")
                                (("2"
                                  (DELETE 2)
                                  (("2"
                                    (LEMMA "max_phi")
                                    (("2"
                                      (INST?)
                                      (("2"
                                        (REWRITE "intruderSpeeddef")
                                        (("2"
                                          (EXPAND "tstep")
                                          (("2" (GROUND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_ge_y_le_any_phi| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, pos_35_bank, k!1)) *        sin(heading(trajectory(s1!1, pos_35_bank, k!1)))        * tstep <= v(trajectory(s2!1, pos_35_bank, k!1)) *         sin(heading(trajectory(s2!1, pos_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (REPLACE -1 1)
                                  (("1"
                                    (EXPAND "h_c")
                                    (("1"
                                      (LEMMA
                                       "sin_decreases_towards_pos_270_le")
                                      (("1"
                                        (INST
                                         -1
                                         "heading(s2!1)"
                                         "heading(s1!1)")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_decreases_towards_pos_270_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)"
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_pos")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA "max_phi ")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "max_phi ")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s1!1")
                                                          (("2"
                                                            (EXPAND
                                                             "tstep")
                                                            (("2"
                                                              (REWRITE
                                                               "intruderSpeeddef")
                                                              (("2"
                                                                (LEMMA
                                                                 "phi_le_trkrate_le")
                                                                (("2"
                                                                  (INST?)
                                                                  (("2"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_on_y_heading_eq_146| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_pos_35_trajectory_A")
    (("" (INST?)
      (("" (REPLACE -3 -1)
        (("" (ASSERT)
          (("" (REPLACE -1 1)
            (("" (REWRITE "intruderSpeeddef")
              (("" (EXPAND "tstep")
                (("" (DELETE -1)
                  (("" (REPLACE -3 1)
                    (("" (REWRITE "cos_approx")
                      (("" (REWRITE "sin_approx")
                        (("" (GRIND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_pos35_heading_ge_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|phi_pos35_heading_ge| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "tstep *        trkrate(phi                  (trajectory(intruder!1 WITH [phi := 35], pos_35_bank,                              j!1))) >= tstep * trkrate(phi(trajectory(intruder!1, pos_35_bank, j!1)))")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -1 2)
              (("2" (EXPAND "trajectory")
                (("2" (EXPAND "next_state")
                  (("2" (CASE-REPLACE "j!1 = 0")
                    (("1" (ASSERT)
                      (("1" (TYPEPRED "intruder!1`phi")
                        (("1" (EXPAND "abs")
                          (("1" (EXPAND "trkrate")
                            (("1" (REWRITE "intruderSpeeddef")
                              (("1"
                                (EXPAND "tstep")
                                (("1"
                                  (LEMMA "tan_of_35")
                                  (("1"
                                    (CASE "intruder!1`phi = 0")
                                    (("1" (GROUND) NIL NIL)
                                     ("2"
                                      (ASSERT)
                                      (("2"
                                        (LEMMA
                                         "tan_decreases_35_to_neg_35")
                                        (("2"
                                          (INST
                                           -1
                                           "intruder!1`phi"
                                           "35")
                                          (("1" (GROUND) NIL NIL)
                                           ("2"
                                            (REWRITE "cos_of_Bank")
                                            (("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL)
                                           ("3"
                                            (REWRITE "cos_of_Bank")
                                            NIL
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (ASSERT) NIL NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|phi_pos35_le| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "v(trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1)) *        sin(heading              (trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1)))        * tstep <= v(trajectory(intruder!1, pos_35_bank, k!1)) *         sin(heading(trajectory(intruder!1, pos_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (LEMMA "phi_pos35_heading_ge")
                        (("2" (INST?)
                          (("2"
                            (LEMMA "sin_decreases_towards_pos_270_le")
                            (("2"
                              (INST -1
                               "heading(trajectory(intruder!1, pos_35_bank, k!1))"
                               "heading(trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1))")
                              (("1"
                                (GROUND)
                                (("1"
                                  (DELETE 2)
                                  (("1"
                                    (REWRITE "trajectory_heading ")
                                    (("1"
                                      (DELETE -1)
                                      (("1"
                                        (EXPAND "first_step")
                                        (("1"
                                          (LEMMA "max_phi")
                                          (("1"
                                            (LEMMA
                                             "max_heading_change_pos")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST -2 "intruder!1")
                                                (("1"
                                                  (CASE "k!1 = 0")
                                                  (("1"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "tstep")
                                                    (("2"
                                                      (REWRITE
                                                       "intruderSpeeddef")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (DELETE -1 2)
                                  (("2"
                                    (REWRITE "trajectory_heading ")
                                    (("2"
                                      (EXPAND "first_step")
                                      (("2"
                                        (LEMMA
                                         "max_heading_change_pos")
                                        (("2"
                                          (LEMMA "max_phi")
                                          (("2"
                                            (INST?)
                                            (("2"
                                              (INST?)
                                              (("2"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("3"
                                  (DELETE -1 2)
                                  (("3"
                                    (REWRITE "trajectory_heading ")
                                    (("3"
                                      (EXPAND "first_step")
                                      (("3"
                                        (LEMMA "max_phi")
                                        (("3"
                                          (LEMMA
                                           "max_heading_change_pos")
                                          (("3"
                                            (INST?)
                                            (("1"
                                              (INST
                                               -2
                                               "intruder!1 with [phi := 35]")
                                              (("1"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("4"
                                  (DELETE -1 2)
                                  (("4"
                                    (REWRITE "trajectory_heading ")
                                    (("4"
                                      (EXPAND "first_step")
                                      (("4"
                                        (LEMMA
                                         "max_heading_change_pos")
                                        (("4"
                                          (LEMMA "max_phi")
                                          (("4"
                                            (INST
                                             -1
                                             "intruder!1 with [phi := 35]")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "abs")
                                (("2" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|intruder_on_y_heading_eq_146_any_phi| "" (SKOSIMP*)
  (("" (LEMMA "phi_pos35_le")
    (("" (INST?)
      (("" (LEMMA "intruder_on_y_heading_eq_146")
        (("" (INST -1 "intruder!1 with [phi := 35]")
          (("1" (GROUND) NIL NIL)
           ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_146_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "turn_pos35_y_le")
    (("" (INST?)
      (("" (LEMMA "max_phi")
        (("" (INST?)
          (("" (REWRITE "intruderSpeeddef")
            (("" (EXPAND "tstep")
              (("" (GROUND)
                (("" (LEMMA "heading_ge_y_le_any_phi")
                  ((""
                    (INST -1 "18" "intruder!1 with [heading := 146]"
                     "intruder!1")
                    (("" (LEMMA "intruder_on_y_heading_eq_146_any_phi")
                      (("" (INST -1 "intruder!1 WITH [heading := 146]")
                        (("" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_146i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_le_146_y_gt_200")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_87_to_93_y_gt_200_range| "" (INDUCT "i")
  (("1" (SKOSIMP*)
    (("1" (EXPAND "trajectory")
      (("1" (EXPAND "next_state")
        (("1" (EXPAND "trajectory")
          (("1" (EXPAND "next_state")
            (("1" (REWRITE "intruder_speed")
              (("1" (EXPAND "trajectory")
                (("1" (LEMMA "sin_of_87_93")
                  (("1" (LEMMA "sin_of_84_96")
                    (("1" (LEMMA "sin_decreases_towards_pos_270_le")
                      (("1" (LEMMA "sin_decreases_towards_neg_90_le")
                        (("1"
                          (CASE "heading(intruder!1) + tstep * trkrate(phi(intruder!1)) > 84 and 
             heading(intruder!1) + tstep * trkrate(phi(intruder!1)) < 96")
                          (("1" (INST -2 "87" "heading(intruder!1)")
                            (("1" (INST -3 "heading(intruder!1)" "93")
                              (("1"
                                (REVEAL -1 -2)
                                (("1"
                                  (INST
                                   -1
                                   "heading(intruder!1) + tstep * trkrate(phi(intruder!1))"
                                   "96")
                                  (("1"
                                    (INST
                                     -2
                                     "84"
                                     "heading(intruder!1) + tstep * trkrate(phi(intruder!1))")
                                    (("1"
                                      (EXPAND "tstep")
                                      (("1"
                                        (REWRITE "intruderSpeeddef")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL)
                           ("2" (DELETE -1 -2 2)
                            (("2" (LEMMA "max_phi")
                              (("2"
                                (INST?)
                                (("2"
                                  (EXPAND "tstep")
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2" (GROUND) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST?)
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2" (REWRITE "intruder_speed")
              (("2" (EXPAND "tstep")
                (("2" (REWRITE "intruderSpeeddef")
                  (("2"
                    (CASE "heading(trajectory(intruder!1, df!1, k!1)) > 0 and heading(trajectory(intruder!1, df!1, k!1)) < 180")
                    (("1" (LEMMA "sin_between_0_180_pos")
                      (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                     ("2" (DELETE -2 2)
                      (("2" (REWRITE "trajectory_heading ")
                        (("2" (EXPAND "first_step")
                          (("2" (LEMMA "max_phi")
                            (("2" (LEMMA "max_heading_change")
                              (("2"
                                (INST?)
                                (("2"
                                  (INST?)
                                  (("2"
                                    (EXPAND "tstep")
                                    (("2"
                                      (REWRITE "intruderSpeeddef")
                                      (("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_87_to_93_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_87_to_93_y_gt_200_range")
    (("" (INST -1 "df!1" "intruder!1" "18") (("" (ASSERT) NIL NIL))
      NIL))
    NIL))
  NIL)
 (|heading_87i_to_93i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_87_to_93_y_gt_200")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_on_y_heading_eq_neg34| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_pos_35_trajectory_A")
    (("" (INST?)
      (("" (REPLACE -3 -1)
        (("" (ASSERT)
          (("" (REPLACE -1 1)
            (("" (REWRITE "intruderSpeeddef")
              (("" (EXPAND "tstep")
                (("" (DELETE -1)
                  (("" (REPLACE -3 1)
                    (("" (REWRITE "cos_approx")
                      (("" (REWRITE "sin_approx")
                        (("" (GRIND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_pos35_ge| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "v(trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1)) *        sin(heading              (trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1)))        * tstep >= v(trajectory(intruder!1, pos_35_bank, k!1)) *         sin(heading(trajectory(intruder!1, pos_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (LEMMA "phi_pos35_heading_ge")
                        (("2" (INST?)
                          (("2"
                            (LEMMA "sin_decreases_towards_neg_90_le")
                            (("2"
                              (INST -1
                               "heading(trajectory(intruder!1, pos_35_bank, k!1))"
                               "heading
              (trajectory(intruder!1 WITH [phi := 35], pos_35_bank, k!1))")
                              (("1"
                                (GROUND)
                                (("1"
                                  (DELETE 2)
                                  (("1"
                                    (REWRITE "trajectory_heading ")
                                    (("1"
                                      (DELETE -1)
                                      (("1"
                                        (EXPAND "first_step")
                                        (("1"
                                          (LEMMA "max_phi")
                                          (("1"
                                            (LEMMA
                                             "max_heading_change_pos")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST?)
                                                (("1"
                                                  (CASE "k!1 = 0")
                                                  (("1"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "tstep")
                                                    (("2"
                                                      (REWRITE
                                                       "intruderSpeeddef")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (DELETE -1 2)
                                  (("2"
                                    (REWRITE "trajectory_heading ")
                                    (("2"
                                      (EXPAND "first_step")
                                      (("2"
                                        (LEMMA
                                         "max_heading_change_pos")
                                        (("2"
                                          (LEMMA "max_phi")
                                          (("2"
                                            (INST?)
                                            (("2"
                                              (INST?)
                                              (("2"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("3"
                                  (DELETE -1 2)
                                  (("3"
                                    (REWRITE "trajectory_heading ")
                                    (("3"
                                      (EXPAND "first_step")
                                      (("3"
                                        (LEMMA "max_phi")
                                        (("3"
                                          (LEMMA
                                           "max_heading_change_pos")
                                          (("3"
                                            (CASE "k!1 = 0")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST
                                                 -3
                                                 "intruder!1 WITH [phi := 35]")
                                                (("1"
                                                  (EXPAND "tstep")
                                                  (("1"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (EXPAND "abs")
                                                  (("2"
                                                    (ASSERT)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (ASSERT)
                                                (("2"
                                                  (EXPAND "abs")
                                                  (("2"
                                                    (ASSERT)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (INST?)
                                              (("1"
                                                (INST
                                                 -2
                                                 "intruder!1 with [phi := 35]")
                                                (("1"
                                                  (EXPAND "tstep")
                                                  (("1"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (EXPAND "abs")
                                                  (("2"
                                                    (ASSERT)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("4"
                                  (DELETE -1 2)
                                  (("4"
                                    (REWRITE "trajectory_heading ")
                                    (("4"
                                      (EXPAND "first_step")
                                      (("4"
                                        (LEMMA
                                         "max_heading_change_pos")
                                        (("4"
                                          (LEMMA "max_phi")
                                          (("4"
                                            (INST
                                             -1
                                             "intruder!1 with [phi := 35]")
                                            (("1"
                                              (INST
                                               -2
                                               "intruder!1 with [phi := 35]"
                                               "k!1")
                                              (("1"
                                                (EXPAND "tstep")
                                                (("1"
                                                  (REWRITE
                                                   "intruderSpeeddef")
                                                  (("1"
                                                    (CASE "k!1 = 0")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "abs")
                                (("2" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|intruder_on_y_heading_eq_neg34_any_phi| "" (SKOSIMP*)
  (("" (LEMMA "phi_pos35_ge")
    (("" (INST?)
      (("" (LEMMA "intruder_on_y_heading_eq_neg34")
        (("" (INST -1 "intruder!1 WITH [phi := 35]")
          (("1" (GROUND) NIL NIL)
           ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_heading_pos35_le_neg90_0| "" (SKOSIMP*)
  (("" (REWRITE "trajectory_heading")
    (("" (REWRITE "trajectory_heading")
      (("" (EXPAND "first_step")
        (("" (CASE "i!1=0")
          (("1" (REPLACE -1)
            (("1" (EXPAND "h_c") (("1" (ASSERT) NIL NIL)) NIL)) NIL)
           ("2" (ASSERT)
            (("2" (LEMMA "sin_right_of_min_ge")
              (("2"
                (INST -1 "heading(s!1) + tstep * trkrate(phi(s!1))"
                 "tstep * h_c(s!1, pos_35_bank, i!1)"
                 "-tstep * h_c(s!1, df!1, i!1)")
                (("2" (GROUND)
                  (("1" (LEMMA "max_heading_change")
                    (("1" (INST?)
                      (("1" (TYPEPRED "i!1") (("1" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (LEMMA "max_heading_change_pos")
                    (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL)) NIL)
                   ("3" (LEMMA "heading_pos35_le")
                    (("3" (INST -1 "df!1" "i!1" "s!1")
                      (("3" (EXPAND "tstep") (("3" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("4" (EXPAND "tstep")
                    (("4" (LEMMA "heading_pos35_ge")
                      (("4" (INST?) (("4" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_y_le_neg| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, pos_35_bank, k!1)) *        sin(heading(trajectory(s1!1, pos_35_bank, k!1)))        * tstep <= v(trajectory(s2!1, pos_35_bank, k!1)) *         sin(heading(trajectory(s2!1, pos_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (LEMMA "heading_change_eq")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (INST -1 "s2!1")
                                      (("1"
                                        (REPLACE -1 1)
                                        (("1"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("1"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * h_c(s2!1, pos_35_bank, k!1)"
                                             "heading(s2!1) + tstep * h_c(s2!1, pos_35_bank, k!1)")
                                            (("1"
                                              (GROUND)
                                              (("1"
                                                (DELETE 2)
                                                (("1"
                                                  (LEMMA
                                                   "max_heading_change")
                                                  (("1"
                                                    (INST?)
                                                    (("1"
                                                      (EXPAND "tstep")
                                                      (("1"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (DELETE 2)
                                                (("2"
                                                  (LEMMA
                                                   "max_heading_change_pos")
                                                  (("2"
                                                    (INST?)
                                                    (("2"
                                                      (EXPAND "tstep")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("3"
                                                (DELETE 2)
                                                (("3"
                                                  (LEMMA
                                                   "max_heading_change_pos")
                                                  (("3"
                                                    (INST?)
                                                    (("3"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("4"
                                                (DELETE 2)
                                                (("4"
                                                  (LEMMA
                                                   "max_heading_change_pos")
                                                  (("4"
                                                    (INST?)
                                                    (("4"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)"
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_pos")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA
                                                     "phi_0_pos_trkrate_0_pos")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "phi_0_pos_trkrate_0_pos")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s2!1")
                                                          (("2"
                                                            (LEMMA
                                                             "max_phi ")
                                                            (("2"
                                                              (INST?)
                                                              (("2"
                                                                (LEMMA
                                                                 "max_phi ")
                                                                (("2"
                                                                  (INST
                                                                   -1
                                                                   "s1!1")
                                                                  (("2"
                                                                    (EXPAND
                                                                     "tstep")
                                                                    (("2"
                                                                      (REWRITE
                                                                       "intruderSpeeddef")
                                                                      (("2"
                                                                        (LEMMA
                                                                         "phi_le_trkrate_le")
                                                                        (("2"
                                                                          (INST?)
                                                                          (("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_y_le_any_phi_neg| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, pos_35_bank, k!1)) *        sin(heading(trajectory(s1!1, pos_35_bank, k!1)))        * tstep <= v(trajectory(s2!1, pos_35_bank, k!1)) *         sin(heading(trajectory(s2!1, pos_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (REPLACE -1 1)
                                  (("1"
                                    (EXPAND "h_c")
                                    (("1"
                                      (LEMMA
                                       "sin_decreases_towards_neg_90_le")
                                      (("1"
                                        (INST
                                         -1
                                         "heading(s1!1)"
                                         "heading(s2!1)")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_decreases_towards_neg_90_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)"
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, pos_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_pos")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA
                                                     "phi_0_pos_trkrate_0_pos")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "phi_0_pos_trkrate_0_pos")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s2!1")
                                                          (("2"
                                                            (LEMMA
                                                             "max_phi ")
                                                            (("2"
                                                              (INST?)
                                                              (("2"
                                                                (LEMMA
                                                                 "max_phi ")
                                                                (("2"
                                                                  (INST
                                                                   -1
                                                                   "s1!1")
                                                                  (("2"
                                                                    (EXPAND
                                                                     "tstep")
                                                                    (("2"
                                                                      (REWRITE
                                                                       "intruderSpeeddef")
                                                                      (("2"
                                                                        (LEMMA
                                                                         "phi_le_trkrate_le")
                                                                        (("2"
                                                                          (INST?)
                                                                          (("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|turn_pos35_y_le_neg34_neg90| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -2 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v(trajectory(intruder!1, pos_35_bank, k!1)) * sin(heading(trajectory(intruder!1, pos_35_bank, k!1))) * tstep >= v(trajectory(intruder!1, df!1, k!1)) * sin(heading(trajectory(intruder!1, df!1, k!1))) * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -2 2)
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruder_speed")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (EXPAND "tstep")
                        (("2" (LEMMA "sin_of_heading_pos35_le_neg90_0")
                          (("2" (INST -1 "df!1" "intruder!1" "k!1")
                            (("2" (GROUND)
                              (("1"
                                (DELETE 2)
                                (("1"
                                  (LEMMA "max_phi")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (REWRITE "intruderSpeeddef")
                                      (("1"
                                        (EXPAND "tstep")
                                        (("1" (PROPAX) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (LEMMA "max_phi")
                                (("2"
                                  (INST?)
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2"
                                      (EXPAND "tstep")
                                      (("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_neg34_ge_neg87_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "turn_pos35_y_le_neg34_neg90")
    (("" (INST?)
      (("" (LEMMA "max_phi")
        (("" (INST?)
          (("" (REWRITE "intruderSpeeddef")
            (("" (EXPAND "tstep")
              (("" (GROUND)
                (("" (LEMMA "heading_le_y_le_any_phi_neg")
                  ((""
                    (INST -1 "18" "intruder!1"
                     "intruder!1 with [heading := -34]")
                    ((""
                      (LEMMA "intruder_on_y_heading_eq_neg34_any_phi")
                      (("" (INST -1 "intruder!1 WITH [heading := -34]")
                        (("" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_neg34i_ge_neg87i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_le_neg34_ge_neg87_y_gt_200")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_heading_neg35_le_neg90_neg180| "" (SKOSIMP*)
  (("" (REWRITE "trajectory_heading")
    (("" (REWRITE "trajectory_heading")
      (("" (EXPAND "first_step")
        (("" (CASE "i!1=0")
          (("1" (REPLACE -1)
            (("1" (EXPAND "h_c") (("1" (ASSERT) NIL NIL)) NIL)) NIL)
           ("2" (ASSERT)
            (("2" (LEMMA "sin_left_of_min_ge")
              (("2"
                (INST -1 "heading(s!1) + tstep * trkrate(phi(s!1))"
                 "-tstep * h_c(s!1, neg_35_bank, i!1)"
                 "tstep * h_c(s!1, df!1, i!1)")
                (("2" (GROUND)
                  (("1" (LEMMA "max_heading_change_neg")
                    (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                   ("2" (LEMMA "max_heading_change_neg")
                    (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL)) NIL)
                   ("3" (LEMMA "heading_neg35_le")
                    (("3" (INST -1 "df!1" "i!1" "s!1")
                      (("3" (EXPAND "tstep") (("3" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("4" (LEMMA "heading_neg35_ge")
                    (("4" (INST -1 "df!1" "i!1" "s!1")
                      (("4" (EXPAND "tstep") (("4" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|turn_neg35_y_le_neg90_neg145| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -2 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v(trajectory(intruder!1, neg_35_bank, k!1)) * sin(heading(trajectory(intruder!1, neg_35_bank, k!1))) * tstep >= v(trajectory(intruder!1, df!1, k!1)) * sin(heading(trajectory(intruder!1, df!1, k!1))) * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -2 2)
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruder_speed")
                    (("2" (REWRITE "intruderSpeeddef")
                      (("2" (EXPAND "tstep")
                        (("2"
                          (LEMMA
                           "sin_of_heading_neg35_le_neg90_neg180")
                          (("2" (INST -1 "df!1" "intruder!1" "k!1")
                            (("2" (EXPAND "tstep")
                              (("2"
                                (GROUND)
                                (("2"
                                  (DELETE 2)
                                  (("2"
                                    (LEMMA "max_phi")
                                    (("2"
                                      (INST?)
                                      (("2"
                                        (REWRITE "intruderSpeeddef")
                                        (("2"
                                          (EXPAND "tstep")
                                          (("2" (PROPAX) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_ge_y_le_any_phi_neg93_neg180| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2"
            (CASE "v(trajectory(s1!1, neg_35_bank, k!1)) *        sin(heading(trajectory(s1!1, neg_35_bank, k!1)))        * tstep >= v(trajectory(s2!1, neg_35_bank, k!1)) *         sin(heading(trajectory(s2!1, neg_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (REWRITE "trajectory_heading")
                        (("2" (REWRITE "trajectory_heading")
                          (("2" (EXPAND "first_step")
                            (("2" (CASE "k!1 = 0")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (REPLACE -1 1)
                                  (("1"
                                    (EXPAND "h_c")
                                    (("1"
                                      (LEMMA
                                       "sin_increases_towards_neg_270_le")
                                      (("1"
                                        (INST
                                         -1
                                         "heading(s2!1)"
                                         "heading(s1!1)")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (ASSERT)
                                (("2"
                                  (LEMMA "heading_change_eq")
                                  (("2"
                                    (INST?)
                                    (("2"
                                      (INST -1 "s2!1")
                                      (("2"
                                        (REPLACE -1 2)
                                        (("2"
                                          (LEMMA
                                           "sin_increases_towards_neg_270_le")
                                          (("2"
                                            (INST
                                             -1
                                             "heading(s2!1) + tstep * trkrate(phi(s2!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)"
                                             "heading(s1!1) + tstep * trkrate(phi(s1!1)) + tstep * h_c(s2!1, neg_35_bank, k!1)")
                                            (("2"
                                              (EXPAND "tstep")
                                              (("2"
                                                (LEMMA
                                                 "max_heading_change_neg")
                                                (("2"
                                                  (INST?)
                                                  (("2"
                                                    (LEMMA "max_phi ")
                                                    (("2"
                                                      (INST?)
                                                      (("2"
                                                        (LEMMA
                                                         "max_phi ")
                                                        (("2"
                                                          (INST
                                                           -1
                                                           "s1!1")
                                                          (("2"
                                                            (EXPAND
                                                             "tstep")
                                                            (("2"
                                                              (REWRITE
                                                               "intruderSpeeddef")
                                                              (("2"
                                                                (LEMMA
                                                                 "phi_le_trkrate_le")
                                                                (("2"
                                                                  (INST?)
                                                                  (("2"
                                                                    (INST
                                                                     -1
                                                                     "s2!1")
                                                                    (("2"
                                                                      (GROUND)
                                                                      NIL
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_on_y_heading_eq_neg146| "" (SKOSIMP*)
  (("" (LEMMA "y_change_for_neg_35_trajectory_A")
    (("" (INST?)
      (("" (REPLACE -3 -1)
        (("" (ASSERT)
          (("" (REPLACE -1 1)
            (("" (REWRITE "intruderSpeeddef")
              (("" (EXPAND "tstep")
                (("" (DELETE -1)
                  (("" (REPLACE -3 1)
                    (("" (REWRITE "cos_approx")
                      (("" (REWRITE "sin_approx")
                        (("" (GRIND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|phi_neg35_le_neg146| "" (INDUCT "i")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (EXPAND "trajectory" 1)
        (("2" (EXPAND "next_state")
          (("2"
            (CASE "v(trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1)) *        sin(heading              (trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1)))        * tstep >= v(trajectory(intruder!1, neg_35_bank, k!1)) *         sin(heading(trajectory(intruder!1, neg_35_bank, k!1)))         * tstep")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE -2 2)
              (("2" (REWRITE "intruder_speed")
                (("2" (REWRITE "intruder_speed")
                  (("2" (REWRITE "intruderSpeeddef")
                    (("2" (EXPAND "tstep")
                      (("2" (LEMMA "phi_neg35_heading_le")
                        (("2" (INST?)
                          (("2"
                            (LEMMA "sin_increases_towards_neg_270_le")
                            (("2"
                              (INST -1
                               "heading(trajectory(intruder!1, neg_35_bank, k!1))"
                               "heading
              (trajectory(intruder!1 WITH [phi := -35], neg_35_bank, k!1))")
                              (("1"
                                (GROUND)
                                (("1"
                                  (DELETE 2)
                                  (("1"
                                    (REWRITE "trajectory_heading ")
                                    (("1"
                                      (DELETE -1)
                                      (("1"
                                        (EXPAND "first_step")
                                        (("1"
                                          (LEMMA "max_phi")
                                          (("1"
                                            (LEMMA
                                             "max_heading_change_neg")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST?)
                                                (("1"
                                                  (CASE "k!1 = 0")
                                                  (("1"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "tstep")
                                                    (("2"
                                                      (REWRITE
                                                       "intruderSpeeddef")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (DELETE -1 2)
                                  (("2"
                                    (REWRITE "trajectory_heading ")
                                    (("2"
                                      (EXPAND "first_step")
                                      (("2"
                                        (LEMMA
                                         "max_heading_change_neg")
                                        (("2"
                                          (LEMMA "max_phi")
                                          (("2"
                                            (INST?)
                                            (("2"
                                              (INST?)
                                              (("2"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("3"
                                  (DELETE -1 2)
                                  (("3"
                                    (REWRITE "trajectory_heading ")
                                    (("3"
                                      (EXPAND "first_step")
                                      (("3"
                                        (LEMMA
                                         "max_heading_change_neg")
                                        (("3"
                                          (LEMMA "max_phi")
                                          (("3"
                                            (INST
                                             -1
                                             "intruder!1 WITH [phi := -35]")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (CASE "k!1 = 0")
                                                (("1" (GROUND) NIL NIL)
                                                 ("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (REWRITE
                                                     "intruderSpeeddef")
                                                    (("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (EXPAND "abs")
                                                (("2"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("4"
                                  (REWRITE "trajectory_heading ")
                                  (("4"
                                    (EXPAND "first_step")
                                    (("4"
                                      (LEMMA "max_heading_change_neg")
                                      (("4"
                                        (LEMMA "max_phi")
                                        (("4"
                                          (INST
                                           -1
                                           "intruder!1 WITH [phi := -35]")
                                          (("1"
                                            (INST?)
                                            (("1"
                                              (CASE "k!1 = 0")
                                              (("1" (GROUND) NIL NIL)
                                               ("2"
                                                (EXPAND "tstep")
                                                (("2"
                                                  (REWRITE
                                                   "intruderSpeeddef")
                                                  (("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "abs")
                                              (("2" (ASSERT) NIL NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (EXPAND "abs")
                                            (("2" (ASSERT) NIL NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "abs")
                                (("2" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("3" (EXPAND "abs") (("3" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (EXPAND "abs") (("3" (PROPAX) NIL NIL)) NIL))
  NIL)
 (|intruder_on_y_heading_eq_neg146_any_phi| "" (SKOSIMP*)
  (("" (LEMMA "phi_neg35_le_neg146")
    (("" (INST?)
      (("" (LEMMA "intruder_on_y_heading_eq_neg146")
        (("" (INST -1 "intruder!1 with [phi := -35]")
          (("1" (GROUND) NIL NIL)
           ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_neg146_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "turn_neg35_y_le_neg90_neg145")
    (("" (INST?)
      (("" (LEMMA "max_phi")
        (("" (INST?)
          (("" (REWRITE "intruderSpeeddef")
            (("" (EXPAND "tstep")
              (("" (GROUND)
                (("" (LEMMA "heading_ge_y_le_any_phi_neg93_neg180")
                  ((""
                    (INST -1 "18" "intruder!1 with [heading := -146]"
                     "intruder!1")
                    ((""
                      (LEMMA "intruder_on_y_heading_eq_neg146_any_phi")
                      ((""
                        (INST -1 "intruder!1 WITH [heading := -146]")
                        (("" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_le_neg93i_ge_neg146i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_le_neg146_y_gt_200 ")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg87_to_neg93_y_gt_200_range| "" (INDUCT "i")
  (("1" (SKOSIMP*)
    (("1" (EXPAND "trajectory")
      (("1" (EXPAND "next_state")
        (("1" (EXPAND "trajectory")
          (("1" (EXPAND "next_state")
            (("1" (REWRITE "intruder_speed")
              (("1" (EXPAND "trajectory")
                (("1" (LEMMA "sin_of_neg87_neg93")
                  (("1" (LEMMA "sin_of_neg84_neg96")
                    (("1" (LEMMA "sin_increases_towards_neg_270_le")
                      (("1" (LEMMA "sin_decreases_towards_neg_90_le")
                        (("1"
                          (CASE "heading(intruder!1) + tstep * trkrate(phi(intruder!1)) < -84 and             heading(intruder!1) + tstep * trkrate(phi(intruder!1)) > -96")
                          (("1" (INST -2 "heading(intruder!1)" "-87")
                            (("1" (INST -3 "heading(intruder!1)" "-93")
                              (("1"
                                (REVEAL -1 -2)
                                (("1"
                                  (INST
                                   -1
                                   "heading(intruder!1) + tstep * trkrate(phi(intruder!1))"
                                   "-96")
                                  (("1"
                                    (INST
                                     -2
                                     "heading(intruder!1) + tstep * trkrate(phi(intruder!1))"
                                     "-84")
                                    (("1"
                                      (EXPAND "tstep")
                                      (("1"
                                        (REWRITE "intruderSpeeddef")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL)
                           ("2" (DELETE -1 -2 2)
                            (("2" (LEMMA "max_phi")
                              (("2"
                                (INST?)
                                (("2"
                                  (EXPAND "tstep")
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2" (GROUND) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -2 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2" (REWRITE "intruder_speed")
              (("2" (EXPAND "tstep")
                (("2" (REWRITE "intruderSpeeddef")
                  (("2"
                    (CASE "heading(trajectory(intruder!1, df!1, k!1)) < 0 and heading(trajectory(intruder!1, df!1, k!1)) > -180")
                    (("1" (LEMMA "sin_between_0_neg180_neg")
                      (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                     ("2" (DELETE -2 2)
                      (("2" (REWRITE "trajectory_heading ")
                        (("2" (EXPAND "first_step")
                          (("2" (LEMMA "max_phi")
                            (("2" (LEMMA "max_heading_change")
                              (("2"
                                (INST?)
                                (("2"
                                  (INST?)
                                  (("2"
                                    (EXPAND "tstep")
                                    (("2"
                                      (REWRITE "intruderSpeeddef")
                                      (("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg87_to_neg93_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_neg87_to_neg93_y_gt_200_range")
    (("" (INST -1 "df!1" "intruder!1" "18") (("" (ASSERT) NIL NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg93i_to_neg87i_y_gt_200| "" (SKOSIMP*)
  (("" (LEMMA "heading_neg87_to_neg93_y_gt_200")
    ((""
      (INST -1 "df!1"
       "intruder!1 with [heading := heading(intruder!1) - 360 * i!1]")
      (("" (ASSERT)
        (("" (LEMMA "trajectory_periodic_y")
          (("" (INST -1 "df!1" "18" "intruder!1" "-i!1")
            (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_146_to_180_x_gt_200| "" (INDUCT "i")
  (("1" (SKOSIMP*)
    (("1" (EXPAND "distance")
      (("1" (REPLACE -1)
        (("1" (REPLACE -2)
          (("1" (EXPAND "trajectory" 1 2)
            (("1" (ASSERT)
              (("1" (EXPAND "sq" -6 1)
                (("1" (REWRITE "sqrt_of_sq")
                  (("1" (EXPAND "abs") (("1" (GROUND) NIL NIL)) NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1 2)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2" (REWRITE "intruder_speed")
            (("2" (EXPAND "tstep")
              (("2" (REWRITE "intruderSpeeddef")
                (("2"
                  (CASE "heading(trajectory(intruder!1, df!1, k!1)) >= 90 and   heading(trajectory(intruder!1, df!1, k!1)) <= 270")
                  (("1" (LEMMA "cos_90_to_270")
                    (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                   ("2" (DELETE -2 2)
                    (("2" (REWRITE "trajectory_heading")
                      (("2" (EXPAND "first_step")
                        (("2" (LEMMA "max_phi")
                          (("2" (INST?)
                            (("2" (LEMMA "max_heading_change")
                              (("2"
                                (INST?)
                                (("2"
                                  (EXPAND "tstep")
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2"
                                      (CASE "k!1 = 0")
                                      (("1" (GROUND) NIL NIL)
                                       ("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_146i_to_180i_x_gt_200| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (LEMMA "heading_146_to_180_x_gt_200")
        ((""
          (INST -1 "df!1"
           "intruder!1 with [heading := heading(intruder!1) - 360 * j!1]"
           "se!1" "i!1")
          (("" (ASSERT)
            (("" (ASSERT)
              (("" (EXPAND "distance")
                (("" (ASSERT)
                  (("" (LEMMA "trajectory_periodic_x")
                    (("" (INST -1 "df!1" "i!1" "intruder!1" "-j!1")
                      (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg146_to_neg180_x_gt_200| "" (INDUCT "i")
  (("1" (SKOSIMP*)
    (("1" (EXPAND "distance")
      (("1" (REPLACE -1)
        (("1" (REPLACE -2)
          (("1" (EXPAND "trajectory" 1 2)
            (("1" (ASSERT)
              (("1" (EXPAND "sq" -6 1)
                (("1" (REWRITE "sqrt_of_sq")
                  (("1" (EXPAND "abs") (("1" (GROUND) NIL NIL)) NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1 2)
      (("2" (EXPAND "next_state")
        (("2" (INST?)
          (("2" (REWRITE "intruder_speed")
            (("2" (EXPAND "tstep")
              (("2" (REWRITE "intruderSpeeddef")
                (("2"
                  (CASE "heading(trajectory(intruder!1, df!1, k!1)) >= -270 and           heading(trajectory(intruder!1, df!1, k!1)) <= -90")
                  (("1" (LEMMA "cos_neg90_to_neg270")
                    (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                   ("2" (DELETE -2 2)
                    (("2" (REWRITE "trajectory_heading")
                      (("2" (EXPAND "first_step")
                        (("2" (LEMMA "max_phi")
                          (("2" (INST?)
                            (("2" (LEMMA "max_heading_change")
                              (("2"
                                (INST?)
                                (("2"
                                  (EXPAND "tstep")
                                  (("2"
                                    (REWRITE "intruderSpeeddef")
                                    (("2"
                                      (CASE "k!1 = 0")
                                      (("1" (GROUND) NIL NIL)
                                       ("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|heading_neg146i_to_neg180i_x_gt_200| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (LEMMA "heading_neg146_to_neg180_x_gt_200")
        ((""
          (INST -1 "df!1"
           "intruder!1 with [heading := heading(intruder!1) - 360 * j!1]"
           "se!1" "i!1")
          (("" (ASSERT)
            (("" (ASSERT)
              (("" (EXPAND "distance")
                (("" (ASSERT)
                  (("" (LEMMA "trajectory_periodic_x")
                    (("" (INST -1 "df!1" "i!1" "intruder!1" "-j!1")
                      (("" (REPLACE -1 -2) (("" (PROPAX) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|div_TCC1| "" (INST 1 "lambda (x:real,b:posnat):floor(x/b)")
  (("" (SKOSIMP*)
    (("" (INST 1 "x!1 - floor(x!1 / b!1) * b!1")
      (("1" (GROUND) NIL NIL)
       ("2" (TYPEPRED "floor(x!1 / b!1)")
        (("2" (GROUND)
          (("1" (BOTH-SIDES "/" "b!1") (("1" (GROUND) NIL NIL)) NIL)
           ("2" (BOTH-SIDES "/" "b!1")
            (("1" (GROUND) NIL NIL) ("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|all_angles| "" (SKOSIMP*)
  (("" (INST 1 "div(x!1+180,360)")
    (("" (INST 2 "div(x!1+180,360)")
      (("" (INST 3 "div(x!1+180,360)")
        (("" (INST 4 "div(x!1+180,360)")
          (("" (INST 5 "div(x!1+180,360)")
            (("" (INST 6 "div(x!1+180,360)")
              (("" (INST 7 "div(x!1+180,360)")
                (("" (INST 8 "div(x!1+180,360)")
                  (("" (INST 9 "div(x!1+180,360)")
                    (("" (TYPEPRED "div(x!1+180, 360)")
                      (("" (SKOSIMP*)
                        (("" (TYPEPRED "r!1") (("" (GROUND) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_and_evader_on_y_collision_imp_heading_le_34_e| ""
  (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (CASE "forall (x,y:nonneg_real): sq(y) <= sq(x) IFF y<=x")
        (("1" (EXPAND "collision_scenario")
          (("1" (EXPAND "collision")
            (("1" (EXPAND "collisionRange")
              (("1" (LEMMA "sqrt_monotone")
                (("1"
                  (INST -1
                   "sq(x(trajectory(intruder!1, df!1, 18)) -               x(trajectory(se!1, zero_bank, 18)))            +            sq(y(trajectory(intruder!1, df!1, 18)) -                y(trajectory(se!1, zero_bank, 18)))"
                   "sq(200)")
                  (("1" (REWRITE "sqrt_of_sq")
                    (("1" (EXPAND "abs")
                      (("1" (EXPAND "distance" -7)
                        (("1"
                          (NAME-REPLACE XDSQ
                           "sq(x(trajectory(intruder!1, df!1, 18)) -          x(trajectory(se!1, zero_bank, 18)))")
                          (("1"
                            (CASE "exists (i:int): heading(intruder!1) >= 34 + 360 * i and    heading(intruder!1) <= 87 + 360 * i")
                            (("1" (SKOSIMP*)
                              (("1"
                                (LEMMA
                                 "heading_ge_34i_le_87i_y_gt_200")
                                (("1"
                                  (INST?)
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (INST
                                       -6
                                       "200"
                                       "y(trajectory(intruder!1, df!1, 18))")
                                      (("1"
                                        (TYPEPRED "XDSQ")
                                        (("1" (GROUND) NIL NIL))
                                        NIL)
                                       ("2" (ASSERT) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL)
                             ("2"
                              (CASE "exists (i:int): heading(intruder!1) >= 87 + 360 * i and    heading(intruder!1) <= 93 + 360 * i")
                              (("1"
                                (SKOSIMP*)
                                (("1"
                                  (LEMMA "heading_87i_to_93i_y_gt_200")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (INST?)
                                      (("1"
                                        (INST
                                         -6
                                         "200"
                                         "y(trajectory(intruder!1, df!1, 18))")
                                        (("1"
                                          (TYPEPRED "XDSQ")
                                          (("1" (GROUND) NIL NIL))
                                          NIL)
                                         ("2" (ASSERT) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (TYPEPRED "XDSQ")
                                (("2"
                                  (CASE
                                   "exists (i:int): heading(intruder!1) >= 93 + 360 * i and    heading(intruder!1) <= 146 + 360 * i")
                                  (("1"
                                    (SKOSIMP*)
                                    (("1"
                                      (LEMMA
                                       "heading_le_146i_y_gt_200 ")
                                      (("1"
                                        (INST?)
                                        (("1"
                                          (INST?)
                                          (("1"
                                            (INST
                                             -7
                                             "200"
                                             "y(trajectory(intruder!1, df!1, 18))")
                                            (("1" (GROUND) NIL NIL)
                                             ("2" (ASSERT) NIL NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL)
                                   ("2"
                                    (CASE
                                     "exists (i:int): heading(intruder!1) >= -87 + 360 * i and    heading(intruder!1) <= -34 + 360 * i")
                                    (("1"
                                      (SKOSIMP*)
                                      (("1"
                                        (LEMMA
                                         "heading_le_neg34i_ge_neg87i_y_gt_200")
                                        (("1"
                                          (INST?)
                                          (("1"
                                            (INST?)
                                            (("1"
                                              (LEMMA "sq_of_neg_le_ge")
                                              (("1"
                                                (INST
                                                 -1
                                                 "-200"
                                                 "y(trajectory(intruder!1, df!1, 18))")
                                                (("1"
                                                  (CASE-REPLACE
                                                   "sq(-200) = sq(200)")
                                                  (("1"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "sq")
                                                    (("2"
                                                      (ASSERT)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (GROUND)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL)
                                     ("2"
                                      (CASE
                                       "exists (i:int): heading(intruder!1) >= -93 + 360 * i and    heading(intruder!1) <= -87 + 360 * i")
                                      (("1"
                                        (SKOSIMP*)
                                        (("1"
                                          (LEMMA
                                           " heading_neg93i_to_neg87i_y_gt_200")
                                          (("1"
                                            (INST?)
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (LEMMA
                                                 "sq_of_neg_le_ge")
                                                (("1"
                                                  (INST
                                                   -1
                                                   "-200"
                                                   "y(trajectory(intruder!1, df!1, 18))")
                                                  (("1"
                                                    (CASE-REPLACE
                                                     "sq(-200) = sq(200)")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL)
                                                     ("2"
                                                      (EXPAND "sq")
                                                      (("2"
                                                        (ASSERT)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (CASE
                                         "exists (i:int): heading(intruder!1) >= -146 + 360 * i and    heading(intruder!1) <= -93 + 360 * i")
                                        (("1"
                                          (SKOSIMP*)
                                          (("1"
                                            (LEMMA
                                             "heading_le_neg93i_ge_neg146i_y_gt_200")
                                            (("1"
                                              (INST?)
                                              (("1"
                                                (INST?)
                                                (("1"
                                                  (LEMMA
                                                   "sq_of_neg_le_ge")
                                                  (("1"
                                                    (INST
                                                     -1
                                                     "-200"
                                                     "y(trajectory(intruder!1, df!1, 18))")
                                                    (("1"
                                                      (CASE-REPLACE
                                                       "sq(-200) = sq(200)")
                                                      (("1"
                                                        (GROUND)
                                                        NIL
                                                        NIL)
                                                       ("2"
                                                        (EXPAND "sq")
                                                        (("2"
                                                          (ASSERT)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2"
                                          (DELETE -1)
                                          (("2"
                                            (REVEAL -1)
                                            (("2"
                                              (REPLACE -1 :DIR RL)
                                              (("2"
                                                (DELETE -1)
                                                (("2"
                                                  (NAME-REPLACE
                                                   YDSQ
                                                   "sq(y(trajectory(intruder!1, df!1, 18)) -          y(trajectory(se!1, zero_bank, 18)))")
                                                  (("2"
                                                    (TYPEPRED "YDSQ")
                                                    (("2"
                                                      (CASE
                                                       "exists (i:int): heading(intruder!1) >= -180 + 360 * i and    heading(intruder!1) <= -146 + 360 * i")
                                                      (("1"
                                                        (SKOSIMP*)
                                                        (("1"
                                                          (LEMMA
                                                           "heading_neg146i_to_neg180i_x_gt_200")
                                                          (("1"
                                                            (INST?)
                                                            (("1"
                                                              (INST?)
                                                              (("1"
                                                                (INST?)
                                                                (("1"
                                                                  (INST
                                                                   -7
                                                                   "200"
                                                                   "x(trajectory(se!1, zero_bank, 18)) -x(trajectory(intruder!1, df!1, 18))")
                                                                  (("1"
                                                                    (CASE
                                                                     "forall (x,y:real): sq(y-x) = sq(x-y)")
                                                                    (("1"
                                                                      (INST
                                                                       -1
                                                                       "x(trajectory(intruder!1, df!1, 18))"
                                                                       "x(trajectory(se!1, zero_bank, 18))")
                                                                      (("1"
                                                                        (REPLACE

                                                                         -1
                                                                         -8)
                                                                        (("1"
                                                                          (GROUND)
                                                                          (("1"
                                                                            (ASSERT)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL)
                                                                     ("2"
                                                                      (EXPAND
                                                                       "sq")
                                                                      (("2"
                                                                        (PROPAX)
                                                                        NIL
                                                                        NIL))
                                                                      NIL))
                                                                    NIL)
                                                                   ("2"
                                                                    (GROUND)
                                                                    (("2"
                                                                      (ASSERT)
                                                                      NIL
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (CASE
                                                         "exists (i:int): heading(intruder!1) >= 146 + 360 * i and    heading(intruder!1) <= 180 + 360 * i")
                                                        (("1"
                                                          (SKOSIMP*)
                                                          (("1"
                                                            (LEMMA
                                                             "heading_146i_to_180i_x_gt_200")
                                                            (("1"
                                                              (INST?)
                                                              (("1"
                                                                (INST?)
                                                                (("1"
                                                                  (INST?)
                                                                  (("1"
                                                                    (INST
                                                                     -7
                                                                     "200"
                                                                     "x(trajectory(se!1, zero_bank, 18)) -x(trajectory(intruder!1, df!1, 18))")
                                                                    (("1"
                                                                      (CASE
                                                                       "forall (x,y:real): sq(y-x) = sq(x-y)")
                                                                      (("1"
                                                                        (INST
                                                                         -1
                                                                         "x(trajectory(intruder!1, df!1, 18))"
                                                                         "x(trajectory(se!1, zero_bank, 18))")
                                                                        (("1"
                                                                          (REPLACE

                                                                           -1
                                                                           -8)
                                                                          (("1"
                                                                            (GROUND)
                                                                            (("1"
                                                                              (ASSERT)
                                                                              NIL
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL)
                                                                       ("2"
                                                                        (EXPAND
                                                                         "sq")
                                                                        (("2"
                                                                          (PROPAX)
                                                                          NIL
                                                                          NIL))
                                                                        NIL))
                                                                      NIL)
                                                                     ("2"
                                                                      (GROUND)
                                                                      (("2"
                                                                        (ASSERT)
                                                                        NIL
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL)
                                                         ("2"
                                                          (LEMMA
                                                           "all_angles")
                                                          (("2"
                                                            (INST
                                                             -1
                                                             "heading(intruder!1)")
                                                            (("2"
                                                              (GROUND)
                                                              (("1"
                                                                (SKOSIMP*)
                                                                (("1"
                                                                  (INST
                                                                   5
                                                                   "j!1")
                                                                  (("1"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("2"
                                                                (SKOSIMP*)
                                                                (("2"
                                                                  (INST
                                                                   4
                                                                   "j!1")
                                                                  (("2"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("3"
                                                                (SKOSIMP*)
                                                                (("3"
                                                                  (INST
                                                                   3
                                                                   "j!1")
                                                                  (("3"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("4"
                                                                (SKOSIMP*)
                                                                (("4"
                                                                  (INST
                                                                   2
                                                                   "j!1")
                                                                  (("4"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL)
         ("2" (SKOSIMP*) (("2" (REWRITE "sq_le_IFF_le") NIL NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|evader_intruder_lt| "" (SKOSIMP*)
  (("" (LEMMA "absolute_distance")
    (("" (INST?)
      (("" (LEMMA "triangle_distance")
        ((""
          (INST -1 "intruder!1" "evader!1"
           "trajectory(evader!1, zero_bank, n!1)")
          ((""
            (CASE-REPLACE
             "distance(evader!1, trajectory(evader!1, zero_bank, n!1)) = distance(trajectory(evader!1, zero_bank, n!1),evader!1)")
            (("1" (DELETE -1) (("1" (GROUND) NIL NIL)) NIL)
             ("2" (DELETE -)
              (("2" (DELETE 2)
                (("2" (EXPAND "distance")
                  (("2" (GROUND)
                    (("2" (CASE "forall (x,y:real): sq(x-y) = sq(y-x)")
                      (("1" (INST?)
                        (("1" (REPLACE -1 1)
                          (("1" (REVEAL -1)
                            (("1"
                              (INST -1 "y(evader!1)"
                               "y(trajectory(evader!1, zero_bank, n!1))")
                              (("1"
                                (REPLACE -1 1)
                                (("1" (PROPAX) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (DELETE 2)
                        (("2" (SKOSIMP*)
                          (("2" (EXPAND "sq") (("2" (PROPAX) NIL NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trans_10k_evader_not_0| "" (SKOSIMP*)
  (("" (LEMMA "evader_intruder_lt")
    (("" (INST?)
      (("" (ASSERT)
        (("" (HIDE -2)
          (("" (EXPAND "distance")
            ((""
              (CASE-REPLACE
               "2450 + v(evader!1) * 18 * tstep = sqrt(sq(2450 + v(evader!1) * 18 * tstep))")
              (("1" (REWRITE "sqrt_monotone")
                (("1"
                  (CASE "sq(x(intruder!1) - x(evader!1)) <=            sq(2450 + 18 * (v(evader!1) * tstep))")
                  (("1" (HIDE -2 -3)
                    (("1" (TYPEPRED "evader!1")
                      (("1" (REWRITE "evaderSpeeddef")
                        (("1" (REPLACE -1)
                          (("1" (EXPAND "tstep")
                            (("1"
                              (CASE "forall (x,y:real): sq(x-y) = sq(y-x)")
                              (("1"
                                (CASE
                                 "x(intruder!1) - x(evader!1) >= 0")
                                (("1"
                                  (REWRITE "sq_monotone")
                                  (("1"
                                    (EXPAND "trans")
                                    (("1" (GROUND) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (INST?)
                                  (("2"
                                    (REPLACE -1 -5)
                                    (("2"
                                      (REWRITE "sq_monotone")
                                      (("2"
                                        (EXPAND "trans")
                                        (("2" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (SKOSIMP*)
                                (("2"
                                  (EXPAND "sq")
                                  (("2" (PROPAX) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (GROUND) NIL NIL))
                  NIL))
                NIL)
               ("2" (REWRITE "sqrt_of_sq")
                (("2" (TYPEPRED "evader!1")
                  (("2" (REPLACE -1)
                    (("2" (REWRITE "evaderSpeeddef")
                      (("2" (EXPAND "tstep")
                        (("2" (EXPAND "abs") (("2" (PROPAX) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|evader_traj_intruder_lt| "" (SKOSIMP*)
  (("" (LEMMA "absolute_distance")
    (("" (INST -1 "evader!1" "zero_bank" "n2!1")
      (("" (LEMMA "triangle_distance")
        ((""
          (INST -1 "intruder!1" "trajectory(evader!1, zero_bank, n2!1)"
           "evader!1")
          (("" (LEMMA "evader_intruder_lt")
            (("" (INST?) (("" (GROUND) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trans_10k_not_0| "" (SKOSIMP*)
  (("" (LEMMA "evader_traj_intruder_lt")
    (("" (INST -1 "evader!1" "intruder!1" "n2!1")
      (("" (ASSERT)
        (("" (REWRITE "trans_before_after_traj_eq ")
          (("" (EXPAND "trans")
            (("" (DELETE -2)
              (("" (EXPAND "distance")
                (("" (LEMMA "both_sides_expt_non_neg_le_aux")
                  ((""
                    (INST -1 "1"
                     "sqrt(sq(x(intruder!1) - x(trajectory(evader!1, zero_bank, n2!1))) +
            sq(y(intruder!1) - y(trajectory(evader!1, zero_bank, n2!1))))"
                     "2450 + 18 * (v(evader!1) * tstep) + v(evader!1) * n2!1 * tstep")
                    (("1" (EXPAND "expt")
                      (("1" (EXPAND "expt")
                        (("1" (EXPAND "expt")
                          (("1" (ASSERT)
                            (("1" (DELETE -2)
                              (("1"
                                (LEMMA "sq_of_sqrt")
                                (("1"
                                  (EXPAND "sq" -1)
                                  (("1"
                                    (REWRITE -1)
                                    (("1"
                                      (CASE-REPLACE
                                       "6002500 + 88200 * (v(evader!1) * tstep) +
        4900 * (v(evader!1) * n2!1 * tstep)
        + 324 * (v(evader!1) * v(evader!1) * tstep * tstep)
        + 36 * (v(evader!1) * v(evader!1) * n2!1 * tstep * tstep)
        + v(evader!1) * v(evader!1) * n2!1 * n2!1 * tstep * tstep =
       sq(2450 + 18 * (v(evader!1) * tstep) + v(evader!1) * n2!1 * tstep)")
                                      (("1"
                                        (DELETE -1 -2)
                                        (("1"
                                          (CASE
                                           "sq(x(intruder!1) - x(trajectory(evader!1, zero_bank, n2!1))) <= 
            sq(2450 + 18 * (v(evader!1) * tstep) + v(evader!1) * n2!1 * tstep)")
                                          (("1"
                                            (DELETE -2)
                                            (("1"
                                              (LEMMA
                                               "both_sides_expt_non_neg_le_aux")
                                              (("1"
                                                (INST
                                                 -1
                                                 "1"
                                                 "x(intruder!1) - x(trajectory(evader!1, zero_bank, n2!1))"
                                                 "2450 + 18 * (v(evader!1) * tstep) + v(evader!1) * n2!1 * tstep")
                                                (("1"
                                                  (EXPAND "expt")
                                                  (("1"
                                                    (EXPAND "expt")
                                                    (("1"
                                                      (EXPAND "expt")
                                                      (("1"
                                                        (EXPAND "sq")
                                                        (("1"
                                                          (ASSERT)
                                                          (("1"
                                                            (DELETE -2)
                                                            (("1"
                                                              (TYPEPRED
                                                               "n2!1")
                                                              (("1"
                                                                (EXPAND
                                                                 "tstep")
                                                                (("1"
                                                                  (TYPEPRED
                                                                   "evader!1")
                                                                  (("1"
                                                                    (REPLACE

                                                                     -1)
                                                                    (("1"
                                                                      (REWRITE
                                                                       "evaderSpeeddef")
                                                                      (("1"
                                                                        (GROUND)
                                                                        NIL
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2" (GROUND) NIL NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (EXPAND "sq")
                                        (("2" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (TYPEPRED "n2!1")
                      (("2" (EXPAND "tstep")
                        (("2" (TYPEPRED "evader!1")
                          (("2" (REPLACE -1)
                            (("2" (REWRITE "evaderSpeeddef")
                              (("2" (GROUND) NIL NIL)) NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trans_10k_not_0_rev| "" (SKOSIMP*)
  (("" (LEMMA "trans_10k_not_0")
    (("" (INST -1 "evader!1" "intruder!1" "n2!1")
      (("" (REWRITE "trans_before_after_traj_eq")
        (("" (ASSERT) NIL NIL)) NIL))
      NIL))
    NIL))
  NIL)
 (|radial_func_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|radial_func_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|radial_func_TCC3| "" (SUBTYPE-TCC) NIL NIL)
 (|sin_of_radial_angle_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|sin_of_radial_angle| "" (SKOSIMP*)
  (("" (EXPAND "radial_func")
    (("" (CASE "x!1 = 0")
      (("1" (ASSERT)
        (("1" (CASE "y!1 > 0")
          (("1" (ASSERT)
            (("1" (REPLACE -2)
              (("1" (EXPAND "sq" 1 1)
                (("1" (REWRITE "sqrt_of_sq")
                  (("1" (REWRITE "sin_of_neg90")
                    (("1" (EXPAND "abs") (("1" (ASSERT) NIL NIL)) NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (ASSERT)
            (("2" (REPLACE -1)
              (("2" (EXPAND "sq" 2 1)
                (("2" (REWRITE "sqrt_of_sq")
                  (("2" (EXPAND "abs")
                    (("2" (REWRITE "sin_of_90")
                      (("2" (TYPEPRED "x!1")
                        (("2" (REPLACE -1 1)
                          (("2" (EXPAND "sq")
                            (("2" (REWRITE "sq_x_0_IFF_x_0")
                              (("2" (GROUND) NIL NIL)) NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (ASSERT)
        (("2" (CASE "x!1 > 0")
          (("1" (ASSERT)
            (("1" (CASE "y!1 > 0")
              (("1" (ASSERT)
                (("1" (REWRITE "sin_of_sub")
                  (("1" (REWRITE "sin_180")
                    (("1" (REWRITE "cos_180")
                      (("1" (REWRITE "sin_of_arctan")
                        (("1" (ASSERT)
                          (("1" (REWRITE "yx_over_sqrt_1 ")
                            (("1" (GROUND) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (ASSERT)
                (("2" (REWRITE "sin_of_sum")
                  (("2" (REWRITE "sin_180")
                    (("2" (REWRITE "cos_180")
                      (("2" (REWRITE "sin_of_arctan")
                        (("2" (REWRITE "yx_over_sqrt_1")
                          (("2" (GROUND) NIL NIL)) NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (ASSERT)
            (("2" (REWRITE "sin_of_arctan")
              (("2" (REWRITE "yx_over_sqrt_2") (("2" (GROUND) NIL NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|cos_of_radial_angle| "" (SKOSIMP*)
  (("" (EXPAND "radial_func")
    (("" (CASE "x!1 = 0")
      (("1" (ASSERT)
        (("1" (CASE "y!1 > 0")
          (("1" (ASSERT)
            (("1" (REWRITE "cos_of_neg90") (("1" (GROUND) NIL NIL))
              NIL))
            NIL)
           ("2" (ASSERT)
            (("2" (REWRITE "cos_of_90") (("2" (GROUND) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL)
       ("2" (CASE "x!1 > 0")
        (("1" (ASSERT)
          (("1" (CASE "y!1 > 0")
            (("1" (ASSERT)
              (("1" (REWRITE "cos_of_sub")
                (("1" (REWRITE "cos_180")
                  (("1" (REWRITE "sin_180")
                    (("1" (REWRITE "cos_of_arctan")
                      (("1" (REWRITE "one_over_sqrt_3 ")
                        (("1" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (ASSERT)
              (("2" (REWRITE "cos_of_sum")
                (("2" (REWRITE "cos_180")
                  (("2" (REWRITE "sin_180")
                    (("2" (REWRITE "cos_of_arctan")
                      (("2" (REWRITE "one_over_sqrt_3 ")
                        (("2" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL)
         ("2" (ASSERT)
          (("2" (REWRITE "cos_of_arctan")
            (("2" (REWRITE "one_over_sqrt_4 ") (("2" (GROUND) NIL NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|after_rotation_of_radial_y_eq| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "rot")
        (("" (CASE "x(s1!1) > 0")
          (("1" (ASSERT)
            (("1" (REWRITE "sin_of_sub")
              (("1" (CASE-REPLACE "x(s2!1) > 0")
                (("1" (REWRITE "sin_of_sub")
                  (("1" (REWRITE "cos_of_radial_angle")
                    (("1" (REWRITE "sin_of_radial_angle")
                      (("1" (REWRITE "sin_of_arctan")
                        (("1" (REWRITE "sin_of_arctan")
                          (("1" (REWRITE "cos_of_arctan")
                            (("1" (REWRITE "cos_of_arctan")
                              (("1"
                                (CASE-REPLACE
                                 "sqrt(sq(x(s1!1)) + sq(y(s1!1))) *       (y(s1!1) / x(s1!1) / (sqrt(1 + sq(y(s1!1) / x(s1!1)))) *         (-(x(s1!1) - x(s2!1)) /           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))         -         1 / (sqrt(1 + sq(y(s1!1) / x(s1!1)))) *          (-(y(s1!1) - y(s2!1)) /            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))          =          sqrt(sq(x(s1!1)) + sq(y(s1!1))) *       ((y(s1!1) / x(s1!1)) * (1 / (sqrt(1 + sq(y(s1!1) / x(s1!1))))) *         (-(x(s1!1) - x(s2!1)) /           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))         -         1 / (sqrt(1 + sq(y(s1!1) / x(s1!1)))) *          (-(y(s1!1) - y(s2!1)) /            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))")
                                (("1"
                                  (DELETE -1)
                                  (("1"
                                    (CASE-REPLACE
                                     "sqrt(sq(x(s2!1)) + sq(y(s2!1))) *        (y(s2!1) / x(s2!1) / (sqrt(1 + sq(y(s2!1) / x(s2!1)))) *          (-(x(s1!1) - x(s2!1)) /            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))          -          1 / (sqrt(1 + sq(y(s2!1) / x(s2!1)))) *           (-(y(s1!1) - y(s2!1)) /             sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))          =          sqrt(sq(x(s2!1)) + sq(y(s2!1))) *        ((y(s2!1) / x(s2!1)) * (1 / (sqrt(1 + sq(y(s2!1) / x(s2!1))))) *          (-(x(s1!1) - x(s2!1)) /            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))          -          1 / (sqrt(1 + sq(y(s2!1) / x(s2!1)))) *           (-(y(s1!1) - y(s2!1)) /             sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))")
                                    (("1"
                                      (DELETE -1)
                                      (("1"
                                        (REWRITE "one_over_sqrt_3")
                                        (("1"
                                          (REWRITE "one_over_sqrt_3")
                                          (("1" (GROUND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL)
                                     ("2" (GROUND) NIL NIL)
                                     ("3"
                                      (DELETE 3)
                                      (("3"
                                        (EXPAND "distance")
                                        (("3" (ASSERT) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2" (ASSERT) NIL NIL)
                                 ("3"
                                  (GROUND)
                                  (("3"
                                    (EXPAND "distance")
                                    (("3" (PROPAX) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (EXPAND "distance")
                        (("2" (REWRITE "sqrt_0_x_0") NIL NIL)) NIL))
                      NIL)
                     ("2" (EXPAND "distance")
                      (("2" (REWRITE "sqrt_0_x_0") NIL NIL)) NIL))
                    NIL))
                  NIL)
                 ("2" (ASSERT)
                  (("2" (REWRITE "sin_of_sub")
                    (("2" (REWRITE "sin_of_sub")
                      (("2" (REWRITE "cos_of_sub")
                        (("2" (LEMMA "cos_of_180")
                          (("2" (INST -1 "0")
                            (("2" (LEMMA "sin_of_0_180")
                              (("2"
                                (FLATTEN -1)
                                (("2"
                                  (REPLACE*)
                                  (("2"
                                    (ASSERT)
                                    (("2"
                                      (REWRITE "sin_of_arctan")
                                      (("2"
                                        (REWRITE "cos_of_arctan")
                                        (("2"
                                          (REWRITE
                                           "cos_of_radial_angle")
                                          (("1"
                                            (REWRITE
                                             "sin_of_radial_angle")
                                            (("1"
                                              (REWRITE "cos_of_arctan")
                                              (("1"
                                                (REWRITE
                                                 "sin_of_arctan")
                                                (("1"
                                                  (CASE-REPLACE
                                                   "1 / (sqrt(1 + sq(y(s2!1) / x(s2!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s2!1)) + sq(y(s2!1)))
        -
        -(x(s1!1) - x(s2!1)) /
         sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))
         * (y(s2!1) / x(s2!1) / (sqrt(1 + sq(y(s2!1) / x(s2!1)))))
         * sqrt(sq(x(s2!1)) + sq(y(s2!1)))
         =
         1 / (sqrt(1 + sq(y(s2!1) / x(s2!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s2!1)) + sq(y(s2!1)))
        -
        -(x(s1!1) - x(s2!1)) /
         sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))
         * ((y(s2!1) / x(s2!1)) * (1 / (sqrt(1 + sq(y(s2!1) / x(s2!1))))))
         * sqrt(sq(x(s2!1)) + sq(y(s2!1)))")
                                                  (("1"
                                                    (DELETE -1)
                                                    (("1"
                                                      (CASE-REPLACE
                                                       "-(x(s1!1) - x(s2!1)) /
       sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))
       * (y(s1!1) / x(s1!1) / (sqrt(1 + sq(y(s1!1) / x(s1!1)))))
       * sqrt(sq(x(s1!1)) + sq(y(s1!1)))
       -
       1 / (sqrt(1 + sq(y(s1!1) / x(s1!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s1!1)) + sq(y(s1!1))) 
       =
       -(x(s1!1) - x(s2!1)) /
       sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))
       * ((y(s1!1) / x(s1!1)) * (1 / (sqrt(1 + sq(y(s1!1) / x(s1!1))))))
       * sqrt(sq(x(s1!1)) + sq(y(s1!1)))
       -
       1 / (sqrt(1 + sq(y(s1!1) / x(s1!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s1!1)) + sq(y(s1!1)))")
                                                      (("1"
                                                        (DELETE -1)
                                                        (("1"
                                                          (REWRITE
                                                           "one_over_sqrt_3")
                                                          (("1"
                                                            (REWRITE
                                                             "one_over_sqrt_4")
                                                            (("1"
                                                              (GROUND)
                                                              NIL
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL)
                                                       ("3"
                                                        (EXPAND
                                                         "distance")
                                                        (("3"
                                                          (ASSERT)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("3"
                                                    (EXPAND "distance")
                                                    (("3"
                                                      (ASSERT)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "distance")
                                              (("2"
                                                (REWRITE "sqrt_0_x_0")
                                                NIL
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (EXPAND "distance")
                                            (("2"
                                              (REWRITE "sqrt_0_x_0")
                                              NIL
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (CASE "x(s2!1) > 0")
            (("1" (ASSERT)
              (("1" (REWRITE "sin_of_sub")
                (("1" (REWRITE "sin_of_sub")
                  (("1" (REWRITE "sin_of_sub")
                    (("1" (REWRITE "cos_of_sub")
                      (("1" (LEMMA "sin_of_0_180")
                        (("1" (FLATTEN -1)
                          (("1" (LEMMA "cos_of_180")
                            (("1" (INST -1 "0")
                              (("1"
                                (REPLACE*)
                                (("1"
                                  (ASSERT)
                                  (("1"
                                    (REWRITE "cos_of_arctan")
                                    (("1"
                                      (REWRITE "cos_of_arctan")
                                      (("1"
                                        (REWRITE "cos_of_radial_angle")
                                        (("1"
                                          (REWRITE
                                           "sin_of_radial_angle")
                                          (("1"
                                            (REWRITE "sin_of_arctan")
                                            (("1"
                                              (REWRITE "sin_of_arctan")
                                              (("1"
                                                (REWRITE
                                                 "yx_over_sqrt_2")
                                                (("1"
                                                  (REWRITE
                                                   "yx_over_sqrt_1")
                                                  (("1"
                                                    (REWRITE
                                                     "one_over_sqrt_4")
                                                    (("1"
                                                      (REWRITE
                                                       "one_over_sqrt_3")
                                                      (("1"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (EXPAND "distance")
                                            (("2"
                                              (REWRITE "sqrt_0_x_0")
                                              NIL
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2"
                                          (EXPAND "distance")
                                          (("2"
                                            (REWRITE "sqrt_0_x_0")
                                            NIL
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (ASSERT)
              (("2" (REWRITE "sin_of_sub")
                (("2" (REWRITE "sin_of_sub")
                  (("2" (REWRITE "sin_of_sub")
                    (("2" (REWRITE "sin_of_sub")
                      (("2" (REWRITE "cos_of_sub")
                        (("2" (REWRITE "cos_of_sub")
                          (("2" (REWRITE "cos_180")
                            (("2" (REWRITE "sin_180")
                              (("2"
                                (ASSERT)
                                (("2"
                                  (REWRITE "cos_of_arctan")
                                  (("2"
                                    (REWRITE "cos_of_arctan")
                                    (("2"
                                      (REWRITE "sin_of_arctan")
                                      (("2"
                                        (REWRITE "sin_of_arctan")
                                        (("2"
                                          (REWRITE
                                           "sin_of_radial_angle")
                                          (("1"
                                            (REWRITE
                                             "cos_of_radial_angle")
                                            (("1"
                                              (REWRITE
                                               "yx_over_sqrt_2")
                                              (("1"
                                                (REWRITE
                                                 "yx_over_sqrt_2")
                                                (("1"
                                                  (REWRITE
                                                   "one_over_sqrt_4")
                                                  (("1"
                                                    (REWRITE
                                                     "one_over_sqrt_4")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "distance")
                                              (("2"
                                                (REWRITE "sqrt_0_x_0")
                                                NIL
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (EXPAND "distance")
                                            (("2"
                                              (REWRITE "sqrt_0_x_0")
                                              NIL
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|x_evader_gt_x_int_after_radial_rotation| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "rot")
        (("" (CASE "x(s2!1) > 0")
          (("1" (CASE "x(s1!1) > 0")
            (("1" (ASSERT)
              (("1" (REWRITE "cos_of_sub")
                (("1" (REWRITE "cos_of_sub")
                  (("1" (REWRITE "cos_of_arctan")
                    (("1" (REWRITE "cos_of_arctan")
                      (("1" (REWRITE "cos_of_radial_angle")
                        (("1" (REWRITE "sin_of_arctan")
                          (("1" (REWRITE "sin_of_arctan")
                            (("1" (REWRITE "sin_of_radial_angle")
                              (("1"
                                (REWRITE "one_over_sqrt_3")
                                (("1"
                                  (REWRITE "one_over_sqrt_3")
                                  (("1"
                                    (REWRITE "yx_over_sqrt_1")
                                    (("1"
                                      (REWRITE "yx_over_sqrt_1")
                                      (("1"
                                        (GROUND)
                                        (("1"
                                          (CASE-REPLACE
                                           "x(s2!1) * sqrt(sq(x(s2!1)) + sq(y(s2!1))) *       (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1))))       *       (-(x(s1!1) - x(s2!1)) /         sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))       +       y(s2!1) * sqrt(sq(x(s2!1)) + sq(y(s2!1))) *        (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1))))        *        (-(y(s1!1) - y(s2!1)) /          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))        =        (x(s2!1) * (-(x(s1!1) - x(s2!1))) +        y(s2!1) * (-(y(s1!1) - y(s2!1)))) /          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                          (("1"
                                            (DELETE -1)
                                            (("1"
                                              (CASE-REPLACE
                                               "x(s1!1) * sqrt(sq(x(s1!1)) + sq(y(s1!1))) *        (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1))))        *        (-(x(s1!1) - x(s2!1)) /          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))        +        y(s1!1) * sqrt(sq(x(s1!1)) + sq(y(s1!1))) *         (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1))))         *         (-(y(s1!1) - y(s2!1)) /           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))        =        (x(s1!1) * (-(x(s1!1) - x(s2!1)))         +        y(s1!1) * (-(y(s1!1) - y(s2!1)))) /           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                              (("1"
                                                (DELETE -1)
                                                (("1"
                                                  (REWRITE
                                                   "both_sides_div_pos_gt1")
                                                  (("1"
                                                    (CASE
                                                     "x(s1!1) /= x(s2!1)")
                                                    (("1"
                                                      (LEMMA
                                                       "inequality_on_x")
                                                      (("1"
                                                        (INST?)
                                                        (("1"
                                                          (LEMMA
                                                           "x_ge")
                                                          (("1"
                                                            (INST
                                                             -1
                                                             "y(s1!1)"
                                                             "y(s2!1)")
                                                            (("1"
                                                              (GROUND)
                                                              NIL
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (SKOSIMP*)
                                                      (("2"
                                                        (REPLACE -1)
                                                        (("2"
                                                          (GROUND)
                                                          (("2"
                                                            (REWRITE
                                                             "zero_is_neg_zero")
                                                            (("2"
                                                              (ASSERT)
                                                              (("2"
                                                                (EXPAND
                                                                 "distance")
                                                                (("2"
                                                                  (REPLACE

                                                                   -1
                                                                   3)
                                                                  (("2"
                                                                    (ASSERT)
                                                                    (("2"
                                                                      (EXPAND
                                                                       "sq"
                                                                       3
                                                                       1)
                                                                      (("2"
                                                                        (REWRITE
                                                                         "sqrt_of_sq")
                                                                        (("2"
                                                                          (EXPAND
                                                                           "abs")
                                                                          (("2"
                                                                            (REWRITE
                                                                             "inequality_on_x")
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "distance")
                                                    (("2"
                                                      (ASSERT)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL)
                                               ("2" (GROUND) NIL NIL)
                                               ("3"
                                                (EXPAND "distance")
                                                (("3"
                                                  (ASSERT)
                                                  NIL
                                                  NIL))
                                                NIL)
                                               ("4"
                                                (REWRITE
                                                 "sqrt_of_magnitud_not_0")
                                                NIL
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2" (GROUND) NIL NIL)
                                           ("3"
                                            (EXPAND "distance")
                                            (("3" (ASSERT) NIL NIL))
                                            NIL)
                                           ("4"
                                            (REWRITE
                                             "sqrt_of_magnitud_not_0")
                                            NIL
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "distance")
                                (("2" (REWRITE "sqrt_0_x_0") NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (EXPAND "distance")
                          (("2" (REWRITE "sqrt_0_x_0") NIL NIL)) NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (ASSERT)
              (("2" (REWRITE "cos_of_sub")
                (("2" (REWRITE "cos_of_sub")
                  (("2" (REWRITE "cos_of_sub")
                    (("2" (REWRITE "sin_of_sub")
                      (("2" (REWRITE "sin_180")
                        (("2" (REWRITE "cos_180")
                          (("2" (ASSERT)
                            (("2" (REWRITE "cos_of_arctan")
                              (("2"
                                (REWRITE "cos_of_arctan")
                                (("2"
                                  (REWRITE "sin_of_arctan")
                                  (("2"
                                    (REWRITE "sin_of_arctan")
                                    (("2"
                                      (REWRITE "cos_of_radial_angle")
                                      (("1"
                                        (REWRITE "sin_of_radial_angle")
                                        (("1"
                                          (LEMMA "one_over_sqrt_3")
                                          (("1"
                                            (INST?)
                                            (("1"
                                              (ASSERT)
                                              (("1"
                                                (REPLACE -1 5)
                                                (("1"
                                                  (DELETE -1)
                                                  (("1"
                                                    (LEMMA
                                                     "one_over_sqrt_4")
                                                    (("1"
                                                      (INST
                                                       -1
                                                       "x(s1!1)"
                                                       "y(s1!1)")
                                                      (("1"
                                                        (ASSERT)
                                                        (("1"
                                                          (REPLACE

                                                           -1
                                                           5)
                                                          (("1"
                                                            (DELETE -1)
                                                            (("1"
                                                              (REWRITE
                                                               "yx_over_sqrt_1")
                                                              (("1"
                                                                (LEMMA
                                                                 "yx_over_sqrt_2")
                                                                (("1"
                                                                  (INST
                                                                   -1
                                                                   "x(s1!1)"
                                                                   "y(s1!1)")
                                                                  (("1"
                                                                    (GROUND)
                                                                    (("1"
                                                                      (REPLACE

                                                                       -1
                                                                       5)
                                                                      (("1"
                                                                        (DELETE

                                                                         -1)
                                                                        (("1"
                                                                          (CASE-REPLACE
                                                                           "x(s2!1) * sqrt(sq(x(s2!1)) + sq(y(s2!1))) *
       (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1))))
       *
       (-(x(s1!1) - x(s2!1)) /
         sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
       +
       y(s2!1) * sqrt(sq(x(s2!1)) + sq(y(s2!1))) *
        (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1))))
        *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        =
        (x(s2!1) * (-(x(s1!1) - x(s2!1))) +
         y(s2!1) * (-(y(s1!1) - y(s2!1))))
          /sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                                          (("1"
                                                                            (DELETE

                                                                             -1)
                                                                            (("1"
                                                                              (CASE-REPLACE
                                                                               " -1 *
        (sqrt(sq(x(s1!1)) + sq(y(s1!1))) *
          (-y(s1!1) * (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1)))))
          *
          (-(y(s1!1) - y(s2!1)) /
            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))
        -
        sqrt(sq(x(s1!1)) + sq(y(s1!1))) *
         (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1))))
         *
         (-(x(s1!1) - x(s2!1)) /
           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
         * -x(s1!1)
         =
          (y(s1!1) * (-(y(s1!1) - y(s2!1))) + x(s1!1) * (-(x(s1!1) - x(s2!1))))/
            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                                              (("1"
                                                                                (REWRITE
                                                                                 "both_sides_div_pos_gt1")
                                                                                (("1"
                                                                                  (LEMMA
                                                                                   "inequality_on_x")
                                                                                  (("1"
                                                                                    (INST?)
                                                                                    (("1"
                                                                                      (LEMMA
                                                                                       "x_ge")
                                                                                      (("1"
                                                                                        (INST
                                                                                         -1
                                                                                         "y(s1!1)"
                                                                                         "y(s2!1)")
                                                                                        (("1"
                                                                                          (GROUND)
                                                                                          NIL
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL)
                                                                                 ("2"
                                                                                  (EXPAND
                                                                                   "distance")
                                                                                  (("2"
                                                                                    (ASSERT)
                                                                                    NIL
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL)
                                                                               ("2"
                                                                                (GROUND)
                                                                                NIL
                                                                                NIL)
                                                                               ("3"
                                                                                (EXPAND
                                                                                 "distance")
                                                                                (("3"
                                                                                  (ASSERT)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL)
                                                                               ("4"
                                                                                (REWRITE
                                                                                 "sqrt_of_magnitud_not_0")
                                                                                NIL
                                                                                NIL))
                                                                              NIL))
                                                                            NIL)
                                                                           ("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL)
                                                                           ("3"
                                                                            (EXPAND
                                                                             "distance")
                                                                            (("3"
                                                                              (ASSERT)
                                                                              NIL
                                                                              NIL))
                                                                            NIL)
                                                                           ("4"
                                                                            (REWRITE
                                                                             "sqrt_of_magnitud_not_0")
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2"
                                          (EXPAND "distance")
                                          (("2"
                                            (REWRITE "sqrt_0_x_0")
                                            NIL
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (EXPAND "distance")
                                        (("2"
                                          (REWRITE "sqrt_0_x_0")
                                          NIL
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (CASE "x(s1!1) > 0")
            (("1" (ASSERT)
              (("1" (REWRITE "cos_of_sub")
                (("1" (REWRITE "cos_of_sub")
                  (("1" (REWRITE "sin_of_sub")
                    (("1" (REWRITE "sin_180")
                      (("1" (REWRITE "cos_180")
                        (("1" (ASSERT)
                          (("1" (REWRITE "cos_of_sub")
                            (("1" (REWRITE "cos_of_arctan")
                              (("1"
                                (REWRITE "cos_of_arctan")
                                (("1"
                                  (REWRITE "sin_of_arctan")
                                  (("1"
                                    (REWRITE "sin_of_arctan")
                                    (("1"
                                      (REWRITE "sin_of_radial_angle")
                                      (("1"
                                        (REWRITE "cos_of_radial_angle")
                                        (("1"
                                          (REWRITE "one_over_sqrt_4")
                                          (("1"
                                            (REWRITE "one_over_sqrt_3")
                                            (("1"
                                              (REWRITE
                                               "yx_over_sqrt_2")
                                              (("1"
                                                (REWRITE
                                                 "yx_over_sqrt_1")
                                                (("1"
                                                  (CASE-REPLACE
                                                   "-1 *
       (-x(s2!1) * (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1)))) *
         (-(x(s1!1) - x(s2!1)) /
           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
         * sqrt(sq(x(s2!1)) + sq(y(s2!1))))
       -
       -y(s2!1) * (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s2!1)) + sq(y(s2!1)))
         =
        (x(s2!1) * (-(x(s1!1) - x(s2!1))) + y(s2!1) * (-(y(s1!1) - y(s2!1))))/
        sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                  (("1"
                                                    (CASE-REPLACE
                                                     "sqrt(sq(x(s1!1)) + sq(y(s1!1))) *
        (x(s1!1) * (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1)))) *
          (-(x(s1!1) - x(s2!1)) /
            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
          +
          y(s1!1) * (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1)))) *
           (-(y(s1!1) - y(s2!1)) /
             sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))))
          =
          (x(s1!1) * (-(x(s1!1) - x(s2!1))) + y(s1!1) * (-(y(s1!1) - y(s2!1))))/
         sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                    (("1"
                                                      (DELETE -1 -2)
                                                      (("1"
                                                        (REWRITE
                                                         "both_sides_div_pos_gt1")
                                                        (("1"
                                                          (LEMMA
                                                           "inequality_on_x")
                                                          (("1"
                                                            (INST?)
                                                            (("1"
                                                              (LEMMA
                                                               "x_ge")
                                                              (("1"
                                                                (INST
                                                                 -1
                                                                 "y(s1!1)"
                                                                 "y(s2!1)")
                                                                (("1"
                                                                  (GROUND)
                                                                  NIL
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL)
                                                         ("2"
                                                          (EXPAND
                                                           "distance")
                                                          (("2"
                                                            (ASSERT)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL)
                                                     ("3"
                                                      (EXPAND
                                                       "distance")
                                                      (("3"
                                                        (ASSERT)
                                                        NIL
                                                        NIL))
                                                      NIL)
                                                     ("4"
                                                      (REWRITE
                                                       "sqrt_of_magnitud_not_0")
                                                      NIL
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("3"
                                                    (EXPAND "distance")
                                                    (("3"
                                                      (ASSERT)
                                                      NIL
                                                      NIL))
                                                    NIL)
                                                   ("4"
                                                    (REWRITE
                                                     "sqrt_of_magnitud_not_0")
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2"
                                          (EXPAND "distance")
                                          (("2"
                                            (REWRITE "sqrt_0_x_0")
                                            NIL
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (EXPAND "distance")
                                        (("2"
                                          (REWRITE "sqrt_0_x_0")
                                          NIL
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (ASSERT)
              (("2" (REWRITE "cos_of_sub")
                (("2" (REWRITE "cos_of_sub")
                  (("2" (REWRITE "cos_of_sub")
                    (("2" (REWRITE "cos_of_sub")
                      (("2" (REWRITE "sin_of_sub")
                        (("2" (REWRITE "sin_of_sub")
                          (("2" (REWRITE "sin_180")
                            (("2" (REWRITE "cos_180")
                              (("2"
                                (ASSERT)
                                (("2"
                                  (REWRITE "cos_of_arctan")
                                  (("2"
                                    (REWRITE "cos_of_arctan")
                                    (("2"
                                      (REWRITE "sin_of_arctan")
                                      (("2"
                                        (REWRITE "sin_of_arctan")
                                        (("2"
                                          (REWRITE
                                           "sin_of_radial_angle")
                                          (("1"
                                            (REWRITE
                                             "cos_of_radial_angle")
                                            (("1"
                                              (REWRITE
                                               "one_over_sqrt_4")
                                              (("1"
                                                (REWRITE
                                                 "one_over_sqrt_4")
                                                (("1"
                                                  (REWRITE
                                                   "yx_over_sqrt_2")
                                                  (("1"
                                                    (REWRITE
                                                     "yx_over_sqrt_2")
                                                    (("1"
                                                      (CASE-REPLACE
                                                       "-1 *
       (-x(s2!1) * (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1)))) *
         (-(x(s1!1) - x(s2!1)) /
           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
         * sqrt(sq(x(s2!1)) + sq(y(s2!1))))
       -
       -y(s2!1) * (1 / sqrt(sq(x(s2!1)) + sq(y(s2!1)))) *
        (-(y(s1!1) - y(s2!1)) /
          sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
        * sqrt(sq(x(s2!1)) + sq(y(s2!1)))
         =
        (x(s2!1) * (-(x(s1!1) - x(s2!1))) + y(s2!1) * (-(y(s1!1) - y(s2!1))))/
        sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                      (("1"
                                                        (CASE-REPLACE
                                                         "-1 *
        (-x(s1!1) * (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1)))) *
          (-(x(s1!1) - x(s2!1)) /
            sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
          * sqrt(sq(x(s1!1)) + sq(y(s1!1))))
        -
        -y(s1!1) * (1 / sqrt(sq(x(s1!1)) + sq(y(s1!1)))) *
         (-(y(s1!1) - y(s2!1)) /
           sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1))))
         * sqrt(sq(x(s1!1)) + sq(y(s1!1)))
         =
          (x(s1!1) * (-(x(s1!1) - x(s2!1))) +
         y(s1!1) * (-(y(s1!1) - y(s2!1))))
        / sqrt(sq(x(s1!1) - x(s2!1)) + sq(y(s1!1) - y(s2!1)))")
                                                        (("1"
                                                          (DELETE

                                                           -1
                                                           -2)
                                                          (("1"
                                                            (REWRITE
                                                             "both_sides_div_pos_gt1")
                                                            (("1"
                                                              (LEMMA
                                                               "inequality_on_x")
                                                              (("1"
                                                                (INST?)
                                                                (("1"
                                                                  (LEMMA
                                                                   "x_ge")
                                                                  (("1"
                                                                    (INST
                                                                     -1
                                                                     "y(s1!1)"
                                                                     "y(s2!1)")
                                                                    (("1"
                                                                      (GROUND)
                                                                      (("1"
                                                                        (EXPAND
                                                                         "distance")
                                                                        (("1"
                                                                          (REPLACE

                                                                           -1)
                                                                          (("1"
                                                                            (GROUND)
                                                                            (("1"
                                                                              (REWRITE
                                                                               "zero_is_neg_zero")
                                                                              (("1"
                                                                                (ASSERT)
                                                                                (("1"
                                                                                  (EXPAND
                                                                                   "sq"
                                                                                   5
                                                                                   1)
                                                                                  (("1"
                                                                                    (REWRITE
                                                                                     "sqrt_of_sq")
                                                                                    (("1"
                                                                                      (EXPAND
                                                                                       "abs")
                                                                                      (("1"
                                                                                        (REWRITE
                                                                                         "inequality_on_x")
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL)
                                                             ("2"
                                                              (EXPAND
                                                               "distance")
                                                              (("2"
                                                                (ASSERT)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL)
                                                         ("2"
                                                          (GROUND)
                                                          NIL
                                                          NIL)
                                                         ("3"
                                                          (EXPAND
                                                           "distance")
                                                          (("3"
                                                            (ASSERT)
                                                            NIL
                                                            NIL))
                                                          NIL)
                                                         ("4"
                                                          (REWRITE
                                                           "sqrt_of_magnitud_not_0")
                                                          NIL
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL)
                                                       ("3"
                                                        (EXPAND
                                                         "distance")
                                                        (("3"
                                                          (ASSERT)
                                                          NIL
                                                          NIL))
                                                        NIL)
                                                       ("4"
                                                        (REWRITE
                                                         "sqrt_of_magnitud_not_0")
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (EXPAND "distance")
                                              (("2"
                                                (REWRITE "sqrt_0_x_0")
                                                NIL
                                                NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (EXPAND "distance")
                                            (("2"
                                              (REWRITE "sqrt_0_x_0")
                                              NIL
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_radial_distance_2250_dist_0| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "R")
        (("" (EXPAND "dx")
          (("" (EXPAND "dy")
            (("" (EXPAND "distance")
              (("" (REPLACE -2 1)
                (("" (REWRITE "sin_of_radial_angle")
                  (("" (REWRITE "cos_of_radial_angle")
                    (("" (REPLACE -1)
                      (("" (REWRITE "expanded_evader_trajectory")
                        (("" (DELETE -)
                          (("" (ASSERT)
                            (("" (EXPAND "tstep")
                              ((""
                                (REWRITE "intruderSpeeddef")
                                ((""
                                  (REWRITE "evaderSpeeddef")
                                  ((""
                                    (ASSERT)
                                    ((""
                                      (REWRITE "sqrt_0_x_0 ")
                                      ((""
                                        (CASE
                                         "forall (x,y:nonneg_real): x+y = 0 IFF x=0 and y=0")
                                        (("1"
                                          (INST?)
                                          (("1"
                                            (GROUND)
                                            (("1"
                                              (DELETE 2 3)
                                              (("1" (GRIND) NIL NIL))
                                              NIL)
                                             ("2"
                                              (DELETE 2 3)
                                              (("2" (GRIND) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2"
                                          (DELETE 2)
                                          (("2" (GRIND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_radial_distance_2250_plus_c_dist_c| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "R")
        (("" (EXPAND "dx")
          (("" (EXPAND "dy")
            (("" (EXPAND "distance")
              (("" (REPLACE -2 1)
                (("" (REWRITE "sin_of_radial_angle")
                  (("1" (REWRITE "cos_of_radial_angle")
                    (("1" (REPLACE -1)
                      (("1" (REWRITE "expanded_evader_trajectory")
                        (("1" (ASSERT)
                          (("1" (EXPAND "tstep")
                            (("1" (REWRITE "intruderSpeeddef")
                              (("1"
                                (REWRITE "evaderSpeeddef")
                                (("1"
                                  (ASSERT)
                                  (("1"
                                    (CASE-REPLACE
                                     "x(intruder!1) +               2250 *                (-(x(intruder!1) - x(evader!1) - 4500 * (1 / 2)) /                  (2250 + c!1))               - 2250               - x(evader!1) =             x(intruder!1)*((2250 + c!1)/(2250 + c!1)) +             2250 *                (-(x(intruder!1) - x(evader!1) - 4500 * (1 / 2)) /                  (2250 + c!1))                - 2250 * ((2250 + c!1)/(2250 + c!1))               - x(evader!1) * ((2250 + c!1)/(2250 + c!1))")
                                    (("1"
                                      (CASE-REPLACE
                                       "(y(intruder!1) +                 2250 * (-(y(intruder!1) - y(evader!1)) / (2250 + c!1)))                - y(evader!1) =                 y(intruder!1)*((2250 + c!1) / (2250 + c!1)) +                 2250 * (-(y(intruder!1) - y(evader!1)) / (2250 + c!1))                - y(evader!1)*((2250 + c!1) / (2250 + c!1))")
                                      (("1"
                                        (DELETE -1 -2)
                                        (("1"
                                          (NAME-REPLACE
                                           XI
                                           "x(intruder!1)")
                                          (("1"
                                            (NAME-REPLACE
                                             YI
                                             "y(intruder!1)")
                                            (("1"
                                              (NAME-REPLACE
                                               XE
                                               "x(evader!1)")
                                              (("1"
                                                (NAME-REPLACE
                                                 YE
                                                 "y(evader!1)")
                                                (("1"
                                                  (CASE-REPLACE
                                                   "XI * ((2250 + c!1) / (2250 + c!1)) +               2250 * (-(XI - XE - 4500 * (1 / 2)) / (2250 + c!1))               - 2250 * ((2250 + c!1) / (2250 + c!1))               - XE * ((2250 + c!1) / (2250 + c!1)) =             (XI * 2250 + XI * c!1 - 2250 * XI + 2250 * XE + 2250 * 2250             - 2250 * 2250 - 2250 * c!1 - XE * 2250 - XE * c!1)/(2250 + c!1)")
                                                  (("1"
                                                    (CASE-REPLACE
                                                     "YI * ((2250 + c!1) / (2250 + c!1)) +                2250 * (-(YI - YE) / (2250 + c!1))                - YE * ((2250 + c!1) / (2250 + c!1)) =             (YI * 2250 + YI * c!1 - 2250 * YI + 2250 * YE               - YE * 2250 - YE * c!1)/(2250 + c!1)")
                                                    (("1"
                                                      (DELETE -1 -2)
                                                      (("1"
                                                        (GROUND)
                                                        (("1"
                                                          (CASE-REPLACE
                                                           "(YI * c!1 - YE * c!1) / (2250 + c!1) = c!1 * ((YI - YE)/(2250 + c!1))")
                                                          (("1"
                                                            (CASE-REPLACE
                                                             "(-1 * (XE * c!1) - 2250 * c!1 + XI * c!1)/ (2250 + c!1) =                     c!1 * ((XI - 2250 - XE)/(2250 + c!1))")
                                                            (("1"
                                                              (DELETE

                                                               -1
                                                               -2)
                                                              (("1"
                                                                (REWRITE
                                                                 "square_product")
                                                                (("1"
                                                                  (REWRITE
                                                                   "square_product")
                                                                  (("1"
                                                                    (CASE-REPLACE
                                                                     "sq(c!1) * sq(((YI - YE) / (2250 + c!1))) +            sq(c!1) * sq(((-2250 - XE + XI) / (2250 + c!1))) =                     sq(c!1) * (sq(((YI - YE) / (2250 + c!1))) +                 sq(((-2250 - XE + XI) / (2250 + c!1))))")
                                                                    (("1"
                                                                      (REWRITE
                                                                       "sqrt_product")
                                                                      (("1"
                                                                        (REWRITE
                                                                         "sqrt_of_sq")
                                                                        (("1"
                                                                          (DELETE

                                                                           -1)
                                                                          (("1"
                                                                            (REWRITE
                                                                             "sqrt_sides_over_magnitud")
                                                                            (("1"
                                                                              (GROUND)
                                                                              NIL
                                                                              NIL)
                                                                             ("2"
                                                                              (TYPEPRED
                                                                               "c!1")
                                                                              (("2"
                                                                                (EXPAND
                                                                                 "abs")
                                                                                (("2"
                                                                                  (GROUND)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL)
                                                                             ("3"
                                                                              (LEMMA
                                                                               "sqrt_0_x_0")
                                                                              (("3"
                                                                                (INST?)
                                                                                (("3"
                                                                                  (TYPEPRED
                                                                                   "c!1")
                                                                                  (("3"
                                                                                    (EXPAND
                                                                                     "abs")
                                                                                    (("3"
                                                                                      (GROUND)
                                                                                      NIL
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL)
                                                                       ("2"
                                                                        (TYPEPRED
                                                                         "c!1")
                                                                        (("2"
                                                                          (EXPAND
                                                                           "abs")
                                                                          (("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL)
                                                                     ("2"
                                                                      (GROUND)
                                                                      NIL
                                                                      NIL)
                                                                     ("3"
                                                                      (TYPEPRED
                                                                       "c!1")
                                                                      (("3"
                                                                        (EXPAND
                                                                         "abs")
                                                                        (("3"
                                                                          (GROUND)
                                                                          NIL
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL)
                                                                   ("2"
                                                                    (TYPEPRED
                                                                     "c!1")
                                                                    (("2"
                                                                      (EXPAND
                                                                       "abs")
                                                                      (("2"
                                                                        (GROUND)
                                                                        NIL
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL)
                                                                 ("2"
                                                                  (TYPEPRED
                                                                   "c!1")
                                                                  (("2"
                                                                    (EXPAND
                                                                     "abs")
                                                                    (("2"
                                                                      (GROUND)
                                                                      NIL
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL)
                                                             ("2"
                                                              (GROUND)
                                                              NIL
                                                              NIL)
                                                             ("3"
                                                              (TYPEPRED
                                                               "c!1")
                                                              (("3"
                                                                (EXPAND
                                                                 "abs")
                                                                (("3"
                                                                  (GROUND)
                                                                  NIL
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL)
                                                           ("2"
                                                            (GROUND)
                                                            NIL
                                                            NIL)
                                                           ("3"
                                                            (TYPEPRED
                                                             "c!1")
                                                            (("3"
                                                              (EXPAND
                                                               "abs")
                                                              (("3"
                                                                (GROUND)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL)
                                                     ("3"
                                                      (TYPEPRED "c!1")
                                                      (("3"
                                                        (EXPAND "abs")
                                                        (("3"
                                                          (GROUND)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL)
                                                   ("3"
                                                    (TYPEPRED "c!1")
                                                    (("3"
                                                      (EXPAND "abs")
                                                      (("3"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2" (GROUND) NIL NIL)
                                       ("3"
                                        (TYPEPRED "c!1")
                                        (("3"
                                          (TYPEPRED "c!1")
                                          (("3"
                                            (EXPAND "abs")
                                            (("3" (GROUND) NIL NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL)
                                     ("2" (GROUND) NIL NIL)
                                     ("3"
                                      (TYPEPRED "c!1")
                                      (("3"
                                        (EXPAND "abs")
                                        (("3" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (TYPEPRED "c!1")
                      (("2" (EXPAND "abs")
                        (("2" (GROUND)
                          (("2" (TYPEPRED "c!1")
                            (("2" (EXPAND "abs")
                              (("2"
                                (TYPEPRED "c!1")
                                (("2"
                                  (EXPAND "abs")
                                  (("2"
                                    (LEMMA "sqrt_0_x_0")
                                    (("2"
                                      (INST?)
                                      (("2"
                                        (TYPEPRED "c!1")
                                        (("2"
                                          (EXPAND "abs")
                                          (("2" (GROUND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (LEMMA "sqrt_0_x_0")
                    (("2" (INST?)
                      (("2" (TYPEPRED "c!1")
                        (("2" (EXPAND "abs") (("2" (GROUND) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_radial_plus_shift_distance_2250| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "R")
        (("" (EXPAND "dx")
          (("" (EXPAND "dy")
            (("" (REPLACE -2 1)
              (("" (DELETE -2)
                (("" (REWRITE "expanded_evader_trajectory")
                  (("" (ASSERT)
                    (("" (EXPAND "distance")
                      (("" (NAME-REPLACE YI "y(intruder!1)")
                        (("" (NAME-REPLACE YE "y(evader!1)")
                          (("" (NAME-REPLACE XI "x(intruder!1)")
                            (("" (NAME-REPLACE XE "x(evader!1)")
                              ((""
                                (REWRITE "evaderSpeeddef")
                                ((""
                                  (REWRITE "intruderSpeeddef")
                                  ((""
                                    (REWRITE "cos_of_sum")
                                    ((""
                                      (REWRITE "sin_of_sum")
                                      ((""
                                        (REWRITE "cos_of_radial_angle")
                                        ((""
                                          (REWRITE
                                           "sin_of_radial_angle")
                                          ((""
                                            (REPLACE -1 1)
                                            ((""
                                              (EXPAND "tstep")
                                              ((""
                                                (GROUND)
                                                ((""
                                                  (CASE-REPLACE
                                                   "2250 *               (cos(shift!1) * (-(-1 * XE - 4500 * (1 / 2) + XI) / 2250)) =               cos(shift!1) * (XE + 2250 - XI)")
                                                  (("1"
                                                    (CASE-REPLACE
                                                     "2250 * (sin(shift!1) * (-(YI - YE) / 2250)) =             sin(shift!1) * (YE - YI)")
                                                    (("1"
                                                      (CASE-REPLACE
                                                       "2250 * (cos(shift!1) * (-(YI - YE) / 2250)) +                2250 *                 (sin(shift!1) * (-(-1 * XE - 4500 * (1 / 2) + XI) / 2250)) =                  cos(shift!1) * (YE - YI) + sin(shift!1) * (XE + 2250 - XI)")
                                                      (("1"
                                                        (DELETE

                                                         -1
                                                         -2

                                                         -3)
                                                        (("1"
                                                          (CASE-REPLACE
                                                           "cos(shift!1) * (XE + 2250 - XI) - 2250 - XE -               sin(shift!1) * (YE - YI)               + XI =  (1 - cos(shift!1)) * (XI - 2250 - XE) +               sin(shift!1) * (YI - YE)")
                                                          (("1"
                                                            (CASE-REPLACE
                                                             "cos(shift!1) * (YE - YI) + sin(shift!1) * (XE + 2250 - XI) - YE + YI =      (1-cos(shift!1)) * (YI - YE) + sin(shift!1) * (XE + 2250 - XI)")
                                                            (("1"
                                                              (DELETE

                                                               -1
                                                               -2)
                                                              (("1"
                                                                (NAME
                                                                 CT
                                                                 "1 - cos(shift!1)")
                                                                (("1"
                                                                  (NAME
                                                                   XD
                                                                   "XI - 2250 - XE")
                                                                  (("1"
                                                                    (NAME
                                                                     YD
                                                                     "YI - YE")
                                                                    (("1"
                                                                      (EXPAND
                                                                       "sq"
                                                                       1)
                                                                      (("1"
                                                                        (GROUND)
                                                                        (("1"
                                                                          (CASE
                                                                           "forall (x:real): x*x = sq(x)")
                                                                          (("1"
                                                                            (AUTO-REWRITE
                                                                             -1)
                                                                            (("1"
                                                                              (ASSERT)
                                                                              (("1"
                                                                                (CASE-REPLACE
                                                                                 "5062500 + 5062500 * sq(cos(shift!1)) + 5062500 * sq(sin(shift!1)) = 5062500 +                     5062500 * (sq(sin(shift!1)) + sq(cos(shift!1)))")
                                                                                (("1"
                                                                                  (REWRITE
                                                                                   "sin_cos_sq_one")
                                                                                  (("1"
                                                                                    (CASE-REPLACE
                                                                                     "5062500 + 5062500 * 1 + sq(XE) + sq(XI) + sq(YE) + sq(YI) +            9000 * (cos(shift!1) * XI)            + 4500 * (sq(cos(shift!1)) * XE)            + 4500 * (sq(sin(shift!1)) * XE)            - 2 * (cos(shift!1) * XE * XE)            - 2 * (cos(shift!1) * XI * XI)            - 2 * (cos(shift!1) * YE * YE)            - 2 * (cos(shift!1) * YI * YI)            - 2 * (sq(cos(shift!1)) * XE * XI)            - 2 * (sq(cos(shift!1)) * YE * YI)            - 2 * (sq(sin(shift!1)) * XE * XI)            - 2 * (sq(sin(shift!1)) * YE * YI) =            5062500 + 5062500 * 1 + sq(XE) + sq(XI) + sq(YE) + sq(YI) +            9000 * (cos(shift!1) * XI)            + 4500 * (sq(cos(shift!1)) * XE)            + 4500 * (sq(sin(shift!1)) * XE)            - 2 * (cos(shift!1) * XE * XE)            - 2 * (cos(shift!1) * XI * XI)            - 2 * (cos(shift!1) * YE * YE)            - 2 * (cos(shift!1) * YI * YI)            - 2 * (sq(sin(shift!1)) + sq(cos(shift!1))) * XE * XI            - 2 * (sq(sin(shift!1)) + sq(cos(shift!1))) * YE * YI")
                                                                                    (("1"
                                                                                      (REWRITE
                                                                                       "sin_cos_sq_one")
                                                                                      (("1"
                                                                                        (GROUND)
                                                                                        (("1"
                                                                                          (DELETE

                                                                                           -1
                                                                                           -2)
                                                                                          (("1"
                                                                                            (CASE-REPLACE
                                                                                             "10125000 + sq(XE) + sq(XI) + sq(YE) + sq(YI) +            9000 * (cos(shift!1) * XI)            + 4500 * (sq(cos(shift!1)) * XE)            + 4500 * (sq(sin(shift!1)) * XE)            - 2 * (cos(shift!1) * XE * XE)            - 2 * (cos(shift!1) * XI * XI)            - 2 * (cos(shift!1) * YE * YE)            - 2 * (cos(shift!1) * YI * YI)            - 4 * (XE * XI)            - 4 * (YE * YI)            - 4500 * (sq(cos(shift!1)) * XI)            - 4500 * (sq(sin(shift!1)) * XI)            - 4500 * XI            - 9000 * (cos(shift!1) * XE)            - 10125000 * cos(shift!1)            + 4 * (cos(shift!1) * XE * XI)            + 4 * (cos(shift!1) * YE * YI)            + sq(cos(shift!1)) * XE * XE            + sq(cos(shift!1)) * XI * XI            + sq(cos(shift!1)) * YE * YE            + sq(cos(shift!1)) * YI * YI            + sq(sin(shift!1)) * XE * XE            + sq(sin(shift!1)) * XI * XI            + sq(sin(shift!1)) * YE * YE            + sq(sin(shift!1)) * YI * YI            =            10125000 + sq(XE) + sq(XI) + sq(YE) + sq(YI) +            9000 * (cos(shift!1) * XI)            + 4500 * (sq(sin(shift!1)) + sq(cos(shift!1))) * XE            - 2 * (cos(shift!1) * XE * XE)            - 2 * (cos(shift!1) * XI * XI)            - 2 * (cos(shift!1) * YE * YE)            - 2 * (cos(shift!1) * YI * YI)            - 4 * (XE * XI)            - 4 * (YE * YI)            - 4500 * (sq(sin(shift!1)) + sq(cos(shift!1))) * XI            - 4500 * XI            - 9000 * (cos(shift!1) * XE)            - 10125000 * cos(shift!1)            + 4 * (cos(shift!1) * XE * XI)            + 4 * (cos(shift!1) * YE * YI)            + (sq(sin(shift!1)) + sq(cos(shift!1))) * XE * XE            + (sq(sin(shift!1)) + sq(cos(shift!1))) * XI * XI            + (sq(sin(shift!1)) + sq(cos(shift!1))) * YE * YE            + (sq(sin(shift!1)) + sq(cos(shift!1))) * YI * YI")
                                                                                            (("1"
                                                                                              (DELETE

                                                                                               -1)
                                                                                              (("1"
                                                                                                (REWRITE
                                                                                                 "sin_cos_sq_one")
                                                                                                (("1"
                                                                                                  (GROUND)
                                                                                                  (("1"
                                                                                                    (CASE-REPLACE
                                                                                                     "10125000 + 2 * sq(XE)            + 2 * sq(XI) + 2 * sq(YE) + 2 * sq(YI)             + 9000 * (cos(shift!1) * XI)            - 2 * (cos(shift!1) * XE * XE)            - 2 * (cos(shift!1) * XI * XI)            - 2 * (cos(shift!1) * YE * YE)            - 2 * (cos(shift!1) * YI * YI)            - 4 * (XE * XI)            - 4 * (YE * YI)            - 9000 * (cos(shift!1) * XE)            - 9000 * XI            - 10125000 * cos(shift!1)            + 4 * (cos(shift!1) * XE * XI)            + 4 * (cos(shift!1) * YE * YI)            + 9000 * XE =            (1 - cos(shift!1)) * 2 * (             sq(2250) + sq(XE) + sq(XI) + sq(YE) + sq(YI)            - 4500 * XI - 2 * XE * XI - 2 * YE * YI + 4500 * XE)")
                                                                                                    (("1"
                                                                                                      (DELETE

                                                                                                       -1)
                                                                                                      (("1"
                                                                                                        (LEMMA
                                                                                                         "sqrt_product")
                                                                                                        (("1"
                                                                                                          (INST?)
                                                                                                          (("1"
                                                                                                            (REPLACE

                                                                                                             -1
                                                                                                             1)
                                                                                                            (("1"
                                                                                                              (DELETE

                                                                                                               -1)
                                                                                                              (("1"
                                                                                                                (EXPAND
                                                                                                                 "sq")
                                                                                                                (("1"
                                                                                                                  (CASE-REPLACE
                                                                                                                   "20250000 * (1 / 2 * (1 / 2)) + 4500 * (1 / 2 * XE) +            4500 * (1 / 2 * XE)            - XE * XI            - XE * XI            - YE * YI            - YE * YI            - 4500 * (1 / 2 * XI)            - 4500 * (1 / 2 * XI)            + XE * XE            + XI * XI            + YE * YE            + YI * YI =             5062500 - 2 * (XE * XI) - 2 * (YE * YI) - 4500 * XI + XE * XE              + XI * XI              + YE * YE              + YI * YI              + 4500 * XE")
                                                                                                                  (("1"
                                                                                                                    (DELETE

                                                                                                                     -1)
                                                                                                                    (("1"
                                                                                                                      (REPLACE

                                                                                                                       -4
                                                                                                                       1)
                                                                                                                      (("1"
                                                                                                                        (CASE-REPLACE
                                                                                                                         "2 - 2 * cos(shift!1) = 4 * ((1 - cos(shift!1))/2)")
                                                                                                                        (("1"
                                                                                                                          (LEMMA
                                                                                                                           "sqrt_product")
                                                                                                                          (("1"
                                                                                                                            (INST?)
                                                                                                                            (("1"
                                                                                                                              (REPLACE

                                                                                                                               -1
                                                                                                                               1)
                                                                                                                              (("1"
                                                                                                                                (CASE-REPLACE
                                                                                                                                 "sqrt(4) = 2")
                                                                                                                                (("1"
                                                                                                                                  (LEMMA
                                                                                                                                   "sin_of_half_angle ")
                                                                                                                                  (("1"
                                                                                                                                    (INST?)
                                                                                                                                    (("1"
                                                                                                                                      (REPLACE

                                                                                                                                       -1
                                                                                                                                       1)
                                                                                                                                      (("1"
                                                                                                                                        (DELETE

                                                                                                                                         -)
                                                                                                                                        (("1"
                                                                                                                                          (ASSERT)
                                                                                                                                          NIL
                                                                                                                                          NIL))
                                                                                                                                        NIL))
                                                                                                                                      NIL))
                                                                                                                                    NIL))
                                                                                                                                  NIL)
                                                                                                                                 ("2"
                                                                                                                                  (TYPEPRED
                                                                                                                                   "sqrt(4)")
                                                                                                                                  (("2"
                                                                                                                                    (CASE-REPLACE
                                                                                                                                     "4 = sq(2)")
                                                                                                                                    (("1"
                                                                                                                                      (REWRITE
                                                                                                                                       "sqrt_of_sq")
                                                                                                                                      (("1"
                                                                                                                                        (EXPAND
                                                                                                                                         "abs")
                                                                                                                                        (("1"
                                                                                                                                          (PROPAX)
                                                                                                                                          NIL
                                                                                                                                          NIL))
                                                                                                                                        NIL))
                                                                                                                                      NIL)
                                                                                                                                     ("2"
                                                                                                                                      (EXPAND
                                                                                                                                       "sq")
                                                                                                                                      (("2"
                                                                                                                                        (PROPAX)
                                                                                                                                        NIL
                                                                                                                                        NIL))
                                                                                                                                      NIL))
                                                                                                                                    NIL))
                                                                                                                                  NIL))
                                                                                                                                NIL))
                                                                                                                              NIL)
                                                                                                                             ("2"
                                                                                                                              (TYPEPRED
                                                                                                                               "cos(shift!1)")
                                                                                                                              (("2"
                                                                                                                                (EXPAND
                                                                                                                                 "abs")
                                                                                                                                (("2"
                                                                                                                                  (DELETE

                                                                                                                                   -2
                                                                                                                                   -3

                                                                                                                                   -4
                                                                                                                                   -5
                                                                                                                                   -6
                                                                                                                                   2)
                                                                                                                                  (("2"
                                                                                                                                    (GROUND)
                                                                                                                                    NIL
                                                                                                                                    NIL))
                                                                                                                                  NIL))
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL)
                                                                                                                         ("2"
                                                                                                                          (GROUND)
                                                                                                                          NIL
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL)
                                                                                                                   ("2"
                                                                                                                    (DELETE

                                                                                                                     -4
                                                                                                                     2)
                                                                                                                    (("2"
                                                                                                                      (CASE-REPLACE
                                                                                                                       "(1 / 2 * (1 / 2)) = 1/4")
                                                                                                                      (("1"
                                                                                                                        (GROUND)
                                                                                                                        NIL
                                                                                                                        NIL)
                                                                                                                       ("2"
                                                                                                                        (DELETE

                                                                                                                         2)
                                                                                                                        (("2"
                                                                                                                          (GROUND)
                                                                                                                          (("2"
                                                                                                                            (REWRITE
                                                                                                                             "square_divide")
                                                                                                                            (("2"
                                                                                                                              (EXPAND
                                                                                                                               "sq")
                                                                                                                              (("2"
                                                                                                                                (PROPAX)
                                                                                                                                NIL
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL)
                                                                                                           ("2"
                                                                                                            (TYPEPRED
                                                                                                             "cos(shift!1)")
                                                                                                            (("2"
                                                                                                              (EXPAND
                                                                                                               "abs")
                                                                                                              (("2"
                                                                                                                (GROUND)
                                                                                                                NIL
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL)
                                                                                                           ("3"
                                                                                                            (DELETE

                                                                                                             2)
                                                                                                            (("3"
                                                                                                              (CASE-REPLACE
                                                                                                               "sq(2250) + sq(XE) + sq(XI) + sq(YE) + sq(YI) - 2 * (XE * XI) -        2 * (YE * YI)        - 4500 * XI        + 4500 * XE = sq(YI - YE) + sq(XI - 2250 - XE)")
                                                                                                              (("1"
                                                                                                                (DELETE

                                                                                                                 -1)
                                                                                                                (("1"
                                                                                                                  (TYPEPRED
                                                                                                                   "sq(XI - 2250 - XE)")
                                                                                                                  (("1"
                                                                                                                    (TYPEPRED
                                                                                                                     "sq(YI - YE)")
                                                                                                                    (("1"
                                                                                                                      (GROUND)
                                                                                                                      NIL
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL)
                                                                                                               ("2"
                                                                                                                (EXPAND
                                                                                                                 "sq"
                                                                                                                 1)
                                                                                                                (("2"
                                                                                                                  (GROUND)
                                                                                                                  NIL
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL)
                                                                                                     ("2"
                                                                                                      (DELETE

                                                                                                       2)
                                                                                                      (("2"
                                                                                                        (EXPAND
                                                                                                         "sq")
                                                                                                        (("2"
                                                                                                          (PROPAX)
                                                                                                          NIL
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL)
                                                                                             ("2"
                                                                                              (GROUND)
                                                                                              NIL
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("2"
                                                                                      (GROUND)
                                                                                      NIL
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL)
                                                                                 ("2"
                                                                                  (GROUND)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL)
                                                                           ("2"
                                                                            (EXPAND
                                                                             "sq")
                                                                            (("2"
                                                                              (PROPAX)
                                                                              NIL
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL)
                                                             ("2"
                                                              (GROUND)
                                                              NIL
                                                              NIL))
                                                            NIL)
                                                           ("2"
                                                            (GROUND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_radial_plus_shift_distance_2250_plus_c_TCC1| "" (SKOSIMP*)
  (("" (TYPEPRED "c!1")
    (("" (CASE "sq(2250) + 2250 * c!1 >= 0")
      (("1" (TYPEPRED "sq(sin(shift!1 / 2))")
        (("1" (TYPEPRED "sq(c!1)")
          (("1"
            (CASE "(sq(2250) + 2250 * c!1) * 4 * sq(sin(shift!1 / 2)) >= 0")
            (("1" (GROUND) NIL NIL)
             ("2" (DELETE 2)
              (("2" (LEMMA " pos_times_ge")
                (("2"
                  (INST -1 "(sq(2250) + 2250 * c!1) * 4"
                   "sq(sin(shift!1 / 2))")
                  (("2" (GROUND) NIL NIL)) NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (DELETE 2)
        (("2" (EXPAND "sq") (("2" (GROUND) NIL NIL)) NIL)) NIL))
      NIL))
    NIL))
  NIL)
 (|angle_radial_plus_shift_distance_2250_plus_c| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (EXPAND "R")
        (("" (EXPAND "dx")
          (("" (EXPAND "dy")
            (("" (REPLACE -2 1)
              (("" (REWRITE "cos_of_sum")
                (("" (REWRITE "sin_of_sum")
                  (("" (REWRITE "sin_of_radial_angle")
                    (("1" (REWRITE "cos_of_radial_angle")
                      (("1" (EXPAND "distance")
                        (("1" (REPLACE -1 1)
                          (("1"
                            (NAME-REPLACE XE2
                             "x(trajectory(evader!1, zero_bank, 18))")
                            (("1" (TYPEPRED "evader!1")
                              (("1"
                                (REWRITE "expanded_evader_trajectory")
                                (("1"
                                  (ASSERT)
                                  (("1"
                                    (NAME-REPLACE
                                     YD
                                     "y(intruder!1) - y(evader!1)")
                                    (("1"
                                      (NAME-REPLACE
                                       XD
                                       "x(intruder!1) - XE2")
                                      (("1"
                                        (REWRITE "evaderSpeeddef")
                                        (("1"
                                          (GROUND)
                                          (("1"
                                            (REVEAL -3)
                                            (("1"
                                              (REWRITE
                                               "expanded_evader_trajectory")
                                              (("1"
                                                (ASSERT)
                                                (("1"
                                                  (REWRITE
                                                   "evaderSpeeddef")
                                                  (("1"
                                                    (EXPAND "tstep")
                                                    (("1"
                                                      (CASE
                                                       "x(intruder!1) - 2250 - x(evader!1) =              x(intruder!1) - (x(evader!1) + 2250)")
                                                      (("1"
                                                        (REPLACE -1 1)
                                                        (("1"
                                                          (REPLACE

                                                           -2
                                                           1)
                                                          (("1"
                                                            (REVEAL
                                                             -1
                                                             1)
                                                            (("1"
                                                              (REPLACE

                                                               -1
                                                               1)
                                                              (("1"
                                                                (HIDE
                                                                 -1
                                                                 -2
                                                                 -3
                                                                 -4
                                                                 -5
                                                                 -6)
                                                                (("1"
                                                                  (REWRITE
                                                                   "intruderSpeeddef")
                                                                  (("1"
                                                                    (GROUND)
                                                                    (("1"
                                                                      (EXPAND
                                                                       "sq"
                                                                       1)
                                                                      (("1"
                                                                        (GROUND)
                                                                        (("1"
                                                                          (NAME-REPLACE
                                                                           A
                                                                           "shift!1")
                                                                          (("1"
                                                                            (CASE-REPLACE
                                                                             "4500 * ((cos(A) * (-XD / (2250 + c!1))) * XD) -            4500 * ((sin(A) * (-YD / (2250 + c!1))) * XD)            + 4500 * ((cos(A) * (-YD / (2250 + c!1))) * YD)            + 4500 * ((sin(A) * (-XD / (2250 + c!1))) * YD)            +            5062500 *             ((cos(A) * cos(A) * (-XD / (2250 + c!1))) *               (-XD / (2250 + c!1)))            +            5062500 *             ((cos(A) * cos(A) * (-YD / (2250 + c!1))) *               (-YD / (2250 + c!1)))            +            5062500 *             ((sin(A) * sin(A) * (-XD / (2250 + c!1))) *               (-XD / (2250 + c!1)))            +            5062500 *             ((sin(A) * sin(A) * (-YD / (2250 + c!1))) *               (-YD / (2250 + c!1)))            + XD * XD            + YD * YD            =            4500 * ((cos(A) * (-XD / (2250 + c!1))) * XD) -            4500 * ((sin(A) * (-YD / (2250 + c!1))) * XD)            + 4500 * ((cos(A) * (-YD / (2250 + c!1))) * YD)            + 4500 * ((sin(A) * (-XD / (2250 + c!1))) * YD)            +            5062500 *             ((sq(sin(A)) + sq(cos(A))) * (-XD / (2250 + c!1)) *               (-XD / (2250 + c!1)))            +            5062500 *             ((sq(sin(A)) + sq(cos(A))) * (-YD / (2250 + c!1)) *               (-YD / (2250 + c!1)))            + XD * XD            + YD * YD")
                                                                            (("1"
                                                                              (DELETE

                                                                               -1)
                                                                              (("1"
                                                                                (REWRITE
                                                                                 "sin_cos_sq_one")
                                                                                (("1"
                                                                                  (NAME-REPLACE
                                                                                   D11
                                                                                   "2250 + c!1")
                                                                                  (("1"
                                                                                    (CASE-REPLACE
                                                                                     "4500 * ((cos(A) * (-XD / D11)) * XD) -            4500 * ((sin(A) * (-YD / D11)) * XD)            + 4500 * ((cos(A) * (-YD / D11)) * YD)            + 4500 * ((sin(A) * (-XD / D11)) * YD)            + 5062500 * (1 * (-XD / D11) * (-XD / D11))            + 5062500 * (1 * (-YD / D11) * (-YD / D11))            + XD * XD            + YD * YD =            5062500 * ((sq(XD) + sq(YD))/(D11*D11))             - 4500 * ((sin(A) * (-YD / D11)) * XD)            + 4500 * ((cos(A) * (-XD / D11)) * XD)            + 4500 * ((cos(A) * (-YD / D11)) * YD)            + 4500 * ((sin(A) * (-XD / D11)) * YD)            + XD * XD            + YD * YD")
                                                                                    (("1"
                                                                                      (DELETE

                                                                                       -1)
                                                                                      (("1"
                                                                                        (LEMMA
                                                                                         "sq_eq_IFF_eq")
                                                                                        (("1"
                                                                                          (INST
                                                                                           -1
                                                                                           "D11"
                                                                                           "sqrt(sq(XD) + sq(YD))")
                                                                                          (("1"
                                                                                            (GROUND)
                                                                                            (("1"
                                                                                              (REWRITE
                                                                                               "sq_of_sqrt")
                                                                                              (("1"
                                                                                                (REPLACE

                                                                                                 -1
                                                                                                 1)
                                                                                                (("1"
                                                                                                  (EXPAND
                                                                                                   "sq"
                                                                                                   1)
                                                                                                  (("1"
                                                                                                    (CASE-REPLACE
                                                                                                     "D11 * D11 / (D11 * D11) = 1")
                                                                                                    (("1"
                                                                                                      (GROUND)
                                                                                                      (("1"
                                                                                                        (CASE-REPLACE
                                                                                                         "5062500 - 4500 * ((sin(A) * (-YD / D11)) * XD) +            4500 * ((cos(A) * (-XD / D11)) * XD)            + 4500 * ((cos(A) * (-YD / D11)) * YD)            + 4500 * ((sin(A) * (-XD / D11)) * YD)            + XD * XD            + YD * YD =            5062500            + 4500 * ((cos(A) * (-XD / D11)) * XD)            + 4500 * ((cos(A) * (-YD / D11)) * YD)            + XD * XD            + YD * YD")
                                                                                                        (("1"
                                                                                                          (DELETE

                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (CASE-REPLACE
                                                                                                             "5062500 * D11 * D11 / (D11 * D11) +            (D11 / D11) * 4500 * ((cos(A) * (-XD / D11)) * XD)            + (D11 / D11) * 4500 * ((cos(A) * (-YD / D11)) * YD)            + XD * XD * D11 * D11 / (D11 * D11)            + YD * YD * D11 * D11 / (D11 * D11) =            (1/sq(D11)) * (5062500 * D11 * D11  +            D11 * 4500 * (cos(A) * (-XD) * XD)            + D11 * 4500 * (cos(A) * (-YD) * YD)            + XD * XD * D11 * D11             + YD * YD * D11 * D11)")
                                                                                                            (("1"
                                                                                                              (DELETE

                                                                                                               -1)
                                                                                                              (("1"
                                                                                                                (CASE-REPLACE
                                                                                                                 "(1 / sq(D11)) *            (5062500 * D11 * D11 + D11 * 4500 * (cos(A) * (-XD) * XD) +              D11 * 4500 * (cos(A) * (-YD) * YD)              + XD * XD * D11 * D11              + YD * YD * D11 * D11)              =             (1 / (D11 * D11)) *            (5062500 * sq(D11) + D11 * 4500 * (cos(A) * (-XD) * XD) +              D11 * 4500 * (cos(A) * (-YD) * YD)              + XD * XD * D11 * D11              + YD * YD * D11 * D11)")
                                                                                                                (("1"
                                                                                                                  (DELETE

                                                                                                                   -1)
                                                                                                                  (("1"
                                                                                                                    (CASE-REPLACE
                                                                                                                     "(1 / (D11 * D11)) *            (5062500 * sq(D11) + D11 * 4500 * (cos(A) * (-XD) * XD) +              D11 * 4500 * (cos(A) * (-YD) * YD)              + XD * XD * D11 * D11              + YD * YD * D11 * D11)               =              (1 / (D11 * D11)) *              (sq(XD) + sq(YD)) *              (2*sq(2250) + sq(c!1) + 2*2250*c!1               - sq(2250) * 2 * cos(A)                - c!1 * 2 * 2250 * cos(A))")
                                                                                                                    (("1"
                                                                                                                      (DELETE

                                                                                                                       -1)
                                                                                                                      (("1"
                                                                                                                        (REWRITE
                                                                                                                         "sqrt_product")
                                                                                                                        (("1"
                                                                                                                          (CASE-REPLACE
                                                                                                                           "sqrt(sq(XD) * (1 / (D11 * D11)) + sq(YD) * (1 / (D11 * D11))) *       sqrt(2 * sq(2250) + sq(c!1) - 2 * (cos(A) * sq(2250)) -             4500 * (cos(A) * c!1)             + 4500 * c!1) =             sqrt(sq(XD/D11) + sq(YD/D11)) *       sqrt(2 * sq(2250) + sq(c!1) - 2 * (cos(A) * sq(2250)) -             4500 * (cos(A) * c!1)             + 4500 * c!1)")
                                                                                                                          (("1"
                                                                                                                            (DELETE

                                                                                                                             -1)
                                                                                                                            (("1"
                                                                                                                              (REWRITE
                                                                                                                               "sqrt_sides_over_magnitud ")
                                                                                                                              (("1"
                                                                                                                                (CASE-REPLACE
                                                                                                                                 "2 * sq(2250) + sq(c!1) - 2 * (cos(A) * sq(2250)) -             4500 * (cos(A) * c!1)             + 4500 * c!1 =             (sq(2250) + 2250*c!1) * 4 * ((1 - cos(A))/2) + sq(c!1)")
                                                                                                                                (("1"
                                                                                                                                  (DELETE

                                                                                                                                   -1)
                                                                                                                                  (("1"
                                                                                                                                    (LEMMA
                                                                                                                                     "sq_sin_of_half_angle")
                                                                                                                                    (("1"
                                                                                                                                      (INST?)
                                                                                                                                      (("1"
                                                                                                                                        (REPLACE

                                                                                                                                         -1
                                                                                                                                         1

                                                                                                                                         :DIR
                                                                                                                                         RL)
                                                                                                                                        (("1"
                                                                                                                                          (EXPAND
                                                                                                                                           "sq"
                                                                                                                                           1)
                                                                                                                                          (("1"
                                                                                                                                            (ASSERT)
                                                                                                                                            NIL
                                                                                                                                            NIL))
                                                                                                                                          NIL))
                                                                                                                                        NIL))
                                                                                                                                      NIL))
                                                                                                                                    NIL))
                                                                                                                                  NIL)
                                                                                                                                 ("2"
                                                                                                                                  (DELETE

                                                                                                                                   2)
                                                                                                                                  (("2"
                                                                                                                                    (EXPAND
                                                                                                                                     "sq"
                                                                                                                                     1)
                                                                                                                                    (("2"
                                                                                                                                      (GROUND)
                                                                                                                                      NIL
                                                                                                                                      NIL))
                                                                                                                                    NIL))
                                                                                                                                  NIL))
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL)
                                                                                                                           ("2"
                                                                                                                            (DELETE

                                                                                                                             2)
                                                                                                                            (("2"
                                                                                                                              (EXPAND
                                                                                                                               "sq"
                                                                                                                               1)
                                                                                                                              (("2"
                                                                                                                                (GROUND)
                                                                                                                                NIL
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL)
                                                                                                                           ("3"
                                                                                                                            (TYPEPRED
                                                                                                                             "c!1")
                                                                                                                            (("3"
                                                                                                                              (REVEAL
                                                                                                                               -2)
                                                                                                                              (("3"
                                                                                                                                (REPLACE

                                                                                                                                 -1
                                                                                                                                 1

                                                                                                                                 :DIR
                                                                                                                                 RL)
                                                                                                                                (("3"
                                                                                                                                  (GROUND)
                                                                                                                                  NIL
                                                                                                                                  NIL))
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL)
                                                                                                                     ("2"
                                                                                                                      (DELETE

                                                                                                                       2)
                                                                                                                      (("2"
                                                                                                                        (REPLACE

                                                                                                                         -2
                                                                                                                         1

                                                                                                                         :DIR
                                                                                                                         RL)
                                                                                                                        (("2"
                                                                                                                          (REVEAL
                                                                                                                           -2)
                                                                                                                          (("2"
                                                                                                                            (REPLACE

                                                                                                                             -1
                                                                                                                             1

                                                                                                                             :DIR
                                                                                                                             RL)
                                                                                                                            (("2"
                                                                                                                              (EXPAND
                                                                                                                               "sq"
                                                                                                                               1)
                                                                                                                              (("2"
                                                                                                                                (GROUND)
                                                                                                                                NIL
                                                                                                                                NIL))
                                                                                                                              NIL))
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL)
                                                                                                                     ("3"
                                                                                                                      (TYPEPRED
                                                                                                                       "c!1")
                                                                                                                      (("3"
                                                                                                                        (REVEAL
                                                                                                                         -2)
                                                                                                                        (("3"
                                                                                                                          (REPLACE

                                                                                                                           -1
                                                                                                                           1

                                                                                                                           :DIR
                                                                                                                           RL)
                                                                                                                          (("3"
                                                                                                                            (GROUND)
                                                                                                                            NIL
                                                                                                                            NIL))
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL)
                                                                                                                 ("2"
                                                                                                                  (DELETE

                                                                                                                   2)
                                                                                                                  (("2"
                                                                                                                    (EXPAND
                                                                                                                     "sq"
                                                                                                                     1)
                                                                                                                    (("2"
                                                                                                                      (PROPAX)
                                                                                                                      NIL
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL)
                                                                                                                 ("3"
                                                                                                                  (TYPEPRED
                                                                                                                   "c!1")
                                                                                                                  (("3"
                                                                                                                    (REVEAL
                                                                                                                     -2)
                                                                                                                    (("3"
                                                                                                                      (REPLACE

                                                                                                                       -1
                                                                                                                       1

                                                                                                                       :DIR
                                                                                                                       RL)
                                                                                                                      (("3"
                                                                                                                        (GROUND)
                                                                                                                        NIL
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL)
                                                                                                                 ("4"
                                                                                                                  (TYPEPRED
                                                                                                                   "c!1")
                                                                                                                  (("4"
                                                                                                                    (REVEAL
                                                                                                                     -2)
                                                                                                                    (("4"
                                                                                                                      (REPLACE

                                                                                                                       -1
                                                                                                                       1

                                                                                                                       :DIR
                                                                                                                       RL)
                                                                                                                      (("4"
                                                                                                                        (EXPAND
                                                                                                                         "sq"
                                                                                                                         1)
                                                                                                                        (("4"
                                                                                                                          (GROUND)
                                                                                                                          NIL
                                                                                                                          NIL))
                                                                                                                        NIL))
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL)
                                                                                                             ("2"
                                                                                                              (DELETE

                                                                                                               2)
                                                                                                              (("2"
                                                                                                                (EXPAND
                                                                                                                 "sq"
                                                                                                                 1)
                                                                                                                (("2"
                                                                                                                  (GROUND)
                                                                                                                  NIL
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL)
                                                                                                             ("3"
                                                                                                              (TYPEPRED
                                                                                                               "c!1")
                                                                                                              (("3"
                                                                                                                (REVEAL
                                                                                                                 -2)
                                                                                                                (("3"
                                                                                                                  (REPLACE

                                                                                                                   -1
                                                                                                                   1

                                                                                                                   :DIR
                                                                                                                   RL)
                                                                                                                  (("3"
                                                                                                                    (EXPAND
                                                                                                                     "sq"
                                                                                                                     1)
                                                                                                                    (("3"
                                                                                                                      (GROUND)
                                                                                                                      NIL
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL)
                                                                                                             ("4"
                                                                                                              (TYPEPRED
                                                                                                               "c!1")
                                                                                                              (("4"
                                                                                                                (REVEAL
                                                                                                                 -2)
                                                                                                                (("4"
                                                                                                                  (REPLACE

                                                                                                                   -1
                                                                                                                   1

                                                                                                                   :DIR
                                                                                                                   RL)
                                                                                                                  (("4"
                                                                                                                    (GROUND)
                                                                                                                    NIL
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL)
                                                                                                         ("2"
                                                                                                          (DELETE

                                                                                                           2)
                                                                                                          (("2"
                                                                                                            (GROUND)
                                                                                                            NIL
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL)
                                                                                                     ("2"
                                                                                                      (GROUND)
                                                                                                      NIL
                                                                                                      NIL)
                                                                                                     ("3"
                                                                                                      (TYPEPRED
                                                                                                       "c!1")
                                                                                                      (("3"
                                                                                                        (REVEAL
                                                                                                         -2)
                                                                                                        (("3"
                                                                                                          (REPLACE

                                                                                                           -1
                                                                                                           1

                                                                                                           :DIR
                                                                                                           RL)
                                                                                                          (("3"
                                                                                                            (DELETE

                                                                                                             -4
                                                                                                             -5

                                                                                                             -6
                                                                                                             -7
                                                                                                             2)
                                                                                                            (("3"
                                                                                                              (LEMMA
                                                                                                               "sq_x_0_IFF_x_0")
                                                                                                              (("3"
                                                                                                                (INST?)
                                                                                                                (("3"
                                                                                                                  (GROUND)
                                                                                                                  NIL
                                                                                                                  NIL))
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL)
                                                                                           ("2"
                                                                                            (REVEAL
                                                                                             -2)
                                                                                            (("2"
                                                                                              (GROUND)
                                                                                              NIL
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("2"
                                                                                      (DELETE

                                                                                       2)
                                                                                      (("2"
                                                                                        (EXPAND
                                                                                         "sq")
                                                                                        (("2"
                                                                                          (GROUND)
                                                                                          NIL
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("3"
                                                                                      (REVEAL
                                                                                       -1)
                                                                                      (("3"
                                                                                        (LEMMA
                                                                                         "sq_x_0_IFF_x_0")
                                                                                        (("3"
                                                                                          (INST?)
                                                                                          (("3"
                                                                                            (GROUND)
                                                                                            NIL
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("4"
                                                                                      (REVEAL
                                                                                       -1)
                                                                                      (("4"
                                                                                        (GROUND)
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL)
                                                                             ("2"
                                                                              (DELETE

                                                                               2)
                                                                              (("2"
                                                                                (EXPAND
                                                                                 "sq")
                                                                                (("2"
                                                                                  (PROPAX)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (DELETE 2)
                                                        (("2"
                                                          (GROUND)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (EXPAND "distance")
                        (("2" (DELETE 1)
                          (("2" (LEMMA "sqrt_0_x_0")
                            (("2" (INST?) (("2" (GROUND) NIL NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (DELETE 1)
                      (("2" (EXPAND "distance")
                        (("2" (LEMMA "sqrt_0_x_0")
                          (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_le_34_from_radial_imp_alert_range| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (LEMMA "angle_radial_plus_shift_distance_2250_plus_c")
        (("" (INST?)
          (("" (INST -1 "c!1" "shift!1")
            (("" (ASSERT)
              (("" (ASSERT)
                (("" (REPLACE -1 1)
                  (("" (EXPAND "alertRange")
                    (("" (LEMMA "value_range_1")
                      (("" (INST?)
                        (("" (INST -1 "c!1") (("" (ASSERT) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|min_trajecory_distance| "" (SKOSIMP*)
  (("" (LEMMA "shortest_distance")
    (("" (INST?)
      (("" (LEMMA "shortest_distance_phi")
        (("" (INST?)
          (("" (EXPAND "distance" -1 1)
            (("" (REWRITE "x_change_for_pos_35_trajectory_A")
              (("1" (REWRITE "y_change_for_pos_35_trajectory_A")
                (("1" (GROUND)
                  (("1" (EXPAND "sq")
                    (("1" (GROUND)
                      (("1"
                        (CASE-REPLACE
                         "cos(intruder!1`heading) * cos(intruder!1`heading) * C1_pos_A *            C1_pos_A            * intruderSpeed            * intruderSpeed            * tstep            * tstep            +            cos(intruder!1`heading) * cos(intruder!1`heading) * C2_pos_A *             C2_pos_A             * intruderSpeed             * intruderSpeed             * tstep             * tstep            +            sin(intruder!1`heading) * sin(intruder!1`heading) * C1_pos_A *             C1_pos_A             * intruderSpeed             * intruderSpeed             * tstep             * tstep            +            sin(intruder!1`heading) * sin(intruder!1`heading) * C2_pos_A *             C2_pos_A             * intruderSpeed             * intruderSpeed             * tstep             * tstep             = C1_pos_A *            C1_pos_A            * intruderSpeed            * intruderSpeed            * tstep            * tstep + C2_pos_A *             C2_pos_A             * intruderSpeed             * intruderSpeed             * tstep             * tstep")
                        (("1" (DELETE -1)
                          (("1" (LEMMA "distance_of_trajectory_pos35")
                            (("1" (EXPAND "sq")
                              (("1" (GROUND) NIL NIL)) NIL))
                            NIL))
                          NIL)
                         ("2" (DELETE -1 -2 2)
                          (("2"
                            (CASE-REPLACE
                             "cos(intruder!1`heading) * cos(intruder!1`heading) * C1_pos_A *       C1_pos_A       * intruderSpeed       * intruderSpeed       * tstep       * tstep       +       cos(intruder!1`heading) * cos(intruder!1`heading) * C2_pos_A *        C2_pos_A        * intruderSpeed        * intruderSpeed        * tstep        * tstep       +       sin(intruder!1`heading) * sin(intruder!1`heading) * C1_pos_A *        C1_pos_A        * intruderSpeed        * intruderSpeed        * tstep        * tstep       +       sin(intruder!1`heading) * sin(intruder!1`heading) * C2_pos_A *        C2_pos_A        * intruderSpeed        * intruderSpeed        * tstep        * tstep =       (sq(sin(intruder!1`heading)) + sq(cos(intruder!1`heading)))        * C1_pos_A *        C1_pos_A        * intruderSpeed        * intruderSpeed        * tstep        * tstep       +       (sq(sin(intruder!1`heading)) + sq(cos(intruder!1`heading)))        * C2_pos_A *        C2_pos_A        * intruderSpeed        * intruderSpeed        * tstep        * tstep")
                            (("1" (DELETE -1)
                              (("1"
                                (REWRITE "sin_cos_sq_one")
                                (("1" (GROUND) NIL NIL))
                                NIL))
                              NIL)
                             ("2" (EXPAND "sq")
                              (("2" (PROPAX) NIL NIL)) NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
                NIL)
               ("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_gt_2450_no_collision_in_9sec| "" (SKOSIMP*)
  (("" (EXPAND "collision_scenario")
    (("" (EXPAND "collision")
      (("" (EXPAND "collisionRange")
        (("" (LEMMA "absolute_distance")
          (("" (INST -1 "intruder!1" "df!1" "18")
            (("" (LEMMA "triangle_distance")
              ((""
                (INST -1 "intruder!1"
                 "trajectory(evader!1, zero_bank, 18)"
                 "trajectory(intruder!1, df!1, 18)")
                (("" (EXPAND "tstep")
                  (("" (TYPEPRED "intruder!1")
                    (("" (REPLACE -1)
                      (("" (REWRITE "intruderSpeeddef")
                        (("" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_lt_1925_no_collision_in_9sec| ""
  (SKOLEM 1 ("df" "evader" "intruder"))
  (("" (EXPAND "collision_scenario")
    (("" (EXPAND "collision")
      (("" (LEMMA "min_trajecory_distance")
        (("" (INST -1 "df" "intruder")
          (("" (EXPAND "collisionRange")
            (("" (LEMMA "triangle_distance")
              ((""
                (INST -1 "intruder" "trajectory(intruder, df, 18)"
                 "trajectory(evader, zero_bank,18)")
                (("" (GROUND)
                  ((""
                    (CASE "distance(trajectory(evader, zero_bank,18), trajectory(intruder, df, 18)) = distance(trajectory(intruder, df,18),  trajectory(evader, zero_bank, 18))")
                    (("1" (REPLACE -1 -2) (("1" (GROUND) NIL NIL)) NIL)
                     ("2" (EXPAND "distance" 1)
                      (("2" (EXPAND "sq") (("2" (PROPAX) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|collision_scenario_imp_angle_lt_34_from_radial_e| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      ((""
        (LEMMA
         "intruder_and_evader_on_y_collision_imp_heading_le_34_e")
        (("" (BETA)
          ((""
            (INST -1 "df!1"
             "trans(rot(trans(intruder!1,x(intruder!1)-10000,0),radial_func(y(intruder!1) - y(trajectory(evader!1, zero_bank, 18)),                    x(intruder!1) - x(trajectory(evader!1, zero_bank, 18)))),0,y(rot(trans(intruder!1,x(intruder!1)-10000,0),radial_func(y(intruder!1) - y(trajectory(evader!1, zero_bank, 18)),                    x(intruder!1) - x(trajectory(evader!1, zero_bank, 18))))))"
             "trans(rot(trans(evader!1,x(intruder!1)-10000,0),radial_func(y(intruder!1) - y(trajectory(evader!1, zero_bank, 18)),    x(intruder!1) - x(trajectory(evader!1, zero_bank, 18)))),0,y(rot(trans(intruder!1,x(intruder!1)-10000,0),radial_func(y(intruder!1) - y(trajectory(evader!1, zero_bank, 18)),                    x(intruder!1) - x(trajectory(evader!1, zero_bank, 18))))))")
            (("1" (GROUND)
              (("1" (SKOSIMP*)
                (("1" (INST 1 "j!1")
                  (("1" (EXPAND "trans")
                    (("1" (EXPAND "rot") (("1" (GROUND) NIL NIL)) NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (EXPAND "trans" 1 1) (("2" (PROPAX) NIL NIL)) NIL)
               ("3" (REWRITE "trans_before_after_traj_eq ")
                (("1" (REWRITE "rot_before_after_traj_eq ")
                  (("1" (LEMMA "after_rotation_of_radial_y_eq ")
                    (("1"
                      (INST -1
                       "trans(intruder!1,x(intruder!1) - 10000, 0)"
                       "trans(trajectory(evader!1, zero_bank, 18),x(intruder!1) - 10000, 0)")
                      (("1" (BETA)
                        (("1" (REWRITE "trans_before_after_traj_eq ")
                          (("1" (EXPAND "trans")
                            (("1" (GROUND)
                              (("1"
                                (LEMMA "trans_10k_not_0_rev")
                                (("1"
                                  (INST?)
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (EXPAND "trans")
                                      (("1" (PROPAX) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL)
                               ("2"
                                (EXPAND "distance")
                                (("2" (GROUND) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (SKOSIMP*)
                    (("2" (LEMMA "trans_10k_not_0 ")
                      (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL)) NIL)
                 ("3" (REWRITE "trans_10k_evader_not_0 ") NIL NIL))
                NIL)
               ("4" (REWRITE "trans_before_after_traj_eq ")
                (("1" (REWRITE "rot_before_after_traj_eq ")
                  (("1" (REWRITE "trans_before_after_traj_eq ")
                    (("1" (REWRITE "distance_eq_over_translation ")
                      (("1" (REWRITE "distance_eq_over_rotation ")
                        (("1" (REWRITE "distance_eq_over_translation ")
                          NIL NIL)
                         ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL))
                          NIL)
                         ("3" (REWRITE "trans_10k_not_0_rev") NIL NIL))
                        NIL)
                       ("2" (REWRITE "trans_10k_not_0_rev") NIL NIL)
                       ("3" (EXPAND "trans") (("3" (ASSERT) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (SKOSIMP*)
                    (("2" (LEMMA "trans_10k_not_0")
                      (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL)) NIL)
                 ("3" (REWRITE "trans_10k_evader_not_0 ") NIL NIL))
                NIL)
               ("5" (REWRITE "trans_before_after_traj_eq ")
                (("1" (REWRITE "rot_before_after_traj_eq ")
                  (("1" (REWRITE "trans_before_after_traj_eq ")
                    (("1" (REWRITE "distance_eq_over_translation ")
                      (("1" (REWRITE "distance_eq_over_rotation ")
                        (("1" (REWRITE "distance_eq_over_translation ")
                          NIL NIL)
                         ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL))
                          NIL)
                         ("3" (REWRITE "trans_10k_not_0_rev") NIL NIL))
                        NIL)
                       ("2" (REWRITE "trans_10k_not_0_rev") NIL NIL)
                       ("3" (EXPAND "trans") (("3" (ASSERT) NIL NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("2" (SKOSIMP*)
                    (("2" (LEMMA "trans_10k_not_0")
                      (("2" (INST?) (("2" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL)) NIL)
                 ("3" (REWRITE "trans_10k_evader_not_0 ") NIL NIL))
                NIL)
               ("6"
                (REWRITE
                 "collision_scenario_equivalent_over_translation ")
                (("1"
                  (REWRITE
                   "collision_scenario_equivalent_over_rotation")
                  (("1"
                    (REWRITE
                     "collision_scenario_equivalent_over_translation ")
                    NIL NIL)
                   ("2" (DELETE 2 3)
                    (("2" (SKOSIMP*)
                      (("2" (REWRITE "trans_before_after_traj_eq ")
                        (("2" (EXPAND "trans")
                          (("2" (TYPEPRED "n2!1")
                            (("2" (LEMMA "absolute_distance")
                              (("2"
                                (INST?)
                                (("2"
                                  (EXPAND "distance")
                                  (("2"
                                    (CASE-REPLACE
                                     "v(intruder!1) * n2!1 * tstep = sqrt(sq(v(intruder!1) * n2!1 * tstep))")
                                    (("1"
                                      (REWRITE "sqrt_monotone")
                                      (("1"
                                        (CASE
                                         "sq(x(intruder!1) - x(trajectory(intruder!1, df!1, n2!1))) <= sq(v(intruder!1) * n2!1 * tstep)")
                                        (("1"
                                          (DELETE -2 -3)
                                          (("1"
                                            (REWRITE "sq_monotone")
                                            (("1"
                                              (TYPEPRED "intruder!1")
                                              (("1"
                                                (REPLACE -1 :HIDE? T)
                                                (("1"
                                                  (REWRITE
                                                   "intruderSpeeddef")
                                                  (("1"
                                                    (EXPAND "tstep")
                                                    (("1"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (TYPEPRED "intruder!1")
                                              (("2"
                                                (REWRITE
                                                 "intruderSpeeddef")
                                                (("2"
                                                  (EXPAND "tstep")
                                                  (("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2" (GROUND) NIL NIL))
                                        NIL))
                                      NIL)
                                     ("2"
                                      (REWRITE "sqrt_of_sq")
                                      (("2"
                                        (EXPAND "tstep")
                                        (("2"
                                          (TYPEPRED "intruder!1")
                                          (("2"
                                            (REWRITE
                                             "intruderSpeeddef")
                                            (("2"
                                              (EXPAND "abs")
                                              (("2" (PROPAX) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL)
                   ("3" (SKOSIMP*)
                    (("3" (LEMMA "trans_10k_not_0")
                      (("3" (INST?) (("3" (ASSERT) NIL NIL)) NIL))
                      NIL))
                    NIL)
                   ("4" (EXPAND "trans")
                    (("4" (TYPEPRED "intruder!1")
                      (("4" (PROPAX) NIL NIL)) NIL))
                    NIL)
                   ("5" (TYPEPRED "evader!1")
                    (("5" (EXPAND "trans") (("5" (PROPAX) NIL NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (TYPEPRED "intruder!1")
                  (("2" (EXPAND "trans")
                    (("2" (EXPAND "rot") (("2" (PROPAX) NIL NIL)) NIL))
                    NIL))
                  NIL)
                 ("3" (EXPAND "trans") (("3" (ASSERT) NIL NIL)) NIL)
                 ("4" (TYPEPRED "evader!1")
                  (("4" (EXPAND "trans")
                    (("4" (EXPAND "rot") (("4" (PROPAX) NIL NIL)) NIL))
                    NIL))
                  NIL)
                 ("5" (REWRITE "trans_10k_evader_not_0 ") NIL NIL))
                NIL)
               ("7" (LEMMA "x_evader_gt_x_int_after_radial_rotation")
                (("7" (DELETE 2)
                  (("7" (REWRITE "trans_before_after_traj_eq ")
                    (("1" (REWRITE "rot_before_after_traj_eq ")
                      (("1" (REWRITE "trans_before_after_traj_eq ")
                        (("1"
                          (INST -1
                           "trans(intruder!1, x(intruder!1) - 10000, 0)"
                           "trans(trajectory(evader!1, zero_bank, 18),                       x(intruder!1) - 10000, 0)")
                          (("1" (BETA)
                            (("1" (EXPAND "trans")
                              (("1"
                                (GROUND)
                                (("1"
                                  (LEMMA "trans_10k_not_0_rev")
                                  (("1"
                                    (INST?)
                                    (("1"
                                      (INST?)
                                      (("1"
                                        (EXPAND "trans")
                                        (("1" (PROPAX) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (EXPAND "distance")
                                  (("2" (ASSERT) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (DELETE 2)
                        (("2" (SKOSIMP*)
                          (("2" (REWRITE "trans_before_after_traj_eq ")
                            (("2" (LEMMA "trans_10k_not_0_rev")
                              (("2"
                                (INST?)
                                (("2" (ASSERT) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL)
                     ("2" (EXPAND "trans") (("2" (ASSERT) NIL NIL))
                      NIL)
                     ("3" (REWRITE "trans_10k_evader_not_0 ") NIL NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (REWRITE "trans_10k_evader_not_0 ") NIL NIL)
             ("3" (TYPEPRED "intruder!1")
              (("3" (EXPAND "trans")
                (("3" (EXPAND "rot") (("3" (PROPAX) NIL NIL)) NIL))
                NIL))
              NIL)
             ("4" (EXPAND "trans") (("4" (ASSERT) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_le_34_from_radial_imp_alarm| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (LEMMA "angle_le_34_from_radial_imp_alert_range")
        (("" (INST?)
          (("" (INST -1 "evader!1" "intruder!1" "shift!1")
            (("" (ASSERT)
              (("" (ASSERT)
                (("" (HIDE -2 -3 -4 -5 -6)
                  (("" (EXPAND "larcalert")
                    (("" (CASE "trkrate(phi(intruder!1)) = 0")
                      (("1" (ASSERT)
                        (("1" (EXPAND "chktrack")
                          (("1"
                            (CASE "tau(intruder!1, evader!1, 0) <= 0")
                            (("1" (ASSERT)
                              (("1"
                                (EXPAND "chkrange")
                                (("1"
                                  (EXPAND "alertTime")
                                  (("1"
                                    (LEMMA
                                     "asymptotic_increase_tau_to_zero")
                                    (("1"
                                      (INST
                                       -1
                                       "intruder!1"
                                       "evader!1"
                                       "0"
                                       "0"
                                       "9")
                                      (("1" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL)
                             ("2" (ASSERT)
                              (("2"
                                (CASE
                                 "tau(intruder!1, evader!1, 0) > alertTime")
                                (("1"
                                  (ASSERT)
                                  (("1"
                                    (EXPAND "alertTime")
                                    (("1"
                                      (LEMMA
                                       "asymptotic_decrease_zero_to_tau")
                                      (("1"
                                        (INST
                                         -1
                                         "intruder!1"
                                         "evader!1"
                                         "0"
                                         "9"
                                         "19")
                                        (("1" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (ASSERT)
                                  (("2"
                                    (LEMMA "derivative_eq_zero_min")
                                    (("2"
                                      (INST
                                       -1
                                       "intruder!1"
                                       "evader!1"
                                       "0"
                                       "9")
                                      (("2" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (ASSERT)
                        (("2" (EXPAND "arc_loop")
                          (("2" (EXPAND "maxStep")
                            (("2" (EXPAND "alertTime")
                              (("2"
                                (EXPAND "divtstep")
                                (("2"
                                  (CASE
                                   "mod(0,                 IF trkrate(phi(intruder!1)) >= 3                   THEN 1                 ELSIF trkrate(phi(intruder!1)) >= 1 + 1 / 2                       THEN 2                       ELSE IF trkrate(phi(intruder!1)) >= 3 / 4                              THEN 4                            ELSE 8                            ENDIF                 ENDIF) = 0")
                                  (("1"
                                    (REPLACE -1 2)
                                    (("1"
                                      (ASSERT)
                                      (("1"
                                        (CASE
                                         "chktrack(intruder!1                    WITH [x := x(intruder!1),                          y := y(intruder!1),                          heading := heading(intruder!1)],                  evader!1 WITH [x := x(evader!1), y := y(evader!1)],                  0 * tstep)")
                                        (("1" (ASSERT) NIL NIL)
                                         ("2"
                                          (DELETE -1 3)
                                          (("2"
                                            (EXPAND "chktrack")
                                            (("2"
                                              (CASE-REPLACE
                                               "intruder!1                  WITH [x := x(intruder!1),                        y := y(intruder!1),                        heading := heading(intruder!1)] = intruder!1")
                                              (("1"
                                                (CASE-REPLACE
                                                 "evader!1 WITH [x := x(evader!1), y := y(evader!1)] = evader!1")
                                                (("1"
                                                  (CASE-REPLACE
                                                   "tau(intruder!1, evader!1, 0) <= 0")
                                                  (("1"
                                                    (EXPAND "chkrange")
                                                    (("1"
                                                      (EXPAND
                                                       "alertTime")
                                                      (("1"
                                                        (LEMMA
                                                         "asymptotic_increase_tau_to_zero")
                                                        (("1"
                                                          (INST
                                                           -1
                                                           "intruder!1"
                                                           "evader!1"
                                                           "0"
                                                           "0"
                                                           "9")
                                                          (("1"
                                                            (GROUND)
                                                            NIL
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (ASSERT)
                                                    (("2"
                                                      (CASE-REPLACE
                                                       "tau(intruder!1, evader!1, 0) > alertTime")
                                                      (("1"
                                                        (LEMMA
                                                         "asymptotic_decrease_zero_to_tau")
                                                        (("1"
                                                          (INST
                                                           -1
                                                           "intruder!1"
                                                           "evader!1"
                                                           "0"
                                                           "9"
                                                           "19")
                                                          (("1"
                                                            (EXPAND
                                                             "alertTime")
                                                            (("1"
                                                              (GROUND)
                                                              NIL
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (ASSERT)
                                                        (("2"
                                                          (LEMMA
                                                           "derivative_eq_zero_min")
                                                          (("2"
                                                            (INST
                                                             -1
                                                             "intruder!1"
                                                             "evader!1"
                                                             "0"
                                                             "9")
                                                            (("2"
                                                              (GROUND)
                                                              NIL
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (GROUND)
                                                  NIL
                                                  NIL))
                                                NIL)
                                               ("2"
                                                (DELETE 2)
                                                (("2"
                                                  (GROUND)
                                                  NIL
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL)
                                   ("2"
                                    (DELETE 3)
                                    (("2"
                                      (CASE-REPLACE
                                       "trkrate(phi(intruder!1)) >= 3")
                                      (("1"
                                        (EXPAND "mod")
                                        (("1" (PROPAX) NIL NIL))
                                        NIL)
                                       ("2"
                                        (CASE-REPLACE
                                         "trkrate(phi(intruder!1)) >= 1 + 1 / 2")
                                        (("1"
                                          (EXPAND "mod")
                                          (("1" (ASSERT) NIL NIL))
                                          NIL)
                                         ("2"
                                          (CASE-REPLACE
                                           "trkrate(phi(intruder!1)) >= 3 / 4")
                                          (("1"
                                            (ASSERT)
                                            (("1"
                                              (EXPAND "mod")
                                              (("1" (PROPAX) NIL NIL))
                                              NIL))
                                            NIL)
                                           ("2"
                                            (ASSERT)
                                            (("2"
                                              (EXPAND "mod")
                                              (("2" (PROPAX) NIL NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|angle_le_34_from_radial_imp_alarm_e| "" (SKOSIMP*)
  (("" (ASSERT)
    (("" (SKOSIMP*)
      (("" (LEMMA "angle_le_34_from_radial_imp_alert_range")
        (("" (INST?)
          ((""
            (INST -1 "evader!1"
             "intruder!1 with [heading := heading(intruder!1) - 360 * j!1]"
             "shift!1")
            (("" (ASSERT)
              (("" (LEMMA "distance_periodic")
                ((""
                  (INST -1 "intruder!1"
                   "trajectory(evader!1, zero_bank, 18)" "-j!1")
                  (("" (REPLACE -1)
                    (("" (DELETE -1)
                      (("" (LEMMA "R_periodic")
                        ((""
                          (INST -1 "evader!1" "intruder!1" "9" "-j!1")
                          (("" (REPLACE -1)
                            (("" (DELETE -1)
                              ((""
                                (ASSERT)
                                ((""
                                  (HIDE -2 -3 -4 -5 -6)
                                  ((""
                                    (EXPAND "larcalert")
                                    ((""
                                      (CASE
                                       "trkrate(phi(intruder!1)) = 0")
                                      (("1"
                                        (ASSERT)
                                        (("1"
                                          (EXPAND "chktrack")
                                          (("1"
                                            (CASE
                                             "tau(intruder!1, evader!1, 0) <= 0")
                                            (("1"
                                              (ASSERT)
                                              (("1"
                                                (EXPAND "chkrange")
                                                (("1"
                                                  (EXPAND "alertTime")
                                                  (("1"
                                                    (LEMMA
                                                     "asymptotic_increase_tau_to_zero")
                                                    (("1"
                                                      (INST
                                                       -1
                                                       "intruder!1"
                                                       "evader!1"
                                                       "0"
                                                       "0"
                                                       "9")
                                                      (("1"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2"
                                              (ASSERT)
                                              (("2"
                                                (CASE
                                                 "tau(intruder!1, evader!1, 0) > alertTime")
                                                (("1"
                                                  (ASSERT)
                                                  (("1"
                                                    (EXPAND
                                                     "alertTime")
                                                    (("1"
                                                      (LEMMA
                                                       "asymptotic_decrease_zero_to_tau")
                                                      (("1"
                                                        (INST
                                                         -1
                                                         "intruder!1"
                                                         "evader!1"
                                                         "0"
                                                         "9"
                                                         "19")
                                                        (("1"
                                                          (GROUND)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL)
                                                 ("2"
                                                  (ASSERT)
                                                  (("2"
                                                    (LEMMA
                                                     "derivative_eq_zero_min")
                                                    (("2"
                                                      (INST
                                                       -1
                                                       "intruder!1"
                                                       "evader!1"
                                                       "0"
                                                       "9")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (ASSERT)
                                        (("2"
                                          (EXPAND "arc_loop")
                                          (("2"
                                            (EXPAND "maxStep")
                                            (("2"
                                              (EXPAND "alertTime")
                                              (("2"
                                                (EXPAND "divtstep")
                                                (("2"
                                                  (CASE
                                                   "mod(0,                 IF trkrate(phi(intruder!1)) >= 3                   THEN 1                 ELSIF trkrate(phi(intruder!1)) >= 1 + 1 / 2                       THEN 2                       ELSE IF trkrate(phi(intruder!1)) >= 3 / 4                              THEN 4                            ELSE 8                            ENDIF                 ENDIF) = 0")
                                                  (("1"
                                                    (REPLACE -1 2)
                                                    (("1"
                                                      (ASSERT)
                                                      (("1"
                                                        (CASE
                                                         "chktrack(intruder!1                    WITH [x := x(intruder!1),                          y := y(intruder!1),                          heading := heading(intruder!1)],                  evader!1 WITH [x := x(evader!1), y := y(evader!1)],                  0 * tstep)")
                                                        (("1"
                                                          (ASSERT)
                                                          NIL
                                                          NIL)
                                                         ("2"
                                                          (DELETE -1 3)
                                                          (("2"
                                                            (EXPAND
                                                             "chktrack")
                                                            (("2"
                                                              (CASE-REPLACE
                                                               "intruder!1                  WITH [x := x(intruder!1),                        y := y(intruder!1),                        heading := heading(intruder!1)] = intruder!1")
                                                              (("1"
                                                                (CASE-REPLACE
                                                                 "evader!1 WITH [x := x(evader!1), y := y(evader!1)] = evader!1")
                                                                (("1"
                                                                  (CASE-REPLACE
                                                                   "tau(intruder!1, evader!1, 0) <= 0")
                                                                  (("1"
                                                                    (EXPAND
                                                                     "chkrange")
                                                                    (("1"
                                                                      (EXPAND
                                                                       "alertTime")
                                                                      (("1"
                                                                        (LEMMA
                                                                         "asymptotic_increase_tau_to_zero")
                                                                        (("1"
                                                                          (INST
                                                                           -1
                                                                           "intruder!1"
                                                                           "evader!1"
                                                                           "0"
                                                                           "0"
                                                                           "9")
                                                                          (("1"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL)
                                                                   ("2"
                                                                    (ASSERT)
                                                                    (("2"
                                                                      (CASE-REPLACE
                                                                       "tau(intruder!1, evader!1, 0) > alertTime")
                                                                      (("1"
                                                                        (LEMMA
                                                                         "asymptotic_decrease_zero_to_tau")
                                                                        (("1"
                                                                          (INST
                                                                           -1
                                                                           "intruder!1"
                                                                           "evader!1"
                                                                           "0"
                                                                           "9"
                                                                           "19")
                                                                          (("1"
                                                                            (EXPAND
                                                                             "alertTime")
                                                                            (("1"
                                                                              (GROUND)
                                                                              NIL
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL)
                                                                       ("2"
                                                                        (ASSERT)
                                                                        (("2"
                                                                          (LEMMA
                                                                           "derivative_eq_zero_min")
                                                                          (("2"
                                                                            (INST
                                                                             -1
                                                                             "intruder!1"
                                                                             "evader!1"
                                                                             "0"
                                                                             "9")
                                                                            (("2"
                                                                              (GROUND)
                                                                              NIL
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL)
                                                                 ("2"
                                                                  (GROUND)
                                                                  NIL
                                                                  NIL))
                                                                NIL)
                                                               ("2"
                                                                (DELETE

                                                                 2)
                                                                (("2"
                                                                  (GROUND)
                                                                  NIL
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (DELETE 3)
                                                    (("2"
                                                      (CASE-REPLACE
                                                       "trkrate(phi(intruder!1)) >= 3")
                                                      (("1"
                                                        (EXPAND "mod")
                                                        (("1"
                                                          (PROPAX)
                                                          NIL
                                                          NIL))
                                                        NIL)
                                                       ("2"
                                                        (CASE-REPLACE
                                                         "trkrate(phi(intruder!1)) >= 1 + 1 / 2")
                                                        (("1"
                                                          (EXPAND
                                                           "mod")
                                                          (("1"
                                                            (ASSERT)
                                                            NIL
                                                            NIL))
                                                          NIL)
                                                         ("2"
                                                          (CASE-REPLACE
                                                           "trkrate(phi(intruder!1)) >= 3 / 4")
                                                          (("1"
                                                            (ASSERT)
                                                            (("1"
                                                              (EXPAND
                                                               "mod")
                                                              (("1"
                                                                (PROPAX)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL)
                                                           ("2"
                                                            (ASSERT)
                                                            (("2"
                                                              (EXPAND
                                                               "mod")
                                                              (("2"
                                                                (PROPAX)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|ails_last_theorem| "" (SKOLEM 1 ("df" "intruder" "evader"))
  (("" (SKOSIMP*)
    ((""
      (CASE "distance(intruder,trajectory(evader,zero_bank,18)) > 2450")
      (("1" (REWRITE "distance_gt_2450_no_collision_in_9sec") NIL NIL)
       ("2"
        (CASE "distance(intruder,trajectory(evader,zero_bank,18)) < 1925")
        (("1" (REWRITE "distance_lt_1925_no_collision_in_9sec") NIL
          NIL)
         ("2"
          (LEMMA "collision_scenario_imp_angle_lt_34_from_radial_e")
          (("2" (INST?)
            (("2" (ASSERT)
              (("2" (LEMMA "angle_le_34_from_radial_imp_alarm_e")
                (("2" (ASSERT)
                  (("2" (SKOSIMP*)
                    (("2"
                      (INST -1 "evader" "intruder" "j!1"
                       "distance(intruder, trajectory(evader, zero_bank, 18)) - 2250"
                       "heading(intruder) - 360 * j!1 - radial_func(y(intruder) -                           y(trajectory(evader, zero_bank, 18)),                          x(intruder) -                           x(trajectory(evader, zero_bank, 18)))")
                      (("2" (GROUND) NIL NIL)) NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL))


$$$trigonometry.pvs

trigonometry : theory
begin

    importing sqrt


%-- types

  degrees       : TYPE = real 
  One		: TYPE = {r:real| abs(r) <= 1} CONTAINING 0
  Bank	  	: TYPE = {r:real|abs(r) <= 35} 

%-- variables
 
  x		: var real
  i,j,k         : var int
  d,a,b		: var degrees
  phi,phi1,phi2 : var Bank

%% ----------------------------------------------------

  pi : real 

  PI : real = 3141592/1000000

  pidef : AXIOM
    pi = PI

  cos(d): One 

  COS(d:degrees) : real = 
    LET r = d*PI/180 IN
      1 - expt(r,2)/2 + expt(r,4)/24 - expt(r,6)/720 + expt(r,8)/40320

  cos_approx : AXIOM
    FORALL (d:degrees) :
    cos(d) = COS(d)

  cos_equivalence : axiom
    cos(d + 360 * i) = cos(d)

  cos_of_0 : axiom
    cos(360 * i) = 1 

  cos_of_180 : axiom
    cos(180 + 360 * i) = -1

  cos_180 : lemma
    cos(180) = -1

  cos_of_90 : axiom
     cos(90) = 0

  cos_of_neg90 : axiom
     cos(-90) = 0

  cos_90_to_270 : axiom
    d >= 90 and d <= 270 implies
    cos(d) <= 0

  cos_neg90_to_neg270 : lemma
    d >= -270 and d <= -90 implies
    cos(d) <= 0

  sin(d) : One 

  SIN(d:degrees) : real = 
    LET r = d*PI/180 IN
      r - expt(r,3)/6 + expt(r,5)/120 - expt(r,7)/5040 + expt(r,9)/362880

  sin_approx : AXIOM
    FORALL (d:degrees) :
    sin(d) = SIN(d)

  sin_equivalence : axiom
    sin(d + 360 * i) = sin(d)

  sin_decreases_towards_neg_90_lt : AXIOM
    FORALL (d1,d2:degrees) :
      -90 <= d1 AND d1 <= 90 AND
      -90 <= d2 AND d2 <= 90 AND 
      d1 < d2 IMPLIES sin(d1) < sin(d2)
 
  sin_decreases_towards_neg_90_le : LEMMA
    FORALL (d1,d2:degrees) :
      -90 <= d1 AND d1 <= 90 AND
      -90 <= d2 AND d2 <= 90 AND
      d1 <= d2 IMPLIES sin(d1) <= sin(d2) 

  sin_decreases_towards_pos_270_lt : AXIOM
    FORALL (d1,d2:degrees) :
      90 <= d1 AND d1 <= 270 AND
      90 <= d2 AND d2 <= 270 AND 
      d1 < d2 IMPLIES sin(d2) < sin(d1)
 
  sin_decreases_towards_pos_270_le : LEMMA
    FORALL (d1,d2:degrees) :
      90 <= d1 AND d1 <= 270 AND
      90 <= d2 AND d2 <= 270 AND
      d1 <= d2 IMPLIES sin(d2) <= sin(d1) 

  sin_decreases_towards_neg_180_lt : AXIOM
    FORALL (d1,d2:degrees) :
      -180 <= d1 AND d1 <= -90 AND
      -180 <= d2 AND d2 <= -90 AND 
      d1 > d2 IMPLIES sin(d1) < sin(d2)

  sin_decreases_towards_neg_180_le : LEMMA
    FORALL (d1,d2:degrees) :
      -180 <= d1 AND d1 <= -90 AND
      -180 <= d2 AND d2 <= -90 AND
      d1 >= d2 IMPLIES sin(d1) <= sin(d2)

  sin_increases_towards_neg_270_le : axiom
    FORALL (d1,d2:degrees) :
      -270 <= d1 AND d1 <= -90 AND
      -270 <= d2 AND d2 <= -90 AND
      d1 >= d2 IMPLIES sin(d1) <= sin(d2)

  sin_left_of_max_le : axiom
    forall (a,c1,c2:degrees) :
    a - c1 >= -90 and a <= 90 and c1 >= 0 and
   -c1 <= c2 and c2 <= c1 implies
    sin(a - c1) <= sin(a + c2)

  sin_right_of_max_le : axiom
    forall (a,c1,c2:degrees) :
    a + c1 <= 270 and a >= 90 and c1 >= 0 and
    -c1 <= c2 and c2 <= c1 implies
    sin(a + c1) <= sin(a - c2)

  sin_right_of_min_ge : axiom
    forall (a,c1,c2:degrees) :
    a + c1 <= 90 and a >= -90 and c1 >= 0 and
    -c1 <= c2 and c2 <= c1 implies
    sin(a+c1) >= sin(a-c2)

  sin_left_of_min_ge : axiom
   forall (a,c1,c2:degrees) :
   a - c1 >= -270 and a <= -90 and c1 >= 0 and
   -c1 <= c2 and c2 <= c1 implies
   sin(a-c1) >= sin(a+c2)

  sin_of_0_180 : AXIOM
    sin(0) = 0 AND sin(180) = 0 AND sin(-180) = 0

  sin_180 : lemma
    sin(180) = 0

  sin_of_90 : axiom
    sin(90) = 1 

  sin_of_neg90 : axiom
    sin(-90) = -1

  sin_of_87_93 : lemma
    sin(87) > 9986/10000 and sin(93) > 9986/10000

  sin_of_84_96 : lemma
    sin(84) > 9945/10000 and sin(96) > 9945/10000

  sin_of_neg87_neg93 : lemma
    sin(-87) < -9986/10000 and sin(-93) < -9986/10000

  sin_of_neg84_neg96 : lemma
    sin(-84) < -9945/10000 and sin(-96) < -9945/10000

  sin_between_0_180_pos : LEMMA
    0 < d AND d < 180 IMPLIES sin(d) > 0

  sin_of_neg_neg : LEMMA
    FORALL (x:real) :
      x < 0 AND x > -180 IMPLIES sin(x) < 0

  sin_between_0_neg180_neg : LEMMA
    -180 < d AND d < 0 IMPLIES sin(d) < 0

  sin_of_sum : axiom
  sin(a + b) = sin(a) * cos(b) + cos(a) * sin(b)

  cos_of_sum : axiom
  cos(a + b) = cos(a) * cos(b) - sin(a) * sin(b)

  sin_of_sub : axiom
  sin(a - b) = sin(a) * cos(b) - cos(a) * sin(b)

  cos_of_sub :axiom
  cos(a - b) = cos(a) * cos(b) + sin(a) * sin(b)

  sin_of_34 : lemma
  sin(34) = 83675683152334637347629483331566882250633513559859686857539967827229/149636552853584289550781250000000000000000000000000000000000000000000

  cos_of_Bank : AXIOM
    cos(phi) /= 0

  Tan : TYPE = {d | cos(d) /= 0}

  tan(d:Tan): real = 
    sin(d)/cos(d)

  TAN(d:Tan): real =
    SIN(d)/COS(d)

  tan_approx : axiom
    FORALL (d:Tan) :
    tan(d) = TAN(d)

  tan_of_neg : axiom
    FORALL (d:Tan) :
    tan(-d) = -tan(d)

  tan_decreases_45_to_neg_45 : AXIOM
    FORALL (d1,d2:Tan):
      -45 <= d1 AND d1 <= 45 AND d1 <= d2 IMPLIES tan(d1) <= tan(d2)
  
  tan_decreases_35_to_neg_35 : AXIOM
    FORALL (d1,d2:Tan):
      -35 <= d1 AND d1 <= 35 AND -35 <= d2 AND d2 <= 35 AND 
      d1 <= d2 IMPLIES tan(d1) <= tan(d2)

  tan_of_45 : AXIOM
    tan(-45) = -1 AND tan(45) = 1

  tan_of_35 : AXIOM
    tan(-35) = -7/10 AND tan(35) = 7/10

  tan_of_0 : lemma
    tan(0) = 0

  tan_of_35_A : lemma
    tan(35) = 22499291345047646301797609779586757039831379546768851075511969499/32132326850689715565723467632399236095009782349706769437091500000

  tan_of_neg_35_A : lemma
    tan(-35) = -22499291345047646301797609779586757039831379546768851075511969499/32132326850689715565723467632399236095009782349706769437091500000

  arctan(x) : Tan

  arctan_fst_cuadrant : axiom
  x >= 0  implies 0 <= arctan(x) and arctan(x) < 90

  arctan_fourth_cuadrant : axiom
  x <= 0  implies -90 < arctan(x) and arctan(x) <= 0

  arctan_bounds : theorem
  -90 < arctan(x) and arctan(x) < 90

% These axioms are from CRC Stanard mathematical tables 23rd edition.

  tan_of_arctan : axiom
  tan(arctan(x)) = x

  sin_of_arctan : axiom
  sin(arctan(x)) = x/(sqrt(1+sq(x)))

  cos_of_arctan : axiom
  cos(arctan(x)) = 1/(sqrt(1+sq(x)))

  sin_of_neg_arctan : axiom
  sin(-arctan(x)) = -x/(sqrt(1+sq(x)))

  cos_of_neg_arctan : axiom
  cos(-arctan(x)) = 1/(sqrt(1+sq(x)))

  sin_of_half_angle : axiom
  abs(sin(x/2)) = sqrt((1 - cos(x))/2)

  sq_sin_of_half_angle : axiom
  sq(sin(x/2)) = (1 - cos(x))/2
 
% -----------

  sin_cos_sq_one : AXIOM
    FORALL (x): 
      sq(sin(x)) + sq(cos(x)) = 1

% This axiom has been checked using Mupad.

  value_range_1 :AXIOM
    forall (c:{x:real | x > -2250 and x <= 200},
            shift:{x:degrees | -40 < x and x < 40}):
    c >= -325 and c <= 200 and 
    shift <= 34 and shift >= -34 implies
    sqrt((sq(2250) + 2250 * c) * 4 * sq(sin(shift / 2)) + sq(c)) <= 1400

%  16 + 24061/100000 < C1A <  16 + 24062/100000  C1A approx. = 16.240615

  C1A : real = 540705974974844227119093990377945882616090466046839053221195787166260864026690096339093105462371245811068227653237226285972409368581812468110078754372913679297208919709366762559589746537168854101507336606112070849895383964252101159525105333241787844877978190098914705191444841548313619663939006603314721364866879772207261158458710145737847475646268251465784062004495104138962364970199805041647030593968669797833111731080916612130203726148246816004658921069906909368088617260775243392963688486514051381905806476795430498534459799433323496609909233214167129489064783426876028853068892832549/33293442716888833763462254920638585548046385782305064367599897725988788321882714220836597683585354722343426658722122572459979368648140857257649524877002112368005703757498505087445389651791612692011017883474953338733135255119597115489787339692342509106435472052639867036850964238423201181125116996392091979600056890441287870329246108109471933586154307803217527566456764424821009976203184927935294518953146600390475393002324774419561655793416716976713198477217603234948498649597167968750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

%  -6 - 549108/1000000 < C2A < -6 - 549107/1000000  C2A approx. = -6.5491075

  C2A : real = -194616886056243714521915563604445509846325953782673455973958878003675664355042049194889605879661428369687442205198864798283274728485275585791764691353823418938845555750186789720378927711277536877809123378233350123653398011198728239594354878843261315679182994936807326937248452396167444864709468941989100576656643630205082802127551738420357105725073041659125868609222275248806175973942292756283567299478368173232024928462320533215507691632395652334188190327458398731138000067554510770159033373526611496881281508931407401711306017334151846339251055707529221253398532986779408547910046477673753135333005313285490678577789346341846573420593538064751469049014692573/29716549537882972980034600220726234502502538373320372071352071823457138739541982713491209828355065476510315739107193363589183807546389598006900223117739523995800868881139310313580307264792375780008163108995293367204864982275931252238012664801774006519965997265248978247493620207334419700679311157324456813164210697914549446829669538348520968622841400818332604465865444848459942984670438609216699870275806573986292248742035365154455794521225543998795584668214310780715617708864092958153708673770937381398754299978848890230576997284889221191406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000


  C1_pos_A : real = 540705974974844227119093990377945882616090466046839053221195787166260864026690096339093105462371245811068227653237226285972409368581812468110078754372913679297208919709366762559589746537168854101507336606112070849895383964252101159525105333241787844877978190098914705191444841548313619663939006603314721364866879772207261158458710145737847475646268251465784062004495104138962364970199805041647030593968669797833111731080916612130203726148246816004658921069906909368088617260775243392963688486514051381905806476795430498534459799433323496609909233214167129489064783426876028853068892832549/33293442716888833763462254920638585548046385782305064367599897725988788321882714220836597683585354722343426658722122572459979368648140857257649524877002112368005703757498505087445389651791612692011017883474953338733135255119597115489787339692342509106435472052639867036850964238423201181125116996392091979600056890441287870329246108109471933586154307803217527566456764424821009976203184927935294518953146600390475393002324774419561655793416716976713198477217603234948498649597167968750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

  C2_pos_A : real = 194616886056243714521915563604445509846325953782673455973958878003675664355042049194889605879661428369687442205198864798283274728485275585791764691353823418938845555750186789720378927711277536877809123378233350123653398011198728239594354878843261315679182994936807326937248452396167444864709468941989100576656643630205082802127551738420357105725073041659125868609222275248806175973942292756283567299478368173232024928462320533215507691632395652334188190327458398731138000067554510770159033373526611496881281508931407401711306017334151846339251055707529221253398532986779408547910046477673753135333005313285490678577789346341846573420593538064751469049014692573/29716549537882972980034600220726234502502538373320372071352071823457138739541982713491209828355065476510315739107193363589183807546389598006900223117739523995800868881139310313580307264792375780008163108995293367204864982275931252238012664801774006519965997265248978247493620207334419700679311157324456813164210697914549446829669538348520968622841400818332604465865444848459942984670438609216699870275806573986292248742035365154455794521225543998795584668214310780715617708864092958153708673770937381398754299978848890230576997284889221191406250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000




end trigonometry

$$$trigonometry.prf
(|trigonometry| (|One_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|cos_180| "" (LEMMA "cos_of_180")
  (("" (INST -1 "0") (("" (GROUND) NIL NIL)) NIL)) NIL)
 (|cos_neg90_to_neg270| "" (SKOSIMP*)
  (("" (LEMMA "cos_90_to_270")
    (("" (INST -1 "d!1 + 360")
      (("" (LEMMA "cos_equivalence")
        (("" (INST -1 "d!1" "1")
          (("" (REPLACE -1) (("" (GROUND) NIL NIL)) NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_decreases_towards_neg_90_le| ""
  (LEMMA "sin_decreases_towards_neg_90_lt")
  (("" (SKOLEM 1 ("d1" "d2"))
    (("" (INST -1 "d1" "d2") (("" (GROUND) NIL NIL)) NIL)) NIL))
  NIL)
 (|sin_decreases_towards_pos_270_le| "" (SKOSIMP*)
  (("" (LEMMA "sin_decreases_towards_pos_270_lt")
    (("" (INST?) (("" (INST -1 "d1!1") (("" (GROUND) NIL NIL)) NIL))
      NIL))
    NIL))
  NIL)
 (|sin_decreases_towards_neg_180_le| ""
  (LEMMA "sin_decreases_towards_neg_180_lt")
  (("" (SKOLEM 1 ("d1" "d2"))
    (("" (INST -1 "d1" "d2") (("" (GROUND) NIL NIL)) NIL)) NIL))
  NIL)
 (|sin_180| "" (LEMMA "sin_of_0_180") (("" (GROUND) NIL NIL)) NIL)
 (|sin_of_87_93| "" (REWRITE "sin_approx")
  (("" (REWRITE "sin_approx")
    (("" (GROUND) (("1" (GRIND) NIL NIL) ("2" (GRIND) NIL NIL)) NIL))
    NIL))
  NIL)
 (|sin_of_84_96| "" (REWRITE "sin_approx")
  (("" (REWRITE "sin_approx") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|sin_of_neg87_neg93| "" (REWRITE "sin_approx")
  (("" (REWRITE "sin_approx") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|sin_of_neg84_neg96| "" (REWRITE "sin_approx")
  (("" (REWRITE "sin_approx") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|sin_between_0_180_pos| "" (SKOSIMP*)
  (("" (LEMMA "sin_decreases_towards_neg_90_lt")
    (("" (LEMMA "sin_decreases_towards_pos_270_lt")
      (("" (INST -1 "d!1" "180")
        (("" (INST -2 "0" "d!1")
          (("" (LEMMA "sin_of_0_180") (("" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_neg_neg| "" (SKOSIMP*)
  (("" (LEMMA "sin_decreases_towards_neg_90_lt")
    (("" (INST -1 "x!1" "0")
      (("" (LEMMA "sin_decreases_towards_neg_180_lt")
        (("" (INST -1 "x!1" "-180")
          (("" (LEMMA "sin_of_0_180") (("" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_between_0_neg180_neg| "" (SKOSIMP*)
  (("" (CASE "(-180 < d!1 and d!1 <= -90) or (d!1 > -90 and d!1 < 0)")
    (("1" (SPLIT -1)
      (("1" (LEMMA "sin_decreases_towards_neg_180_lt")
        (("1" (INST -1 "d!1" "-180")
          (("1" (ASSERT)
            (("1" (ASSERT)
              (("1" (LEMMA "sin_of_0_180")
                (("1" (SKOSIMP*)
                  (("1" (REPLACE -3) (("1" (PROPAX) NIL NIL)) NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (LEMMA "sin_decreases_towards_neg_90_lt")
        (("2" (INST -1 "d!1" "0")
          (("2" (ASSERT)
            (("2" (ASSERT)
              (("2" (LEMMA "sin_of_0_180")
                (("2" (SKOSIMP*)
                  (("2" (REPLACE -1) (("2" (PROPAX) NIL NIL)) NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL)
     ("2" (GROUND) NIL NIL))
    NIL))
  NIL)
 (|sin_of_34| "" (REWRITE "sin_approx") (("" (GRIND) NIL NIL)) NIL)
 (|tan_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (TAN_TCC1 "" (SKOSIMP*)
  (("" (TYPEPRED "COS(d!1)")
    (("" (TYPEPRED "d!1")
      (("" (REWRITE "cos_approx") (("" (ASSERT) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|tan_of_neg_TCC1| "" (SKOSIMP*)
  (("" (TYPEPRED "d!1")
    (("" (REWRITE "cos_approx")
      (("" (REWRITE "cos_approx") (("" (GRIND) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|tan_of_45_TCC1| "" (REWRITE "cos_approx") (("" (GRIND) NIL NIL))
  NIL)
 (|tan_of_45_TCC2| "" (REWRITE "cos_approx") (("" (GRIND) NIL NIL))
  NIL)
 (|tan_of_35_TCC1| "" (REWRITE "cos_approx") (("" (GRIND) NIL NIL))
  NIL)
 (|tan_of_35_TCC2| "" (REWRITE "cos_approx")
  (("" (SKOSIMP*) (("" (DELETE -1) (("" (GRIND) NIL NIL)) NIL)) NIL))
  NIL)
 (|tan_of_0_TCC1| "" (LEMMA "cos_of_0")
  (("" (INST -1 "0") (("" (GROUND) NIL NIL)) NIL)) NIL)
 (|tan_of_0| "" (REWRITE "tan_approx")
  (("1" (GRIND) NIL NIL)
   ("2" (LEMMA "cos_of_0")
    (("2" (INST -1 "0") (("2" (GROUND) NIL NIL)) NIL)) NIL))
  NIL)
 (|tan_of_35_A_TCC1| "" (REWRITE "cos_of_Bank")
  (("" (EXPAND "abs") (("" (ASSERT) NIL NIL)) NIL)) NIL)
 (|tan_of_35_A| "" (REWRITE "tan_approx")
  (("1" (GRIND) NIL NIL)
   ("2" (REWRITE "cos_of_Bank")
    (("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL)) NIL))
  NIL)
 (|tan_of_neg_35_A| "" (REWRITE "tan_approx")
  (("1" (GRIND) NIL NIL)
   ("2" (REWRITE "cos_of_Bank")
    (("2" (EXPAND "abs") (("2" (ASSERT) NIL NIL)) NIL)) NIL))
  NIL)
 (|arctan_TCC1| "" (INST 1 "lambda (y:real) : 45")
  (("" (REWRITE "cos_approx") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|arctan_bounds| "" (SKOLEM 1 ("x"))
  (("" (LEMMA "arctan_fst_cuadrant")
    (("" (LEMMA "arctan_fourth_cuadrant")
      (("" (CASE "x <= 0")
        (("1" (INST?) (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
         ("2" (INST?) (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_of_half_angle_TCC1| "" (SKOSIMP*)
  (("" (REWRITE "pos_div_ge")
    (("" (TYPEPRED "cos(x!1)")
      (("" (EXPAND "abs") (("" (GROUND) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|value_range_1_TCC1| "" (SKOSIMP*)
  (("" (TYPEPRED "sq(c!1)")
    ((""
      (CASE "(sq(2250) + 2250 * c!1) * 4 * sq(sin(shift!1 / 2)) >= 0")
      (("1" (ASSERT) NIL NIL)
       ("2" (DELETE -1 2)
        (("2" (REWRITE "pos_times_ge")
          (("2" (FLATTEN 1)
            (("2" (DELETE 1)
              (("2" (TYPEPRED "sq(sin(shift!1 / 2))")
                (("2" (EXPAND "sq") (("2" (PROPAX) NIL NIL)) NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL))


$$$sqrt.pvs

sqrt : theory
begin

%-- Variables

x,y,z	: VAR real
n,n1,n2	: VAR nat

%% Definition, axioms, and properties of square and square root  

  sq(x): nonneg_real = x*x

  n0x: VAR nzreal
  px: VAR posreal

  positive_square: JUDGEMENT sq(n0x) HAS_TYPE posreal

  square_product: LEMMA sq(x * y) = sq(x) * sq(y)

  square_divide: LEMMA sq(y / n0x) = sq(y) / sq(n0x)

  sq_x_ge_0  : theorem x * x >= 0

  sqx_ge_0 : theorem sq(x) >= 0

  sq_x_0_IFF_x_0 : lemma FORALL x: x * x = 0 IFF x = 0

  sq_eq_IFF_eq : lemma forall (x,y:nonneg_real): sq(y) = sq(x) IFF y=x
 
  x_not_0_sq_gt_0 : theorem x /= 0 IFF sq(x) > 0

  sqrt_well_defined : AXIOM
    FORALL (x:nonneg_real):
      nonempty?({z:nonneg_real | z*z = x})

  sqrt(x:nonneg_real) : {z:nonneg_real | z*z = x}
  
  sqrt_0_x_0 : lemma
    FORALL (x: nonneg_real): 
     sqrt(x) = 0 IFF x = 0

  sqrt_of_sq: theorem
    (sqrt(sq(x))) = abs(x)

  sq_of_sqrt: theorem
   FORALL (x: nonneg_real):
   sq(sqrt(x)) = x

  positive_sqrt: JUDGEMENT sqrt(px) HAS_TYPE posreal
 
  sqrt_eq: theorem
    FORALL (x,y:nonneg_real) :
    x = y IFF sqrt(x) = sqrt(y)

  sqrt_equiv: theorem
    FORALL (x, y: nonneg_real): sqrt(x) = y IFF y*y=x

  sqrt_product: LEMMA  
    FORALL (x,y:nonneg_real):
     sqrt(y * x) = sqrt(y) * sqrt(x)

  sqrt_divide: LEMMA  
   FORALL (y:nonneg_real):
     sqrt(y / px) = sqrt(y) / sqrt(px)
 
  both_sides_expt_non_neg_lt_aux: lemma
    forall (nnx,nny:nonneg_real):
    expt(nnx, n+1) < expt(nny, n+1) IFF nnx < nny

  both_sides_expt_non_neg_le_aux: lemma
    forall (nnx,nny:nonneg_real):
    expt(nnx, n+1) <= expt(nny, n+1) IFF nnx <= nny

  sq_le_IFF_le : lemma forall (x,y:nonneg_real): sq(y) <= sq(x) IFF y <= x

  sq_of_neg_le_ge : lemma forall (x,y:negreal): sq(y) <= sq(x) IFF y>=x

  sq_monotone : theorem
    forall (x,y:nonneg_real):
     sq(x) <= sq(y) IFF x <= y

  sqrt_monotone : theorem
    FORALL (x,y:nonneg_real) :
      sqrt(x) <= sqrt(y) IFF x <= y
	
  sides_smaller_than_hypotenuse1 : lemma
    sqrt(sq(x) + sq(y)) < z implies x < z and y < z

  sides_smaller_than_hypotenuse2 : lemma
    sqrt(sq(x) + sq(y)) < z implies abs(x) < z and abs(y) < z

  sides_smaller_than_hypotenuse3 : lemma
    sqrt(sq(x) + sq(y)) <= z implies x <= z and y <= z

  sides_smaller_than_hypotenuse4 : lemma
    sqrt(sq(x) + sq(y)) <= z implies abs(x) <= z and abs(y) <= z
 
  one_over_sqrt_1 : lemma
   x > 0 implies
   (1 / (sqrt(1 + sq(y / x))) =
       x * (1 / sqrt(x * x + y * y)))

  one_over_sqrt_2 : lemma
   x < 0 implies
   (1 / (sqrt(1 + sq(y / x))) =
       - x * (1 / sqrt(x * x + y * y)))

  one_over_sqrt_3 : lemma
   x > 0 implies
   (1 / (sqrt(1 + sq(y / x))) =
       x * (1 / sqrt(sq(x) + sq(y))))

  one_over_sqrt_4 : lemma
   x < 0 implies
   (1 / (sqrt(1 + sq(y / x))) =
       - x * (1 / sqrt(sq(x) + sq(y))))

  yx_over_sqrt : lemma
    x > 0 implies
    (y/x / (sqrt(1 + sq(y / x))) =
       y * (1 / sqrt(sq(x) + sq(y))))

  yx_over_sqrt_1 : lemma
    x > 0 implies
    (y/x / (sqrt(1 + sq(y / x))) =
       y * (1 / sqrt(sq(x) + sq(y))))
  
  yx_over_sqrt_2 : lemma
    x < 0 implies
    (y/x / (sqrt(1 + sq(y / x))) =
       -y * (1 / sqrt(sq(x) + sq(y))))

  mag_nz(x:real) : type = {y:real | sq(x) + sq(y) /= 0}

  sqrt_sides_over_magnitud : theorem
   forall (y:real,x:mag_nz(y),D:posreal):
   sqrt(sq(y) + sq(x)) = D implies
   sqrt(sq(y/D) + sq(x/D)) = 1

  x_ge : lemma
    forall (x1,x2:real) :
     x2*(-(x1-x2)) >= x1*(-(x1-x2))

  inequality_on_x : lemma
    forall (x1,x2:real) :
     x1 /= x2 implies
     x2*(-(x1-x2)) > x1*(-(x1-x2))

  sqrt_of_magnitud_not_0 : lemma
    forall (x,y:real) :
    x /= 0 implies
    sqrt(sq(x) + sq(y)) /= 0
 

  %% ----------------------------------------------------

end sqrt

$$$sqrt.prf
(|sqrt| (|sq_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|positive_square| "" (GRIND) NIL NIL)
 (|square_product| "" (GRIND) NIL NIL)
 (|square_divide| "" (GRIND) NIL NIL)
 (|sq_x_ge_0| "" (SKOSIMP*)
  (("" (REWRITE "pos_times_ge") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|sqx_ge_0| "" (SKOSIMP*)
  (("" (EXPAND "sq") (("" (REWRITE "sq_x_ge_0") NIL NIL)) NIL)) NIL)
 (|sq_x_0_IFF_x_0| "" (SKOLEM 1 "x")
  (("" (LEMMA "zero_times3") (("" (INST?) (("" (GROUND) NIL NIL)) NIL))
    NIL))
  NIL)
 (|sq_eq_IFF_eq| "" (SKOSIMP*)
  (("" (CASE-REPLACE "y!1 = 0")
    (("1" (EXPAND "sq")
      (("1" (LEMMA "sq_x_0_IFF_x_0")
        (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL))
      NIL)
     ("2" (CASE-REPLACE "x!1 = 0")
      (("1" (EXPAND "sq") (("1" (REWRITE "sq_x_0_IFF_x_0") NIL NIL))
        NIL)
       ("2" (LEMMA "both_sides_expt2_aux")
        (("2" (INST -1 "2" "y!1" "x!1")
          (("1" (EXPAND "expt")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (EXPAND "sq") (("1" (PROPAX) NIL NIL)) NIL))
                NIL))
              NIL))
            NIL)
           ("2" (TYPEPRED "x!1") (("2" (GROUND) NIL NIL)) NIL)
           ("3" (TYPEPRED "y!1") (("3" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|x_not_0_sq_gt_0| "" (SKOLEM 1 "x")
  (("" (EXPAND "sq")
    (("" (LEMMA "pos_times_gt")
      (("" (INST?) (("" (GROUND) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|sqrt_TCC1| "" (LEMMA "sqrt_well_defined")
  ((""
    (INST 1
     "lambda (x:nonneg_real): choose ({z: nonneg_real | z * z = x})")
    NIL NIL))
  NIL)
 (|sqrt_0_x_0| "" (SKOSIMP*)
  (("" (TYPEPRED "sqrt(x!1)")
    (("" (CASE "sqrt(x!1) > 0")
      (("1" (LEMMA "pos_times_gt")
        (("1" (INST -1 "sqrt(x!1)" "sqrt(x!1)")
          (("1" (GROUND) NIL NIL)) NIL))
        NIL)
       ("2" (CASE "sqrt(x!1) = 0")
        (("1" (REPLACE -1 -3) (("1" (ASSERT) NIL NIL)) NIL)
         ("2" (GROUND) NIL NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_of_sq| "" (SKOLEM 1 "x")
  (("" (TYPEPRED "sqrt(sq(x))")
    (("" (CASE "sqrt(sq(x)) = 0 or sqrt(sq(x)) > 0")
      (("1" (SPLIT -1)
        (("1" (REPLACE -1 1)
          (("1" (REWRITE "sqrt_0_x_0 ")
            (("1" (EXPAND "sq" -1)
              (("1" (REWRITE "sq_x_0_IFF_x_0")
                (("1" (REPLACE -1 1)
                  (("1" (EXPAND "abs") (("1" (PROPAX) NIL NIL)) NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL)
         ("2" (LEMMA "both_sides_expt2_aux")
          (("2" (INST -1 "2" "sqrt(sq(x))" "abs(x)")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (EXPAND "expt")
                  (("1" (CASE "abs(x) * abs(x) = x * x")
                    (("1" (REPLACE -1 -2)
                      (("1" (EXPAND "sq" -5 3) (("1" (GROUND) NIL NIL))
                        NIL))
                      NIL)
                     ("2" (EXPAND "abs")
                      (("2" (CASE "x<0")
                        (("1" (ASSERT) NIL NIL) ("2" (ASSERT) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL)
             ("2" (EXPAND "abs")
              (("2" (CASE "x<0")
                (("1" (ASSERT) NIL NIL)
                 ("2" (ASSERT)
                  (("2" (CASE "x=0")
                    (("1" (REPLACE -1 3)
                      (("1" (EXPAND "sq")
                        (("1" (REWRITE "sqrt_0_x_0") NIL NIL)) NIL))
                      NIL)
                     ("2" (ASSERT) NIL NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (GROUND) NIL NIL))
      NIL))
    NIL))
  NIL)
 (|sq_of_sqrt| "" (SKOSIMP*)
  (("" (TYPEPRED "sqrt(x!1)")
    (("" (EXPAND "sq") (("" (PROPAX) NIL NIL)) NIL)) NIL))
  NIL)
 (|positive_sqrt| "" (SKOLEM!) (("" (ASSERT) NIL NIL)) NIL)
 (|sqrt_eq| "" (SKOSIMP*)
  (("" (TYPEPRED "sqrt(x!1)")
    (("" (TYPEPRED "sqrt(y!1)")
      (("" (CASE "y!1 = 0")
        (("1" (REPLACE -1 1)
          (("1" (LEMMA "sqrt_0_x_0")
            (("1" (INST -1 "0") (("1" (GROUND) NIL NIL)) NIL)) NIL))
          NIL)
         ("2" (CASE "x!1 = 0")
          (("1" (REPLACE -1 2)
            (("1" (LEMMA "sqrt_0_x_0")
              (("1" (INST -1 "0") (("1" (GROUND) NIL NIL)) NIL)) NIL))
            NIL)
           ("2" (LEMMA "both_sides_expt2_aux")
            (("2" (INST -1 "2" "sqrt(x!1)" "sqrt(y!1)")
              (("1" (EXPAND "expt")
                (("1" (EXPAND "expt")
                  (("1" (EXPAND "expt") (("1" (GROUND) NIL NIL)) NIL))
                  NIL))
                NIL)
               ("2" (GROUND) NIL NIL) ("3" (GROUND) NIL NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_equiv| "" (REDUCE)
  (("" (REPLACE -3 + RL)
    (("" (REWRITE "sq" :DIR RL)
      (("" (REWRITE "sqrt_of_sq")
        (("" (ASSERT) (("" (EXPAND "abs") (("" (PROPAX) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_product| "" (SKOSIMP*)
  (("" (CASE "sqrt(y!1) = 0 OR  sqrt(x!1) = 0")
    (("1" (GROUND) NIL NIL)
     ("2" (FLATTEN)
      (("2" (LEMMA "both_sides_expt2")
        (("2" (INST -1 "2" "_" "_")
          (("2" (EXPAND "^")
            (("2" (EXPAND "expt")
              (("2" (EXPAND "expt")
                (("2" (EXPAND "expt")
                  (("2"
                    (INST -1 "sqrt(y!1) * sqrt(x!1)" "sqrt(y!1 * x!1)")
                    (("1" (FLATTEN) (("1" (ASSERT) NIL NIL)) NIL)
                     ("2" (ASSERT)
                      (("2" (CASE-REPLACE "sqrt(y!1 * x!1) = 0")
                        (("1" (LEMMA "sqrt_0_x_0")
                          (("1" (INST -1 "y!1*x!1")
                            (("1" (ASSERT)
                              (("1"
                                (LEMMA "zero_times3")
                                (("1"
                                  (INST?)
                                  (("1" (ASSERT) NIL NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (TYPEPRED "sqrt(y!1 * x!1)")
                          (("2" (ASSERT) NIL NIL)) NIL))
                        NIL))
                      NIL)
                     ("3" (CASE-REPLACE "sqrt(y!1) * sqrt(x!1) = 0")
                      (("1" (LEMMA "zero_times3")
                        (("1" (INST?) (("1" (ASSERT) NIL NIL)) NIL))
                        NIL)
                       ("2" (ASSERT) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_divide| "" (SKOLEM!)
  (("" (ASSERT) (("" (REWRITE "sqrt_equiv") NIL NIL)) NIL)) NIL)
 (|both_sides_expt_non_neg_lt_aux| "" (SKOSIMP*)
  (("" (CASE "nnx!1 = 0")
    (("1" (CASE "nny!1 = 0")
      (("1" (REPLACE -1)
        (("1" (REPLACE -2) (("1" (GRIND) NIL NIL)) NIL)) NIL)
       ("2" (REPLACE -1)
        (("2" (EXPAND "expt" 2 1)
          (("2" (LEMMA "zero_times1")
            (("2" (INST?)
              (("2" (REPLACE -1 :HIDE? T)
                (("2" (LEMMA "expt_pos_aux")
                  (("2" (INST?)
                    (("1" (GROUND) NIL NIL)
                     ("2" (TYPEPRED "nny!1") (("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL)
     ("2" (CASE "nny!1 = 0")
      (("1" (REPLACE -1)
        (("1" (EXPAND "expt" 2 2)
          (("1" (LEMMA "zero_times1")
            (("1" (INST?)
              (("1" (REPLACE -1 :HIDE? T)
                (("1" (LEMMA "expt_pos_aux")
                  (("1" (INST?)
                    (("1" (GROUND) NIL NIL)
                     ("2" (TYPEPRED "nnx!1") (("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (LEMMA "both_sides_expt_pos_lt_aux")
        (("2" (INST?)
          (("1" (TYPEPRED "nny!1") (("1" (GROUND) NIL NIL)) NIL)
           ("2" (HIDE 4) (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|both_sides_expt_non_neg_le_aux| "" (SKOSIMP*)
  (("" (CASE "nnx!1 = 0")
    (("1" (CASE "nny!1 = 0")
      (("1" (REPLACE -1)
        (("1" (REPLACE -2) (("1" (GRIND) NIL NIL)) NIL)) NIL)
       ("2" (REPLACE -1)
        (("2" (EXPAND "expt")
          (("2" (LEMMA "zero_times1")
            (("2" (INST?)
              (("2" (REPLACE -1)
                (("2" (TYPEPRED "expt(nny!1, n!1)")
                  (("2" (TYPEPRED "nny!1")
                    (("2" (LEMMA "pos_times_le")
                      (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL)
     ("2" (CASE "nny!1 = 0")
      (("1" (REPLACE -1)
        (("1" (EXPAND "expt")
          (("1" (LEMMA "zero_times1")
            (("1" (INST?)
              (("1" (REPLACE -1)
                (("1" (LEMMA "neg_times_le")
                  (("1" (LEMMA "expt_pos_aux")
                    (("1" (INST -1 "n!1" "nnx!1")
                      (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)
                       ("2" (TYPEPRED "nnx!1") (("2" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL)
       ("2" (LEMMA "both_sides_expt_pos_le_aux")
        (("2" (INST?)
          (("1" (TYPEPRED "nny!1") (("1" (GROUND) NIL NIL)) NIL)
           ("2" (TYPEPRED "nnx!1") (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sq_le_IFF_le| "" (SKOSIMP*)
  (("" (LEMMA "both_sides_expt_non_neg_le_aux")
    (("" (INST -1 "1" "y!1" "x!1")
      (("" (EXPAND "expt")
        (("" (EXPAND "expt")
          (("" (EXPAND "expt")
            (("" (EXPAND "sq") (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sq_of_neg_le_ge| "" (SKOSIMP*)
  (("" (LEMMA "sq_le_IFF_le")
    (("" (INST -1 "-x!1" "-y!1")
      (("" (CASE-REPLACE "sq(-y!1) = sq(y!1)")
        (("1" (CASE-REPLACE "sq(-x!1) = sq(x!1)")
          (("1" (GROUND) NIL NIL)
           ("2" (EXPAND "sq") (("2" (ASSERT) NIL NIL)) NIL))
          NIL)
         ("2" (EXPAND "sq") (("2" (ASSERT) NIL NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sq_monotone| "" (SKOSIMP*)
  (("" (LEMMA "both_sides_expt_non_neg_le_aux")
    (("" (INST -1 "1" "x!1" "y!1")
      (("" (EXPAND "expt")
        (("" (EXPAND "expt")
          (("" (EXPAND "expt")
            (("" (EXPAND "sq") (("" (PROPAX) NIL NIL)) NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_monotone| "" (SKOSIMP*)
  (("" (LEMMA " both_sides_expt_non_neg_le_aux")
    (("" (INST -1 "1" "sqrt(x!1)" "sqrt(y!1)")
      (("" (EXPAND "expt")
        (("" (EXPAND "expt")
          (("" (EXPAND "expt")
            (("" (TYPEPRED "sqrt(x!1)")
              (("" (TYPEPRED "sqrt(y!1)") (("" (GROUND) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sides_smaller_than_hypotenuse1| "" (SKOSIMP*)
  (("" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
    (("" (SPLIT 1)
      (("1" (LEMMA "both_sides_expt_non_neg_lt_aux")
        (("1" (INST -1 "1" "sqrt(sq(x!1) + sq(y!1))" "z!1")
          (("1" (EXPAND "expt")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (REPLACE -3 -1)
                  (("1" (ASSERT)
                    (("1"
                      (CASE "(sq(x!1) + sq(y!1) <
           (z!1 * z!1)) implies sq(x!1) < (z!1 * z!1)")
                      (("1" (GROUND)
                        (("1" (LEMMA "both_sides_expt_non_neg_lt_aux")
                          (("1" (INST -1 "1" "x!1" "z!1")
                            (("1" (EXPAND "expt")
                              (("1"
                                (EXPAND "expt")
                                (("1"
                                  (EXPAND "expt")
                                  (("1"
                                    (EXPAND "sq" -2 1)
                                    (("1"
                                      (TYPEPRED "sq(y!1)")
                                      (("1" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
            (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL)
       ("2" (LEMMA "both_sides_expt_non_neg_lt_aux")
        (("2" (INST -1 "1" "sqrt(sq(x!1) + sq(y!1))" "z!1")
          (("1" (EXPAND "expt")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (REPLACE -3 -1)
                  (("1" (ASSERT)
                    (("1"
                      (CASE "(sq(x!1) + sq(y!1) <
           (z!1 * z!1)) implies sq(y!1) < (z!1 * z!1)")
                      (("1" (GROUND)
                        (("1" (LEMMA "both_sides_expt_non_neg_lt_aux")
                          (("1" (INST -1 "1" "y!1" "z!1")
                            (("1" (EXPAND "expt")
                              (("1"
                                (EXPAND "expt")
                                (("1"
                                  (EXPAND "expt")
                                  (("1"
                                    (EXPAND "sq" -1)
                                    (("1" (PROPAX) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
            (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sides_smaller_than_hypotenuse2| "" (SKOSIMP*)
  (("" (LEMMA "sides_smaller_than_hypotenuse1")
    (("" (INST?) (("" (GRIND) NIL NIL)) NIL)) NIL))
  NIL)
 (|sides_smaller_than_hypotenuse3| "" (SKOSIMP*)
  (("" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
    (("" (SPLIT 1)
      (("1" (LEMMA "both_sides_expt_non_neg_le_aux")
        (("1" (INST -1 "1" "sqrt(sq(x!1) + sq(y!1))" "z!1")
          (("1" (EXPAND "expt")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (REPLACE -3 -1)
                  (("1" (ASSERT)
                    (("1"
                      (CASE "(sq(x!1) + sq(y!1) <=           (z!1 * z!1)) implies sq(x!1) <= (z!1 * z!1)")
                      (("1" (GROUND)
                        (("1" (LEMMA "both_sides_expt_non_neg_le_aux")
                          (("1" (INST -1 "1" "x!1" "z!1")
                            (("1" (EXPAND "expt")
                              (("1"
                                (EXPAND "expt")
                                (("1"
                                  (EXPAND "expt")
                                  (("1"
                                    (EXPAND "sq" -2 1)
                                    (("1"
                                      (TYPEPRED "sq(y!1)")
                                      (("1" (GROUND) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
            (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL)
       ("2" (LEMMA "both_sides_expt_non_neg_le_aux")
        (("2" (INST -1 "1" "sqrt(sq(x!1) + sq(y!1))" "z!1")
          (("1" (EXPAND "expt")
            (("1" (EXPAND "expt")
              (("1" (EXPAND "expt")
                (("1" (REPLACE -3 -1)
                  (("1" (ASSERT)
                    (("1"
                      (CASE "(sq(x!1) + sq(y!1) <=           (z!1 * z!1)) implies sq(y!1) <= (z!1 * z!1)")
                      (("1" (GROUND)
                        (("1" (LEMMA "both_sides_expt_non_neg_le_aux")
                          (("1" (INST -1 "1" "y!1" "z!1")
                            (("1" (EXPAND "expt")
                              (("1"
                                (EXPAND "expt")
                                (("1"
                                  (EXPAND "expt")
                                  (("1"
                                    (EXPAND "sq" -1)
                                    (("1" (PROPAX) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (GROUND) NIL NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (TYPEPRED "sqrt(sq(x!1) + sq(y!1))")
            (("2" (GROUND) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sides_smaller_than_hypotenuse4| "" (SKOSIMP*)
  (("" (LEMMA "sides_smaller_than_hypotenuse3")
    (("" (INST?) (("" (GRIND) NIL NIL)) NIL)) NIL))
  NIL)
 (|one_over_sqrt_1_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|one_over_sqrt_1_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|one_over_sqrt_1_TCC3| "" (SUBTYPE-TCC)
  (("" (LEMMA "sqrt_0_x_0")
    (("" (INST?)
      (("" (GROUND)
        (("" (LEMMA "sq_x_0_IFF_x_0")
          (("" (INST?) (("" (GROUND) NIL NIL)) NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|one_over_sqrt_1| "" (SKOLEM 1 ("x" "y"))
  (("" (SKOSIMP*)
    ((""
      (AUTO-REWRITE "square_divide" "sqrt_divide" "sqrt_of_sq" "abs")
      (("" (ASSERT)
        ((""
          (CASE-REPLACE "1 + sq(y) / sq(x) = (sq(x) + sq(y)) / sq(x)")
          (("1" (REWRITE "sqrt_divide")
            (("1" (GRIND) NIL NIL)
             ("2" (CASE "x /= 0 IFF sq(x) > 0")
              (("1" (ASSERT) NIL NIL)
               ("2" (DELETE -1 -2 2 3)
                (("2" (AUTO-REWRITE "sq_x_ge_0" "sqrt_0_x_0")
                  (("2" (REWRITE "x_not_0_sq_gt_0") NIL NIL)) NIL))
                NIL))
              NIL))
            NIL)
           ("2" (ASSERT) NIL NIL)
           ("3" (DELETE 2)
            (("3" (LEMMA "x_not_0_sq_gt_0")
              (("3" (INST -1 "x")
                (("3" (LEMMA "sq_x_ge_0")
                  (("3" (INST?)
                    (("3" (EXPAND "sq") (("3" (GROUND) NIL NIL)) NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|one_over_sqrt_2_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|one_over_sqrt_2_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|one_over_sqrt_2_TCC3| "" (SKOSIMP*)
  (("" (LEMMA "sqrt_0_x_0")
    (("" (INST?)
      (("" (LEMMA "sq_x_0_IFF_x_0")
        (("" (INST?) (("" (GROUND) NIL NIL)) NIL)) NIL))
      NIL))
    NIL))
  NIL)
 (|one_over_sqrt_2| "" (SKOLEM 1 ("x" "y"))
  (("" (SKOSIMP*)
    ((""
      (AUTO-REWRITE "square_divide" "sqrt_divide" "sqrt_of_sq" "abs")
      (("" (ASSERT)
        ((""
          (CASE-REPLACE "1 + sq(y) / sq(x) = (sq(x) + sq(y)) / sq(x)")
          (("1" (REWRITE "sqrt_divide")
            (("1" (GRIND) NIL NIL)
             ("2" (DELETE -1 2)
              (("2" (LEMMA "x_not_0_sq_gt_0")
                (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL)) NIL))
              NIL))
            NIL)
           ("2" (ASSERT) NIL NIL)
           ("3" (DELETE 2)
            (("3" (LEMMA "sq_x_0_IFF_x_0")
              (("3" (INST?)
                (("3" (EXPAND "sq") (("3" (GROUND) NIL NIL)) NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|one_over_sqrt_3_TCC1| "" (SKOSIMP*)
  (("" (LEMMA "sqrt_0_x_0")
    (("" (LEMMA "sq_x_0_IFF_x_0") (("" (GRIND) NIL NIL)) NIL)) NIL))
  NIL)
 (|one_over_sqrt_3| "" (SKOLEM 1 ("x" "y"))
  (("" (EXPAND "sq" 1 2)
    (("" (EXPAND "sq" 1 2) (("" (REWRITE "one_over_sqrt_1") NIL NIL))
      NIL))
    NIL))
  NIL)
 (|one_over_sqrt_4_TCC1| "" (SKOSIMP*)
  (("" (LEMMA "sqrt_0_x_0")
    (("" (LEMMA "sq_x_0_IFF_x_0") (("" (GRIND) NIL NIL)) NIL)) NIL))
  NIL)
 (|one_over_sqrt_4| "" (SKOLEM 1 ("x" "y"))
  (("" (EXPAND "sq" 1 2)
    (("" (EXPAND "sq" 1 2) (("" (REWRITE "one_over_sqrt_2") NIL NIL))
      NIL))
    NIL))
  NIL)
 (|yx_over_sqrt| "" (SKOSIMP*)
  (("" (CASE "x!1 > 0")
    (("1"
      (CASE-REPLACE "(y!1 / x!1 / (sqrt(1 + sq(y!1 / x!1)))) =
          ((y!1 / x!1) * (1 / (sqrt(1 + sq(y!1 / x!1)))))")
      (("1" (REWRITE "one_over_sqrt_3") (("1" (GROUND) NIL NIL)) NIL)
       ("2" (GROUND) NIL NIL) ("3" (ASSERT) NIL NIL))
      NIL)
     ("2"
      (CASE-REPLACE "(y!1 / x!1 / (sqrt(1 + sq(y!1 / x!1)))) =
          ((y!1 / x!1) * (1 / (sqrt(1 + sq(y!1 / x!1)))))")
      (("1" (REWRITE "one_over_sqrt_4")
        (("1" (GROUND) (("1" (POSTPONE) NIL NIL)) NIL)) NIL)
       ("2" (POSTPONE) NIL NIL) ("3" (POSTPONE) NIL NIL))
      NIL))
    NIL))
  NIL)
 (|yx_over_sqrt_1| "" (SKOSIMP*)
  (("" (CASE "x!1 > 0")
    (("1"
      (CASE-REPLACE
       "(y!1 / x!1 / (sqrt(1 + sq(y!1 / x!1)))) =          ((y!1 / x!1) * (1 / (sqrt(1 + sq(y!1 / x!1)))))")
      (("1" (REWRITE "one_over_sqrt_3") (("1" (GROUND) NIL NIL)) NIL)
       ("2" (GROUND) NIL NIL) ("3" (ASSERT) NIL NIL))
      NIL)
     ("2" (PROPAX) NIL NIL))
    NIL))
  NIL)
 (|yx_over_sqrt_2| "" (SKOSIMP*)
  ((""
    (CASE-REPLACE
     "(y!1 / x!1 / (sqrt(1 + sq(y!1 / x!1)))) =          ((y!1 / x!1) * (1 / (sqrt(1 + sq(y!1 / x!1)))))")
    (("1" (REWRITE "one_over_sqrt_4") (("1" (GROUND) NIL NIL)) NIL)
     ("2" (GROUND) NIL NIL) ("3" (GROUND) NIL NIL))
    NIL))
  NIL)
 (|sqrt_sides_over_magnitud| "" (SKOSIMP*)
  (("" (REPLACE -1 1 :DIR RL)
    (("" (DELETE -1)
      (("" (REWRITE "square_divide")
        (("" (REWRITE "square_divide")
          (("" (REWRITE "sq_of_sqrt")
            ((""
              (CASE-REPLACE
               "sq(y!1) / (sq(x!1) + sq(y!1)) + sq(x!1) / (sq(x!1) + sq(y!1)) = (sq(y!1) + sq(x!1))/ (sq(x!1) + sq(y!1))")
              (("1" (REWRITE "div_simp")
                (("1" (TYPEPRED "sqrt(1)")
                  (("1" (REWRITE "sqrt_1") (("1" (GROUND) NIL NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (GROUND) NIL NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|x_ge| "" (SKOLEM 1 ("x1" "x2"))
  (("" (CASE "x2 > x1")
    (("1" (CASE-REPLACE "-(x1 - x2) = (x2 - x1)")
      (("1" (CASE "x2 - x1 > 0")
        (("1" (REWRITE "both_sides_times_pos_ge1")
          (("1" (ASSERT) NIL NIL)) NIL)
         ("2" (GROUND) NIL NIL))
        NIL)
       ("2" (GROUND) NIL NIL))
      NIL)
     ("2" (CASE "x2=x1")
      (("1" (REPLACE -1) (("1" (ASSERT) NIL NIL)) NIL)
       ("2" (CASE "x1 - x2 > 0")
        (("1" (REWRITE "both_sides_times_neg_ge1")
          (("1" (GROUND) NIL NIL)) NIL)
         ("2" (GROUND) NIL NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|inequality_on_x| "" (SKOLEM 1 ("x1" "x2"))
  (("" (SKOSIMP*)
    (("" (CASE "x2 > x1")
      (("1" (CASE-REPLACE "-(x1 - x2) = (x2 - x1)")
        (("1" (CASE "x2 - x1 > 0")
          (("1" (REWRITE "both_sides_times_pos_gt1") NIL NIL)
           ("2" (GROUND) NIL NIL))
          NIL)
         ("2" (GROUND) NIL NIL))
        NIL)
       ("2" (CASE "x1 - x2 > 0")
        (("1" (REWRITE "both_sides_times_neg_gt1")
          (("1" (GROUND) NIL NIL)) NIL)
         ("2" (GROUND) NIL NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sqrt_of_magnitud_not_0| "" (SKOLEM 1 ("x" "y"))
  (("" (SKOSIMP*)
    (("" (CASE "sq(x) + sq(y) > 0")
      (("1" (REWRITE "sqrt_0_x_0") (("1" (ASSERT) NIL NIL)) NIL)
       ("2" (TYPEPRED "sq(y)")
        (("2" (LEMMA "x_not_0_sq_gt_0")
          (("2" (INST -1 "x") (("2" (ASSERT) NIL NIL)) NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL))


$$$ails.pvs
%----------------------------------------------------------------------------
% AILS Alerting Algorithm in PVS
%   Victor Carreno (v.a.carreno@larc.nasa.gov)
%   Cesar Munoz (munoz@icase.edu)
%
%   ICASE - NASA Langley Research Center 
%
% This model is an abstraction of the algorithm written by
%
%  Bill Capron 
%  NASA Langley Research Center
%
% and decribed by
%
%  Mike Jackson
%  Honeywell Technology Center
%  
% Assumptions
%
%  * Two dimensional. Coordinate system:
%    
%    +-->x   --> landing direction
%    |
%    v
%    y
%
%----------------------------------------------------------------------------

ails : THEORY
BEGIN

   importing sqrt,trigonometry
  

%-- Types

  bank_func	: TYPE = [posnat->Bank]

  State: type =
    [# x	: real,
       y	: real,
       v	: posreal,
       heading  : degrees,
       phi	: Bank
     #]

%-- Constants

  intruderSpeed	   	: posreal                 % feet per second
  evaderSpeed	   	: posreal 	          % feet per second
  collisionRange   	: real 		= 200	  % feet
  alertTime  	   	: real 		= 19	  % seconds
  alertRange	   	: real 		= 1400	  % feet
  tstep		   	: real 		= 1/2	  % seconds
  divtstep(x:real) 	: real 		= x*2
  maxStep	   	: real 		= 1 + divtstep(alertTime)
  g                	: real 		= 32+2/10 % feet per second^2
  ajyloc	      	: real 	     	%= 2500   % feet
  zero_bank 		: bank_func 	= LAMBDA(n:posnat):0
  neg_35_bank		: bank_func    = LAMBDA(n:posnat):-35
  pos_35_bank		: bank_func    = LAMBDA(n:posnat):35


%-- Variables

  s,s1,s2  	 	: VAR State
  intruder		: VAR {s:State | v(s) = intruderSpeed}
  evader                : VAR {s:State | v(s) = evaderSpeed and heading(s) = 0 and phi(s) = 0}
  df	  		: VAR bank_func
  phi,phi1,phi2  	: VAR Bank
  range 	      	: VAR real
  t,t1,t2,tpred		: VAR real
  a,b			: VAR real
  iarc			: VAR subrange(0,maxStep)
  arcrad,trkrate	: VAR real
  n			: var nat
  m,idtrk         	: VAR posnat

%-- Useful functions

  intruderSpeeddef : AXIOM
    intruderSpeed = 250

  evaderSpeeddef : AXIOM
    evaderSpeed = 250

% ***********

  mod(n,m): RECURSIVE nat = 
    IF n < m THEN n 
    ELSE mod(n-m,m) 
    ENDIF
  MEASURE n

  distance(s1,s2): nonneg_real =
    sqrt(sq(x(s1)-x(s2)) + sq(y(s1)-y(s2))) 

  collision(s1,s2): bool =
    distance(s1,s2) <= collisionRange

  alerting_distance(s1,s2): bool =
    distance(s1,s2) <= alertRange

  trkrate(phi): real = 
    IF phi = 0 then 0 
    ELSE 1845*tan(phi)/intruderSpeed 
    ENDIF

  TRKRATE(phi): real =
    IF phi = 0 then 0 
    ELSE 1845*TAN(phi)/250
    ENDIF

  dx(intruder,evader,t): real = 
    (x(intruder) + t*intruderSpeed*cos(heading(intruder))) -
    (x(evader) + t*evaderSpeed)

  dy(intruder,evader,t): real = 
    (y(intruder) + t*intruderSpeed*sin(heading(intruder))) -
    y(evader)
  
  dxdt(intruder): real = 
    intruderSpeed*cos(heading(intruder)) - evaderSpeed

  dydt(intruder): real = 
    intruderSpeed*sin(heading(intruder))

  R(intruder,evader,t): real = 
    sqrt(sq(dx(intruder,evader,t)) + sq(dy(intruder,evader,t)))

  div_tau(intruder,evader) : real = 
    sq(dxdt(intruder)) + sq(dydt(intruder)) 

  tau(intruder,evader,t):real = 
    IF div_tau(intruder,evader) = 0 THEN 0
    ELSE
      -(dx(intruder,evader,t) * dxdt(intruder) + 
        dy(intruder,evader,t) * dydt(intruder))/div_tau(intruder,evader)
    ENDIF

%-- Alertitrang algorithm

  chkrange(range,t): bool =
    range <= alertRange AND t <= alertTime

  chktrack(intruder,evader,tpred): bool = 
    LET tau = tau(intruder,evader,0) IN
    IF tau <= 0 THEN                       % tracks are diverging (or parallel)
      chkrange(R(intruder,evader,0),tpred) % check range at prediction time t
    ELSIF tpred+tau > alertTime THEN       % tracks are converging 
      R(intruder,evader,alertTime)         % closest approach beyond alert time
      <= alertRange                        % check range at alert threshold
    ELSE                                   % closest approach within alert time.
      R(intruder,evader,tau)               % check range at closest approach.
      <= alertRange              
    ENDIF

  arc_loop(intruder,evader,arcrad,trkrate,idtrk,iarc): RECURSIVE bool =
    IF iarc = maxStep THEN false
    ELSE 
      LET tpred = iarc*tstep IN
      LET xloc = x(evader) + evaderSpeed*tpred IN
      LET yloc = y(evader) + evaderSpeed*tpred IN
      %% There are two cases trkrate > 0 or trkrate < 0
      LET (xtrk,ytrk) = 
        IF trkrate > 0 THEN
          (x(intruder) + arcrad*(sin(heading(intruder)+trkrate*tpred) - 
                           sin(heading(intruder))),
           y(intruder) + arcrad*(cos(heading(intruder))-
                           cos(heading(intruder)+trkrate*tpred)))
        ELSE
          (x(intruder) + arcrad*(sin(heading(intruder)) - 
                           sin(heading(intruder))+trkrate*tpred),
           y(intruder) + arcrad*(cos(heading(intruder)+trkrate*tpred)-
                           cos(heading(intruder))))
        ENDIF IN
      IF NOT mod(iarc,idtrk) = 0 THEN     % not time for tangential track
        LET range = sqrt(sq(xtrk-xloc) + sq(ytrk-yloc)) IN
          IF chkrange(range,tpred) THEN true
          ELSE arc_loop(intruder,evader,arcrad,trkrate,idtrk,iarc+1)
          ENDIF
      ELSE  % tangential track
        LET tantrk = heading(intruder) + tpred*trkrate IN
        LET int = intruder WITH [x:=xtrk, y:=ytrk, heading:=tantrk] IN 
        LET eva = evader   WITH [x:=xloc, y:=yloc] IN
        IF chktrack(int,eva,tpred)  THEN true
        ELSE arc_loop(intruder,evader,arcrad,trkrate,idtrk,iarc+1)
        ENDIF
      ENDIF
    ENDIF
  MEASURE (maxStep - iarc)

  larcalert(intruder,evader): bool = 
    LET phi = phi(intruder) IN
    LET trkrate = trkrate(phi) IN
    IF trkrate = 0 THEN 
      chktrack(intruder,evader,0)
    ELSE
      LET arcrad = sq(intruderSpeed)/(g*tan(phi)) IN
      LET idtrk = 
        IF trkrate >= 3 THEN 1
        ELSIF trkrate >= 1 + 1/2 THEN 2
        ELSIF trkrate >= 3/4 THEN 4
        ELSE 8
        ENDIF IN
      arc_loop(intruder,evader,arcrad,trkrate,idtrk,0)
    ENDIF

%-- Model of trajectories

  next_state(s,phi): State =
    s WITH [
      x 	:= x(s) + v(s)*tstep*cos(heading(s)), 
      y 	:= y(s) + v(s)*tstep*sin(heading(s)), 
      heading 	:= heading(s) + tstep*trkrate(phi(s)), 
      phi 	:= phi
    ] 

  trajectory(s,df,n): RECURSIVE State =
    IF n = 0 THEN s
    ELSE 
      next_state(trajectory(s, df, n-1),df(n))
    ENDIF
    MEASURE n

  trajectory_r(s,df,n,(i:subrange(0,n))): RECURSIVE State =
    IF i = n THEN s
    ELSE 
      trajectory_r(next_state(s,df(i+1)),df,n,i+1)
    ENDIF
    MEASURE (n-i)

  intruder_inv : LEMMA
    FORALL(n,(i:upto(n))) :
      s = trajectory(intruder,df,n-i) 
      IMPLIES
      trajectory(intruder,df,n) = 
      trajectory_r(s,df,n,n-i)

  trajectory_to_trajectory_r : LEMMA
    trajectory(intruder,df,n) = 
    trajectory_r(intruder,df,n,0)

  evader_trajectory : lemma
    heading(evader) = 0 implies
    trajectory(evader,zero_bank,n) =
      (#
        x 	:= x(evader) + v(evader) * tstep * n,
        y 	:= y(evader),
        v		:= v(evader),
        heading 	:= heading(evader),
        phi 	:= phi(evader)
      #)

  h_c(s,df,n) : recursive real =
    if n = 0 then 0
    else if n = 1 then 0
         else
         trkrate(df(n-1)) + h_c(s,df,n-1)
         endif
    endif
    measure n

  first_step(s,n) : real =
    if n = 0 then 0
    else trkrate(phi(s))
    endif

  trajectory_heading : lemma
   heading(trajectory(s,df,n)) = (heading(s) + tstep*first_step(s,n)) + tstep*h_c(s,df,n)

  intruder_speed : lemma 
  v(trajectory(intruder,df,n)) = intruderSpeed
  
  evader_speed : lemma
  v(trajectory(evader,df,n)) = evaderSpeed

  speed : lemma 
  v(trajectory(s,df,n)) = v(s)

  collision_scenario(s1,s2,df,n): bool =
    collision(trajectory(s1,df,n),
	      trajectory(s2,zero_bank,n))

end ails

$$$ails.prf
(|ails| (|zero_bank_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|neg_35_bank_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|pos_35_bank_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|iarc_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|mod_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|mod_TCC2| "" (TERMINATION-TCC) NIL NIL)
 (|trkrate_TCC1| "" (LEMMA "cos_of_Bank")
  (("" (SKOSIMP*) (("" (INST?) (("" (ASSERT) NIL NIL)) NIL)) NIL)) NIL)
 (|tau_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|arc_loop_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|arc_loop_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|arc_loop_TCC3| "" (SUBTYPE-TCC) NIL NIL)
 (|arc_loop_TCC4| "" (TERMINATION-TCC) NIL NIL)
 (|arc_loop_TCC5| "" (SUBTYPE-TCC) NIL NIL)
 (|arc_loop_TCC6| "" (TERMINATION-TCC) NIL NIL)
 (|arc_loop_TCC7| "" (TERMINATION-TCC) NIL NIL)
 (|arc_loop_TCC8| "" (TERMINATION-TCC) NIL NIL)
 (|larcalert_TCC1| "" (SKOSIMP*)
  (("" (LEMMA "cos_of_Bank") (("" (INST?) (("" (ASSERT) NIL NIL)) NIL))
    NIL))
  NIL)
 (|larcalert_TCC2| "" (SKOSIMP*)
  (("" (CASE "phi!1 =0")
    (("1" (EXPAND "trkrate") (("1" (ASSERT) NIL NIL)) NIL)
     ("2" (LEMMA "sin_decreases_towards_neg_90_lt")
      (("2" (EXPAND "tan")
        (("2" (TYPEPRED "phi!1")
          (("2" (EXPAND "abs")
            (("2" (CASE "phi!1 < 0")
              (("1" (INST -3 "phi!1" "0")
                (("1" (ASSERT)
                  (("1" (LEMMA "sin_of_0_180")
                    (("1" (SKOSIMP*)
                      (("1" (CASE-REPLACE "g = (32 + 2/10)")
                        (("1" (REPLACE -2 -7)
                          (("1" (DELETE -1 -2 -3 -4 -5 -6 -8 -9 1 2)
                            (("1" (LEMMA "div_eq_zero")
                              (("1"
                                (INST -1 "cos(phi!1)" "sin(phi!1)")
                                (("1" (ASSERT) NIL NIL)
                                 ("2"
                                  (REWRITE "cos_of_Bank ")
                                  NIL
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL)
                         ("2" (EXPAND "g") (("2" (PROPAX) NIL NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (INST -2 "0" "phi!1")
                (("2" (ASSERT)
                  (("2" (LEMMA "sin_of_0_180")
                    (("2" (SKOSIMP*)
                      (("2" (REPLACE -1 -5)
                        (("2" (CASE-REPLACE "g = (32 + 2/10)")
                          (("1" (DELETE -1 -2 -3 -4 -5 -7 -8 1 2 3)
                            (("1" (LEMMA "div_eq_zero")
                              (("1"
                                (INST -1 "cos(phi!1)" "sin(phi!1)")
                                (("1" (ASSERT) NIL NIL)
                                 ("2"
                                  (REWRITE "cos_of_Bank ")
                                  NIL
                                  NIL))
                                NIL))
                              NIL))
                            NIL)
                           ("2" (EXPAND "g") (("2" (PROPAX) NIL NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|larcalert_TCC3| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_TCC2| "" (TERMINATION-TCC) NIL NIL)
 (|trajectory_TCC3| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_r_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_r_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_r_TCC3| "" (TERMINATION-TCC) NIL NIL)
 (|intruder_inv_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|intruder_inv_TCC2| "" (SUBTYPE-TCC) NIL NIL)
 (|intruder_inv| "" (SKOLEM 1 ("tr" "intruder" _ "N" _))
  (("" (INDUCT "i")
    (("1" (GRIND) NIL NIL)
     ("2" (SKOLEM 1 "K")
      (("2" (GROUND)
        (("2" (TYPEPRED "K")
          (("2" (SKOLEM 1 "s")
            (("2" (GROUND)
              (("2"
                (CASE "next_state(s,tr(N-K)) = trajectory(intruder,tr,N-K)")
                (("1" (HIDE -5)
                  (("1" (INST? -4)
                    (("1" (GROUND)
                      (("1" (HIDE -2)
                        (("1" (REPLACE -1 :HIDE? T)
                          (("1" (GRIND) NIL NIL)) NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL)
                 ("2" (HIDE -3 2) (("2" (GRIND) NIL NIL)) NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trajectory_to_trajectory_r_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_to_trajectory_r| "" (SKOLEM 1 ("tr" "intruder" "n"))
  (("" (LEMMA "intruder_inv") (("" (GRIND) NIL NIL)) NIL)) NIL)
 (|evader_trajectory| "" (INDUCT "n")
  (("1" (GRIND)
    (("1" (EXTENSIONALITY "State")
      (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" +)
      (("2" (INST?)
        (("2" (ASSERT)
          (("2" (REPLACE -1 +)
            (("2" (DELETE -1)
              (("2" (EXPAND "next_state")
                (("2" (TYPEPRED "evader!1")
                  (("2" (GRIND)
                    (("1" (LEMMA "sin_of_0_180")
                      (("1" (GROUND) NIL NIL)) NIL)
                     ("2" (LEMMA "cos_of_0")
                      (("2" (INST -1 "0") (("2" (GROUND) NIL NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|h_c_TCC1| "" (SUBTYPE-TCC) NIL NIL)
 (|trajectory_heading| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST?)
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2" (EXPAND "h_c" 1)
              (("2" (CASE "j!1=0")
                (("1" (REPLACE -1 1)
                  (("1" (GROUND) (("1" (GRIND) NIL NIL)) NIL)) NIL)
                 ("2" (ASSERT)
                  (("2" (EXPAND "first_step")
                    (("2"
                      (CASE "tstep * trkrate(phi(trajectory(s!1, df!1, j!1))) = trkrate(df!1(j!1)) * tstep")
                      (("1" (GROUND) NIL NIL)
                       ("2" (DELETE -1 2 3)
                        (("2" (EXPAND "trajectory")
                          (("2" (EXPAND "next_state")
                            (("2" (ASSERT) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|intruder_speed| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" 1)
      (("2" (EXPAND "next_state") (("2" (GRIND) NIL NIL)) NIL)) NIL))
    NIL))
  NIL)
 (|evader_speed| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL) ("2" (GRIND) NIL NIL)) NIL)
 (|speed| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST?)
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state") (("2" (PROPAX) NIL NIL)) NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL))


$$$coordinate_transf.pvs

coordinate_transf : THEORY

  BEGIN

   importing ails

%-- Types

  tr_rg(n:nat)		: type = {p:nat | p <= n}

   
%-- Variables

  s,s1,s2	   	: var State
  intruder		: var {s:State | v(s) = intruderSpeed}
  evader		: VAR {s:State | v(s) = evaderSpeed and phi(s) = 0}
  df	 		: VAR bank_func
  phi,phi1,phi2  	: VAR Bank
  t,t1,t2,tpred		: var real
  m			: var posnat
  n,n1,n2		: var nat


  trans(s:State,xo,yo:real) : State =
   s with [x := x(s) - xo, y := y(s) - yo]

  trans_before_after_traj_eq : lemma
   forall (xo,yo:real) :
   trajectory(trans(s,xo,yo),df,n) =
   trans(trajectory(s,df,n),xo,yo)

  distance_eq_over_translation : lemma
   forall (s1,s2:State,xo,yo:real) :
   distance(trans(s1,xo,yo),trans(s2,xo,yo)) =
   distance(s1,s2)

  collision_scenario_equivalent_over_translation : lemma
   forall (xo,yo:real):
    collision_scenario(trans(intruder,xo,yo),trans(evader,xo,yo),df,n) =
    collision_scenario(intruder,evader,df,n)

  rot(s:{s:State|x(s) /= 0},r:degrees) : State = 
   let rl = if x(s) > 0 then r else r + 180 endif in
    s with [
    x := sqrt(sq(x(s)) + sq(y(s))) * cos(arctan(y(s)/x(s)) - rl),
    y := sqrt(sq(x(s)) + sq(y(s))) * sin(arctan(y(s)/x(s)) - rl),
    heading := heading(s) - r]

  rot_before_after_traj_eq	 : lemma
    forall (r:degrees,n:nat) :
    (forall (n2:tr_rg(n)): x(trajectory(s,df,n2)) /= 0) implies
    trajectory(rot(s,r),df,n) =
    rot(trajectory(s,df,n),r)

  rot_zero : lemma
    x(s) /= 0 implies
    rot(s, 0) = s

  distance_eq_over_rotation : lemma
   forall (r:degrees):
    x(s1) /= 0 and x(s2) /= 0 implies
    distance(rot(s1,r),rot(s2,r)) = 
    distance(s1,s2)
  
  collision_eq_over_rotation : lemma
   forall (r:degrees):
    x(s1) /= 0 and x(s2) /= 0 implies
    collision(rot(s1,r),rot(s2,r)) = 
    collision(s1,s2) 

  collision_scenario_equivalent_over_rotation : lemma
   forall (r:degrees,n:nat):
    (forall (n2:tr_rg(n)): x(trajectory(intruder,df,n2)) /= 0) and
    (forall (n2:tr_rg(n)): x(trajectory(evader,zero_bank,n2)) /= 0) implies
    collision_scenario(rot(intruder,r),rot(evader,r),df,n) = 
    collision_scenario(intruder,evader,df,n) 

% trajectory periodic over heading

  sin_cos_eq_trajectory : lemma
   forall (i:int) :
   sin(heading(trajectory(s WITH [heading := heading(s) + 360 * i],
                         df, n))) =
   sin(heading(trajectory(s, df, n))) and
   cos(heading(trajectory(s WITH [heading := heading(s) + 360 * i],
                         df, n))) =
   cos(heading(trajectory(s, df, n)))
 
  trajectory_periodic_y : lemma
   forall (i:int) :
   y(trajectory(s with [heading := heading(s) + 360 * i],df,n)) =
   y(trajectory(s,df,n)) 

  trajectory_periodic_x : lemma
   forall (i:int) :
   x(trajectory(s with [heading := heading(s) + 360 * i],df,n)) =
   x(trajectory(s,df,n)) 
  
  
END coordinate_transf

$$$coordinate_transf.prf
(|coordinate_transf|
 (|trans_before_after_traj_eq| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" +)
      (("2" (INST?)
        (("2" (REPLACE*)
          (("2" (DELETE -1)
            (("2" (EXPAND "next_state")
              (("2" (EXPAND "trans") (("2" (PROPAX) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_eq_over_translation| "" (SKOSIMP*)
  (("" (EXPAND "trans")
    (("" (EXPAND "distance") (("" (PROPAX) NIL NIL)) NIL)) NIL))
  NIL)
 (|collision_scenario_equivalent_over_translation| "" (SKOSIMP*)
  (("" (EXPAND "collision_scenario")
    (("" (EXPAND "collision")
      (("" (REWRITE "trans_before_after_traj_eq")
        (("" (REWRITE "trans_before_after_traj_eq")
          (("" (EXPAND "trans")
            (("" (EXPAND "distance") (("" (PROPAX) NIL NIL)) NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|rot_TCC1| "" (GRIND) NIL NIL)
 (|rot_before_after_traj_eq_TCC1| "" (SKOSIMP*)
  (("" (INST -1 "0")
    (("" (EXPAND "trajectory") (("" (PROPAX) NIL NIL)) NIL)) NIL))
  NIL)
 (|rot_before_after_traj_eq_TCC2| "" (GRIND) NIL NIL)
 (|rot_before_after_traj_eq| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (EXPAND "trajectory" +)
      (("2" (INST?)
        (("2"
          (CASE-REPLACE
           "(FORALL (n2: tr_rg(j!1)): x(trajectory(s!1, df!1, n2)) /= 0)")
          (("1" (ASSERT)
            (("1" (REPLACE*)
              (("1" (DELETE -1)
                (("1" (DELETE -1)
                  (("1" (AUTO-REWRITE "next_state" "rot")
                    (("1" (ASSERT)
                      (("1"
                        (NAME-REPLACE "tr!1"
                         "trajectory(s!1, df!1, j!1)")
                        (("1" (NAME-REPLACE "XIT" "x(tr!1)")
                          (("1" (NAME-REPLACE "YIT" "y(tr!1)")
                            (("1" (NAME-REPLACE "HIT" "heading(tr!1)")
                              (("1"
                                (ASSERT)
                                (("1"
                                  (NAME "K" "v(tr!1) * tstep")
                                  (("1"
                                    (CASE
                                     "forall (x:real): x * v(tr!1) * tstep = x * K")
                                    (("1"
                                      (AUTO-REWRITE -1)
                                      (("1"
                                        (ASSERT)
                                        (("1"
                                          (AUTO-REWRITE
                                           "cos_of_sub"
                                           "sin_of_sub"
                                           "cos_of_arctan"
                                           "sin_of_arctan")
                                          (("1"
                                            (ASSERT)
                                            (("1"
                                              (NAME-REPLACE
                                               "aux!1"
                                               "cos(HIT) * K + XIT"
                                               :HIDE?
                                               NIL)
                                              (("1"
                                                (NAME-REPLACE
                                                 "aux!2"
                                                 "sin(HIT) * K + YIT"
                                                 :HIDE?
                                                 NIL)
                                                (("1"
                                                  (CASE-REPLACE
                                                   "XIT < 0")
                                                  (("1"
                                                    (CASE "aux!1 < 0")
                                                    (("1"
                                                      (ASSERT)
                                                      (("1"
                                                        (AUTO-REWRITE
                                                         "cos_of_sum"
                                                         "sin_of_sum")
                                                        (("1"
                                                          (ASSERT)
                                                          (("1"
                                                            (LEMMA
                                                             "cos_of_180")
                                                            (("1"
                                                              (INST
                                                               -1
                                                               "0")
                                                              (("1"
                                                                (ASSERT)
                                                                (("1"
                                                                  (LEMMA
                                                                   "sin_of_0_180")
                                                                  (("1"
                                                                    (FLATTEN
                                                                     -1)
                                                                    (("1"
                                                                      (REPLACE

                                                                       -2)
                                                                      (("1"
                                                                        (REPLACE

                                                                         -4)
                                                                        (("1"
                                                                          (GROUND)
                                                                          (("1"
                                                                            (CASE
                                                                             "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                                                            (("1"
                                                                              (CASE
                                                                               "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                                                              (("1"
                                                                                (CASE
                                                                                 "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                                                                (("1"
                                                                                  (AUTO-REWRITE
                                                                                   -1)
                                                                                  (("1"
                                                                                    (ASSERT)
                                                                                    (("1"
                                                                                      (AUTO-REWRITE
                                                                                       -1)
                                                                                      (("1"
                                                                                        (ASSERT)
                                                                                        (("1"
                                                                                          (AUTO-REWRITE
                                                                                           -1)
                                                                                          (("1"
                                                                                            (ASSERT)
                                                                                            (("1"
                                                                                              (CASE
                                                                                               "FORALL (x: nzreal), (y, z: real): z * (y /x) * x = z * y")
                                                                                              (("1"
                                                                                                (AUTO-REWRITE
                                                                                                 -1)
                                                                                                (("1"
                                                                                                  (ASSERT)
                                                                                                  (("1"
                                                                                                    (CASE
                                                                                                     "FORALL (x: nzreal), (y, z: real): (y /x) * z * x = z * y")
                                                                                                    (("1"
                                                                                                      (AUTO-REWRITE
                                                                                                       -1)
                                                                                                      (("1"
                                                                                                        (ASSERT)
                                                                                                        NIL
                                                                                                        NIL))
                                                                                                      NIL)
                                                                                                     ("2"
                                                                                                      (ASSERT)
                                                                                                      NIL
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL)
                                                                                               ("2"
                                                                                                (ASSERT)
                                                                                                NIL
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL)
                                                                                 ("2"
                                                                                  (DELETE

                                                                                   -)
                                                                                  (("2"
                                                                                    (DELETE

                                                                                     2)
                                                                                    (("2"
                                                                                      (SKOSIMP*)
                                                                                      (("2"
                                                                                        (AUTO-REWRITE
                                                                                         "square_divide"
                                                                                         "sqrt_divide"
                                                                                         "sqrt_of_sq"
                                                                                         "abs")
                                                                                        (("2"
                                                                                          (ASSERT)
                                                                                          NIL
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL)
                                                                               ("2"
                                                                                (DELETE

                                                                                 -)
                                                                                (("2"
                                                                                  (DELETE

                                                                                   2)
                                                                                  (("2"
                                                                                    (SKOSIMP*)
                                                                                    (("2"
                                                                                      (REWRITE
                                                                                       "one_over_sqrt_4")
                                                                                      (("2"
                                                                                        (GROUND)
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL)
                                                                             ("2"
                                                                              (DELETE

                                                                               2)
                                                                              (("2"
                                                                                (DELETE

                                                                                 -)
                                                                                (("2"
                                                                                  (SKOSIMP*)
                                                                                  (("2"
                                                                                    (REWRITE
                                                                                     "one_over_sqrt_3")
                                                                                    (("2"
                                                                                      (GROUND)
                                                                                      NIL
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (INST
                                                       -5
                                                       "j!1 + 1")
                                                      (("2"
                                                        (EXPAND
                                                         "trajectory")
                                                        (("2"
                                                          (EXPAND
                                                           "next_state")
                                                          (("2"
                                                            (REVEAL
                                                             -2
                                                             -4
                                                             -5)
                                                            (("2"
                                                              (REPLACE

                                                               -3)
                                                              (("2"
                                                                (CASE
                                                                 "v(tr!1) * cos(heading(tr!1)) * tstep = cos(heading(tr!1)) * K")
                                                                (("1"
                                                                  (REPLACE

                                                                   -1)
                                                                  (("1"
                                                                    (REPLACE*)
                                                                    (("1"
                                                                      (ASSERT)
                                                                      (("1"
                                                                        (AUTO-REWRITE
                                                                         "cos_of_sum"
                                                                         "sin_of_sum")
                                                                        (("1"
                                                                          (ASSERT)
                                                                          (("1"
                                                                            (LEMMA
                                                                             "cos_of_180")
                                                                            (("1"
                                                                              (INST
                                                                               -1
                                                                               "0")
                                                                              (("1"
                                                                                (ASSERT)
                                                                                (("1"
                                                                                  (LEMMA
                                                                                   "sin_of_0_180")
                                                                                  (("1"
                                                                                    (FLATTEN
                                                                                     -1)
                                                                                    (("1"
                                                                                      (REPLACE

                                                                                       -2)
                                                                                      (("1"
                                                                                        (REPLACE

                                                                                         -4)
                                                                                        (("1"
                                                                                          (GROUND)
                                                                                          (("1"
                                                                                            (CASE
                                                                                             "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                                                                            (("1"
                                                                                              (CASE
                                                                                               "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                                                                              (("1"
                                                                                                (CASE
                                                                                                 "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                                                                                (("1"
                                                                                                  (AUTO-REWRITE
                                                                                                   -1)
                                                                                                  (("1"
                                                                                                    (ASSERT)
                                                                                                    (("1"
                                                                                                      (AUTO-REWRITE
                                                                                                       -1)
                                                                                                      (("1"
                                                                                                        (ASSERT)
                                                                                                        (("1"
                                                                                                          (AUTO-REWRITE
                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (ASSERT)
                                                                                                            (("1"
                                                                                                              (CASE
                                                                                                               "FORALL (x: nzreal), (y, z: real): (y /x) * z * x = z * y")
                                                                                                              (("1"
                                                                                                                (AUTO-REWRITE
                                                                                                                 -1)
                                                                                                                (("1"
                                                                                                                  (ASSERT)
                                                                                                                  (("1"
                                                                                                                    (CASE
                                                                                                                     "FORALL (x: nzreal), (y, z: real): z * (y /x) * x = z * y")
                                                                                                                    (("1"
                                                                                                                      (AUTO-REWRITE
                                                                                                                       -1)
                                                                                                                      (("1"
                                                                                                                        (ASSERT)
                                                                                                                        NIL
                                                                                                                        NIL))
                                                                                                                      NIL)
                                                                                                                     ("2"
                                                                                                                      (ASSERT)
                                                                                                                      NIL
                                                                                                                      NIL))
                                                                                                                    NIL))
                                                                                                                  NIL))
                                                                                                                NIL)
                                                                                                               ("2"
                                                                                                                (ASSERT)
                                                                                                                NIL
                                                                                                                NIL))
                                                                                                              NIL))
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL)
                                                                                                 ("2"
                                                                                                  (ASSERT)
                                                                                                  NIL
                                                                                                  NIL))
                                                                                                NIL)
                                                                                               ("2"
                                                                                                (SKOSIMP*)
                                                                                                (("2"
                                                                                                  (REWRITE
                                                                                                   "one_over_sqrt_4")
                                                                                                  (("2"
                                                                                                    (GROUND)
                                                                                                    NIL
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL)
                                                                                             ("2"
                                                                                              (SKOSIMP*)
                                                                                              (("2"
                                                                                                (REWRITE
                                                                                                 "one_over_sqrt_3")
                                                                                                (("2"
                                                                                                  (GROUND)
                                                                                                  NIL
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL)
                                                                 ("2"
                                                                  (ASSERT)
                                                                  NIL
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (INST -4 "j!1")
                                                    (("2"
                                                      (REVEAL -4 -5)
                                                      (("2"
                                                        (REPLACE*)
                                                        (("2"
                                                          (REPLACE*)
                                                          (("2"
                                                            (ASSERT)
                                                            (("2"
                                                              (CASE
                                                               "aux!1 < 0")
                                                              (("1"
                                                                (ASSERT)
                                                                (("1"
                                                                  (AUTO-REWRITE
                                                                   "cos_of_sum"
                                                                   "sin_of_sum")
                                                                  (("1"
                                                                    (ASSERT)
                                                                    (("1"
                                                                      (LEMMA
                                                                       "sin_of_0_180")
                                                                      (("1"
                                                                        (FLATTEN
                                                                         -1)
                                                                        (("1"
                                                                          (LEMMA
                                                                           "cos_of_180")
                                                                          (("1"
                                                                            (INST
                                                                             -1
                                                                             "0")
                                                                            (("1"
                                                                              (ASSERT)
                                                                              (("1"
                                                                                (REPLACE*)
                                                                                (("1"
                                                                                  (GROUND)
                                                                                  (("1"
                                                                                    (CASE
                                                                                     "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                                                                    (("1"
                                                                                      (CASE
                                                                                       "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                                                                      (("1"
                                                                                        (CASE
                                                                                         "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                                                                        (("1"
                                                                                          (AUTO-REWRITE
                                                                                           -1)
                                                                                          (("1"
                                                                                            (ASSERT)
                                                                                            (("1"
                                                                                              (AUTO-REWRITE
                                                                                               -1)
                                                                                              (("1"
                                                                                                (ASSERT)
                                                                                                (("1"
                                                                                                  (AUTO-REWRITE
                                                                                                   -1)
                                                                                                  (("1"
                                                                                                    (ASSERT)
                                                                                                    (("1"
                                                                                                      (CASE
                                                                                                       "FORALL (x: nzreal), (y, z: real): (y /x) * z * x = z * y")
                                                                                                      (("1"
                                                                                                        (AUTO-REWRITE
                                                                                                         -1)
                                                                                                        (("1"
                                                                                                          (ASSERT)
                                                                                                          NIL
                                                                                                          NIL))
                                                                                                        NIL)
                                                                                                       ("2"
                                                                                                        (ASSERT)
                                                                                                        NIL
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL)
                                                                                         ("2"
                                                                                          (ASSERT)
                                                                                          NIL
                                                                                          NIL))
                                                                                        NIL)
                                                                                       ("2"
                                                                                        (DELETE

                                                                                         -)
                                                                                        (("2"
                                                                                          (DELETE

                                                                                           2
                                                                                           3

                                                                                           4)
                                                                                          (("2"
                                                                                            (SKOSIMP*)
                                                                                            (("2"
                                                                                              (REWRITE
                                                                                               "one_over_sqrt_4")
                                                                                              (("2"
                                                                                                (GROUND)
                                                                                                NIL
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("2"
                                                                                      (SKOSIMP*)
                                                                                      (("2"
                                                                                        (REWRITE
                                                                                         "one_over_sqrt_3")
                                                                                        (("2"
                                                                                          (GROUND)
                                                                                          NIL
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("2"
                                                                (REVEAL
                                                                 -1)
                                                                (("2"
                                                                  (INST
                                                                   -1
                                                                   "j!1 + 1")
                                                                  (("2"
                                                                    (EXPAND
                                                                     "trajectory"
                                                                     -1)
                                                                    (("2"
                                                                      (EXPAND
                                                                       "next_state")
                                                                      (("2"
                                                                        (REPLACE*)
                                                                        (("2"
                                                                          (REVEAL
                                                                           -2)
                                                                          (("2"
                                                                            (REPLACE

                                                                             -1)
                                                                            (("2"
                                                                              (CASE
                                                                               "FORALL (x: real): v(tr!1) * x * tstep = x * K")
                                                                              (("1"
                                                                                (ASSERT)
                                                                                (("1"
                                                                                  (CASE
                                                                                   "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                                                                  (("1"
                                                                                    (CASE
                                                                                     "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                                                                    (("1"
                                                                                      (AUTO-REWRITE
                                                                                       -1)
                                                                                      (("1"
                                                                                        (ASSERT)
                                                                                        (("1"
                                                                                          (AUTO-REWRITE
                                                                                           -1)
                                                                                          (("1"
                                                                                            (ASSERT)
                                                                                            (("1"
                                                                                              (CASE
                                                                                               "FORALL (x: nzreal), (y, z: real): (y /x) * z * x = z * y")
                                                                                              (("1"
                                                                                                (CASE
                                                                                                 "FORALL (x: nzreal), (y, z: real): z * (y /x) * x = z * y")
                                                                                                (("1"
                                                                                                  (AUTO-REWRITE
                                                                                                   -1)
                                                                                                  (("1"
                                                                                                    (ASSERT)
                                                                                                    NIL
                                                                                                    NIL))
                                                                                                  NIL)
                                                                                                 ("2"
                                                                                                  (SKOSIMP*)
                                                                                                  (("2"
                                                                                                    (ASSERT)
                                                                                                    NIL
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL)
                                                                                               ("2"
                                                                                                (SKOSIMP*)
                                                                                                (("2"
                                                                                                  (ASSERT)
                                                                                                  NIL
                                                                                                  NIL))
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("2"
                                                                                      (ASSERT)
                                                                                      NIL
                                                                                      NIL))
                                                                                    NIL)
                                                                                   ("2"
                                                                                    (SKOSIMP*)
                                                                                    (("2"
                                                                                      (REWRITE
                                                                                       "one_over_sqrt_3")
                                                                                      (("2"
                                                                                        (ASSERT)
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL)
                                                                               ("2"
                                                                                (ASSERT)
                                                                                NIL
                                                                                NIL))
                                                                              NIL))
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL)
                                     ("2"
                                      (SKOSIMP*)
                                      (("2" (ASSERT) NIL NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (HIDE 2)
            (("2" (SKOSIMP*)
              (("2" (INST -3 "n2!1") (("2" (ASSERT) NIL NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("3" (DELETE 2)
    (("3" (SKOSIMP*)
      (("3" (INST -1 "n!2") (("3" (ASSERT) NIL NIL)) NIL)) NIL))
    NIL)
   ("4" (DELETE 2)
    (("4" (SKOSIMP*)
      (("4" (INST -1 "0")
        (("4" (EXPAND "trajectory") (("4" (PROPAX) NIL NIL)) NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|rot_zero| "" (GRIND)
  (("1" (REWRITE "cos_of_arctan")
    (("1" (REWRITE "sin_of_arctan")
      (("1" (LEMMA "one_over_sqrt_1")
        (("1" (INST?)
          (("1" (EXPAND "sq")
            (("1"
              (CASE "(y(s!1) / x(s!1) /
                      (sqrt(1 + y(s!1) / x(s!1) * (y(s!1) / x(s!1))))) = 
             (y(s!1) / x(s!1))* (1/
                      (sqrt(1 + y(s!1) / x(s!1) * (y(s!1) / x(s!1)))))")
              (("1" (REPLACE -1 2)
                (("1" (REPLACE -2 2)
                  (("1" (HIDE -1 -2) (("1" (GRIND) NIL NIL)) NIL))
                  NIL))
                NIL)
               ("2" (HIDE -1 -2 2 3) (("2" (GRIND) NIL NIL)) NIL)
               ("3" (LEMMA "sqrt_0_x_0")
                (("3" (INST?)
                  (("1" (LEMMA "sq_x_ge_0")
                    (("1" (INST?) (("1" (GROUND) NIL NIL)) NIL)) NIL)
                   ("2" (LEMMA "sq_x_ge_0")
                    (("2" (INST?) (("2" (GROUND) NIL NIL)) NIL)) NIL))
                  NIL))
                NIL)
               ("4" (LEMMA "sq_x_ge_0")
                (("4" (INST?) (("4" (GROUND) NIL NIL)) NIL)) NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL)
   ("2" (REWRITE "cos_of_sub")
    (("2" (REWRITE "sin_of_sub")
      (("2" (LEMMA "cos_of_180")
        (("2" (INST -1 "0")
          (("2" (GROUND)
            (("2" (REPLACE -1)
              (("2" (LEMMA "sin_of_0_180")
                (("2" (SKOSIMP*)
                  (("2" (REPLACE -2)
                    (("2" (GROUND)
                      (("2" (REWRITE "cos_of_arctan")
                        (("2" (REWRITE "sin_of_arctan")
                          (("2"
                            (CASE "(y(s!1) / x(s!1) /
                      (sqrt(1 + y(s!1) / x(s!1) * (y(s!1) / x(s!1))))) = 
             (y(s!1) / x(s!1))* (1/
                      (sqrt(1 + y(s!1) / x(s!1) * (y(s!1) / x(s!1)))))")
                            (("1" (REPLACE -1 3)
                              (("1"
                                (LEMMA "one_over_sqrt_2")
                                (("1"
                                  (INST?)
                                  (("1"
                                    (ASSERT)
                                    (("1"
                                      (REPLACE -1 3)
                                      (("1"
                                        (HIDE -1 -2 -3 -4 -5 -6)
                                        (("1" (GRIND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL)
                             ("2" (GRIND) NIL NIL)
                             ("3" (LEMMA "sqrt_0_x_0")
                              (("3"
                                (INST?)
                                (("1"
                                  (LEMMA "sq_x_ge_0")
                                  (("1"
                                    (INST?)
                                    (("1" (GROUND) NIL NIL))
                                    NIL))
                                  NIL)
                                 ("2"
                                  (LEMMA "sq_x_ge_0")
                                  (("2"
                                    (INST?)
                                    (("2" (GROUND) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL)
                             ("4" (LEMMA "sq_x_ge_0")
                              (("4"
                                (INST?)
                                (("4" (GROUND) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|distance_eq_over_rotation| "" (SKOSIMP*)
  (("" (EXPAND "distance")
    (("" (EXPAND "rot")
      (("" (CASE "x(s1!1) > 0")
        (("1" (CASE "x(s2!1) > 0")
          (("1" (ASSERT)
            (("1" (AUTO-REWRITE "sin_of_sub" "cos_of_sub")
              (("1" (ASSERT)
                (("1" (AUTO-REWRITE "cos_of_arctan" "sin_of_arctan")
                  (("1" (ASSERT)
                    (("1"
                      (CASE "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                      (("1" (AUTO-REWRITE -1)
                        (("1" (ASSERT)
                          (("1"
                            (CASE "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                            (("1" (AUTO-REWRITE -1)
                              (("1"
                                (ASSERT)
                                (("1"
                                  (CASE
                                   "FORALL (x: nzreal), (y, z: real): z * x * (y /x) = z * y")
                                  (("1"
                                    (AUTO-REWRITE -1)
                                    (("1"
                                      (ASSERT)
                                      (("1"
                                        (CASE
                                         "FORALL (x: nzreal), (y, z: real): x * z * (y /x) = z * y")
                                        (("1"
                                          (AUTO-REWRITE -1)
                                          (("1"
                                            (ASSERT)
                                            (("1"
                                              (EXPAND "sq")
                                              (("1"
                                                (GROUND)
                                                (("1"
                                                  (CASE
                                                   "forall (x:real): x * x = sq(x)")
                                                  (("1"
                                                    (AUTO-REWRITE -1)
                                                    (("1"
                                                      (ASSERT)
                                                      (("1"
                                                        (ASSERT)
                                                        (("1"
                                                          (CASE
                                                           "sq(x(s1!1)) * sq(cos(r!1)) + sq(y(s1!1)) * sq(cos(r!1)) +             sq(x(s2!1)) * sq(cos(r!1))             + sq(y(s2!1)) * sq(cos(r!1))             + sq(sin(r!1)) * sq(x(s1!1))             + sq(sin(r!1)) * sq(y(s1!1))             + sq(sin(r!1)) * sq(x(s2!1))             + sq(sin(r!1)) * sq(y(s2!1))             - 2 * (x(s1!1) * x(s2!1) * sq(cos(r!1)))             - 2 * (y(s1!1) * y(s2!1) * sq(cos(r!1)))             - 2 * (x(s1!1) * x(s2!1) * sin(r!1) * sin(r!1))             - 2 * (y(s1!1) * y(s2!1) * sin(r!1) * sin(r!1)) =             sq(x(s1!1)) * (sq(sin(r!1)) + sq(cos(r!1)))             + sq(x(s2!1)) * (sq(sin(r!1)) + sq(cos(r!1)))             + sq(y(s1!1)) * (sq(sin(r!1)) + sq(cos(r!1)))             + sq(y(s2!1)) * (sq(sin(r!1)) + sq(cos(r!1)))             - 2 * (x(s1!1) * x(s2!1)) * (sq(sin(r!1)) + sq(cos(r!1)))             - 2 * (y(s1!1) * y(s2!1)) * (sq(sin(r!1)) + sq(cos(r!1)))")
                                                          (("1"
                                                            (REPLACE

                                                             -1
                                                             +)
                                                            (("1"
                                                              (REWRITE
                                                               "sin_cos_sq_one")
                                                              (("1"
                                                                (GROUND)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL)
                                                           ("2"
                                                            (HIDE 4)
                                                            (("2"
                                                              (EXPAND
                                                               "sq")
                                                              (("2"
                                                                (PROPAX)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (EXPAND "sq")
                                                    (("2"
                                                      (PROPAX)
                                                      NIL
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL)
                                         ("2" (GROUND) NIL NIL))
                                        NIL))
                                      NIL))
                                    NIL)
                                   ("2" (GROUND) NIL NIL))
                                  NIL))
                                NIL))
                              NIL)
                             ("2" (SKOSIMP*)
                              (("2"
                                (REWRITE "one_over_sqrt_3")
                                (("2" (GROUND) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL)
                       ("2" (SKOSIMP*) (("2" (GROUND) NIL NIL)) NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (ASSERT)
            (("2" (REWRITE "sin_of_sub")
              (("2" (REWRITE "sin_of_sub")
                (("2" (REWRITE "sin_of_sub")
                  (("2" (REWRITE "cos_of_sub")
                    (("2" (REWRITE "cos_of_sub")
                      (("2" (REWRITE "cos_of_sub")
                        (("2" (REWRITE "sin_of_sub")
                          (("2" (LEMMA "cos_of_180")
                            (("2" (INST -1 "0")
                              (("2"
                                (REPLACE -1 +)
                                (("2"
                                  (LEMMA "sin_of_0_180")
                                  (("2"
                                    (FLATTEN -1)
                                    (("2"
                                      (REPLACE -2 +)
                                      (("2"
                                        (GROUND)
                                        (("2"
                                          (AUTO-REWRITE
                                           "cos_of_arctan")
                                          (("2"
                                            (ASSERT)
                                            (("2"
                                              (AUTO-REWRITE
                                               "sin_of_arctan")
                                              (("2"
                                                (ASSERT)
                                                (("2"
                                                  (CASE
                                                   "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                                  (("1"
                                                    (CASE
                                                     "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                                    (("1"
                                                      (AUTO-REWRITE -1)
                                                      (("1"
                                                        (ASSERT)
                                                        (("1"
                                                          (AUTO-REWRITE
                                                           -1)
                                                          (("1"
                                                            (ASSERT)
                                                            (("1"
                                                              (CASE
                                                               "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                                              (("1"
                                                                (AUTO-REWRITE
                                                                 -1)
                                                                (("1"
                                                                  (ASSERT)
                                                                  (("1"
                                                                    (CASE
                                                                     "FORALL (x: nzreal), (y, z: real): x * z * (y /x) = z * y")
                                                                    (("1"
                                                                      (AUTO-REWRITE
                                                                       -1)
                                                                      (("1"
                                                                        (ASSERT)
                                                                        (("1"
                                                                          (CASE
                                                                           "FORALL (x: nzreal), (y, z: real): x * (y /x) * -z = -z * y")
                                                                          (("1"
                                                                            (AUTO-REWRITE
                                                                             -1)
                                                                            (("1"
                                                                              (ASSERT)
                                                                              (("1"
                                                                                (CASE
                                                                                 "FORALL (x: nzreal), (y, z: real): z * x * (y /x)  = z * y")
                                                                                (("1"
                                                                                  (AUTO-REWRITE
                                                                                   -1)
                                                                                  (("1"
                                                                                    (ASSERT)
                                                                                    (("1"
                                                                                      (EXPAND
                                                                                       "sq")
                                                                                      (("1"
                                                                                        (GROUND)
                                                                                        (("1"
                                                                                          (CASE
                                                                                           "cos(r!1) * y(s1!1) * x(s2!1) * -sin(r!1) = -cos(r!1) * y(s1!1) * x(s2!1) * sin(r!1)")
                                                                                          (("1"
                                                                                            (REPLACE

                                                                                             -1
                                                                                             +)
                                                                                            (("1"
                                                                                              (CASE
                                                                                               "cos(r!1) * x(s1!1) * y(s2!1) * -sin(r!1) = -cos(r!1) * x(s1!1) * y(s2!1) * sin(r!1)")
                                                                                              (("1"
                                                                                                (REPLACE

                                                                                                 -1
                                                                                                 +)
                                                                                                (("1"
                                                                                                  (GROUND)
                                                                                                  (("1"
                                                                                                    (DELETE

                                                                                                     -)
                                                                                                    (("1"
                                                                                                      (CASE-REPLACE
                                                                                                       "cos(r!1) * cos(r!1) * x(s1!1) * x(s1!1) +             cos(r!1) * cos(r!1) * y(s1!1) * y(s1!1)             + 2 * (cos(r!1) * x(s1!1) * x(s2!1) * -cos(r!1))             + 2 * (cos(r!1) * y(s1!1) * y(s2!1) * -cos(r!1))             + x(s1!1) * x(s1!1) * sin(r!1) * sin(r!1)             + 2 * (x(s1!1) * x(s2!1) * sin(r!1) * -sin(r!1))             + y(s1!1) * y(s1!1) * sin(r!1) * sin(r!1)             + 2 * (y(s1!1) * y(s2!1) * sin(r!1) * -sin(r!1))             + x(s2!1) * x(s2!1) * -cos(r!1) * -cos(r!1)             + x(s2!1) * x(s2!1) * -sin(r!1) * -sin(r!1)             + y(s2!1) * y(s2!1) * -cos(r!1) * -cos(r!1)             + y(s2!1) * y(s2!1) * -sin(r!1) * -sin(r!1)             =             (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s1!1)              + (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s1!1)             - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s2!1)              - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * x(s2!1) * x(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * y(s2!1) * y(s2!1)")
                                                                                                      (("1"
                                                                                                        (REWRITE
                                                                                                         "sin_cos_sq_one")
                                                                                                        (("1"
                                                                                                          (DELETE

                                                                                                           -1)
                                                                                                          (("1"
                                                                                                            (GROUND)
                                                                                                            NIL
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL)
                                                                                                       ("2"
                                                                                                        (EXPAND
                                                                                                         "sq")
                                                                                                        (("2"
                                                                                                          (HIDE
                                                                                                           2
                                                                                                           3
                                                                                                           4
                                                                                                           5)
                                                                                                          (("2"
                                                                                                            (GRIND)
                                                                                                            NIL
                                                                                                            NIL))
                                                                                                          NIL))
                                                                                                        NIL))
                                                                                                      NIL))
                                                                                                    NIL))
                                                                                                  NIL))
                                                                                                NIL)
                                                                                               ("2"
                                                                                                (GROUND)
                                                                                                NIL
                                                                                                NIL))
                                                                                              NIL))
                                                                                            NIL)
                                                                                           ("2"
                                                                                            (GROUND)
                                                                                            NIL
                                                                                            NIL))
                                                                                          NIL))
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL)
                                                                                 ("2"
                                                                                  (GROUND)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL)
                                                                           ("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL))
                                                                        NIL))
                                                                      NIL)
                                                                     ("2"
                                                                      (GROUND)
                                                                      NIL
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("2"
                                                                (SKOSIMP*)
                                                                (("2"
                                                                  (REWRITE
                                                                   "one_over_sqrt_4")
                                                                  (("2"
                                                                    (GROUND)
                                                                    NIL
                                                                    NIL))
                                                                  NIL))
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (SKOSIMP*)
                                                    (("2"
                                                      (REWRITE
                                                       "one_over_sqrt_3")
                                                      (("2"
                                                        (GROUND)
                                                        NIL
                                                        NIL))
                                                      NIL))
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL)
         ("2" (CASE "x(s2!1) > 0")
          (("1" (ASSERT)
            (("1" (AUTO-REWRITE "cos_of_sub" "sin_of_sub")
              (("1" (ASSERT)
                (("1" (LEMMA "cos_of_180")
                  (("1" (LEMMA "sin_of_0_180")
                    (("1" (INST -2 "0")
                      (("1" (FLATTEN -1)
                        (("1" (REPLACE*)
                          (("1"
                            (AUTO-REWRITE "cos_of_arctan"
                                          "sin_of_arctan")
                            (("1" (ASSERT)
                              (("1"
                                (CASE
                                 "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                (("1"
                                  (CASE
                                   "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                  (("1"
                                    (CASE
                                     "FORALL (x:posreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = z*x")
                                    (("1"
                                      (AUTO-REWRITE -2)
                                      (("1"
                                        (ASSERT)
                                        (("1"
                                          (AUTO-REWRITE -1)
                                          (("1"
                                            (ASSERT)
                                            (("1"
                                              (AUTO-REWRITE -1)
                                              (("1"
                                                (ASSERT)
                                                (("1"
                                                  (CASE
                                                   "FORALL (x: nzreal), (y, z: real): z * x * (y /x)  = z * y")
                                                  (("1"
                                                    (AUTO-REWRITE -1)
                                                    (("1"
                                                      (ASSERT)
                                                      (("1"
                                                        (CASE
                                                         "FORALL (x:nzreal), (y,z:real): x * (y/x) * -z = y * -z")
                                                        (("1"
                                                          (AUTO-REWRITE
                                                           -1)
                                                          (("1"
                                                            (ASSERT)
                                                            (("1"
                                                              (CASE-REPLACE
                                                               "x(s2!1) * sin(r!1) * (y(s2!1) / x(s2!1)) = sin(r!1) * y(s2!1)")
                                                              (("1"
                                                                (DELETE

                                                                 -)
                                                                (("1"
                                                                  (EXPAND
                                                                   "sq")
                                                                  (("1"
                                                                    (GROUND)
                                                                    (("1"
                                                                      (GROUND)
                                                                      (("1"
                                                                        (CASE-REPLACE
                                                                         "cos(r!1) * x(s1!1) * y(s2!1) * -sin(r!1) =                     -cos(r!1) * x(s1!1) * y(s2!1) * sin(r!1)")
                                                                        (("1"
                                                                          (CASE-REPLACE
                                                                           "cos(r!1) * y(s1!1) * x(s2!1) * -sin(r!1) =                     -cos(r!1) * y(s1!1) * x(s2!1) * sin(r!1)")
                                                                          (("1"
                                                                            (GROUND)
                                                                            (("1"
                                                                              (CASE-REPLACE
                                                                               "cos(r!1) * cos(r!1) * x(s2!1) * x(s2!1) +             cos(r!1) * cos(r!1) * y(s2!1) * y(s2!1)             + 2 * (cos(r!1) * x(s1!1) * x(s2!1) * -cos(r!1))             + 2 * (cos(r!1) * y(s1!1) * y(s2!1) * -cos(r!1))             + x(s1!1) * x(s1!1) * -cos(r!1) * -cos(r!1)             + x(s1!1) * x(s1!1) * -sin(r!1) * -sin(r!1)             + 2 * (x(s1!1) * x(s2!1) * sin(r!1) * -sin(r!1))             + y(s1!1) * y(s1!1) * -cos(r!1) * -cos(r!1)             + y(s1!1) * y(s1!1) * -sin(r!1) * -sin(r!1)             + 2 * (y(s1!1) * y(s2!1) * sin(r!1) * -sin(r!1))             + x(s2!1) * x(s2!1) * sin(r!1) * sin(r!1)             + y(s2!1) * y(s2!1) * sin(r!1) * sin(r!1)             =             (sq(sin(r!1)) + sq(cos(r!1))) * x(s2!1) * x(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * y(s2!1) * y(s2!1)             - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s2!1)             - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s1!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s1!1)")
                                                                              (("1"
                                                                                (REWRITE
                                                                                 "sin_cos_sq_one")
                                                                                (("1"
                                                                                  (GROUND)
                                                                                  NIL
                                                                                  NIL))
                                                                                NIL)
                                                                               ("2"
                                                                                (HIDE
                                                                                 -1
                                                                                 -2
                                                                                 5)
                                                                                (("2"
                                                                                  (GRIND)
                                                                                  (("2"
                                                                                    (CASE
                                                                                     "forall (x,y,z:real): y* z *-x * -x = y * z * x * x")
                                                                                    (("1"
                                                                                      (AUTO-REWRITE
                                                                                       -1)
                                                                                      (("1"
                                                                                        (ASSERT)
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL)
                                                                                     ("2"
                                                                                      (SKOSIMP*)
                                                                                      (("2"
                                                                                        (GROUND)
                                                                                        NIL
                                                                                        NIL))
                                                                                      NIL))
                                                                                    NIL))
                                                                                  NIL))
                                                                                NIL))
                                                                              NIL))
                                                                            NIL)
                                                                           ("2"
                                                                            (GROUND)
                                                                            NIL
                                                                            NIL))
                                                                          NIL)
                                                                         ("2"
                                                                          (GROUND)
                                                                          NIL
                                                                          NIL))
                                                                        NIL))
                                                                      NIL))
                                                                    NIL))
                                                                  NIL))
                                                                NIL)
                                                               ("2"
                                                                (GROUND)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL)
                                                         ("2"
                                                          (GROUND)
                                                          NIL
                                                          NIL))
                                                        NIL))
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL))
                                            NIL))
                                          NIL))
                                        NIL))
                                      NIL)
                                     ("2"
                                      (HIDE 5)
                                      (("2"
                                        (SKOSIMP*)
                                        (("2"
                                          (REWRITE "one_over_sqrt_3")
                                          (("2" (GROUND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL)
                                   ("2" (GROUND) NIL NIL))
                                  NIL)
                                 ("2"
                                  (SKOSIMP*)
                                  (("2"
                                    (REWRITE "one_over_sqrt_4")
                                    (("2" (GROUND) NIL NIL))
                                    NIL))
                                  NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL)
           ("2" (ASSERT)
            (("2" (AUTO-REWRITE "cos_of_sub" "sin_of_sub")
              (("2" (ASSERT)
                (("2" (AUTO-REWRITE "cos_of_arctan" "sin_of_arctan")
                  (("2" (LEMMA "sin_of_0_180")
                    (("2" (LEMMA "cos_of_180")
                      (("2" (INST -1 "0")
                        (("2" (FLATTEN -2)
                          (("2" (REPLACE*)
                            (("2" (ASSERT)
                              (("2"
                                (CASE
                                 "FORALL (x: nzreal),(y, z: real): z * sqrt(sq(x) + sq(y)) * (y / x / sqrt(1 + sq(y / x))) = (z * (y / x)) * sqrt(sq(x) + sq(y)) * (1 / sqrt(1 + sq(y / x)))")
                                (("1"
                                  (AUTO-REWRITE -1)
                                  (("1"
                                    (ASSERT)
                                    (("1"
                                      (CASE
                                       "FORALL (x:negreal), (y, z: real): z * sqrt(sq(x)+sq(y)) * (1 / sqrt(1 + sq(y/x))) = -z*x")
                                      (("1"
                                        (AUTO-REWRITE -1)
                                        (("1"
                                          (ASSERT)
                                          (("1"
                                            (CASE
                                             "FORALL (x:nzreal), (y,z:real): x * (y/x) * -z = y * -z")
                                            (("1"
                                              (AUTO-REWRITE -1)
                                              (("1"
                                                (ASSERT)
                                                (("1"
                                                  (CASE-REPLACE
                                                   "y(s2!1) * -cos(r!1) - y(s1!1) * -cos(r!1) -                -sin(r!1) * x(s2!1)                + -sin(r!1) * x(s1!1) =             -y(s2!1) * cos(r!1) + y(s1!1) * cos(r!1) +                sin(r!1) * x(s2!1)                - sin(r!1) * x(s1!1)")
                                                  (("1"
                                                    (CASE-REPLACE
                                                     "y(s2!1) * -sin(r!1) - y(s1!1) * -sin(r!1) -                 -cos(r!1) * x(s1!1)                 + -cos(r!1) * x(s2!1)                     =                      -y(s2!1) * sin(r!1) + y(s1!1) * sin(r!1) +                 cos(r!1) * x(s1!1)                 - cos(r!1) * x(s2!1)")
                                                    (("1"
                                                      (EXPAND "sq")
                                                      (("1"
                                                        (GROUND)
                                                        (("1"
                                                          (DELETE -)
                                                          (("1"
                                                            (CASE-REPLACE
                                                             "-2 * (cos(r!1) * cos(r!1) * x(s1!1) * x(s2!1)) -             2 * (x(s1!1) * x(s2!1) * sin(r!1) * sin(r!1))             + cos(r!1) * cos(r!1) * x(s1!1) * x(s1!1)             + cos(r!1) * cos(r!1) * y(s1!1) * y(s1!1)             + 2 * (cos(r!1) * cos(r!1) * y(s1!1) * -y(s2!1))             + cos(r!1) * cos(r!1) * x(s2!1) * x(s2!1)             + cos(r!1) * cos(r!1) * -y(s2!1) * -y(s2!1)             + x(s1!1) * x(s1!1) * sin(r!1) * sin(r!1)             + y(s1!1) * y(s1!1) * sin(r!1) * sin(r!1)             + 2 * (y(s1!1) * sin(r!1) * sin(r!1) * -y(s2!1))             + x(s2!1) * x(s2!1) * sin(r!1) * sin(r!1)             + sin(r!1) * sin(r!1) * -y(s2!1) * -y(s2!1)              =             (sq(sin(r!1)) + sq(cos(r!1))) * x(s2!1) * x(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * y(s2!1) * y(s2!1)             - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s2!1)             - 2 * (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s2!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * x(s1!1) * x(s1!1)             + (sq(sin(r!1)) + sq(cos(r!1))) * y(s1!1) * y(s1!1)")
                                                            (("1"
                                                              (REWRITE
                                                               "sin_cos_sq_one")
                                                              (("1"
                                                                (GROUND)
                                                                NIL
                                                                NIL))
                                                              NIL)
                                                             ("2"
                                                              (HIDE
                                                               2
                                                               3
                                                               4
                                                               5
                                                               6)
                                                              (("2"
                                                                (GRIND)
                                                                NIL
                                                                NIL))
                                                              NIL))
                                                            NIL))
                                                          NIL))
                                                        NIL))
                                                      NIL)
                                                     ("2"
                                                      (GROUND)
                                                      NIL
                                                      NIL))
                                                    NIL)
                                                   ("2"
                                                    (GROUND)
                                                    NIL
                                                    NIL))
                                                  NIL))
                                                NIL))
                                              NIL)
                                             ("2" (GROUND) NIL NIL))
                                            NIL))
                                          NIL))
                                        NIL)
                                       ("2"
                                        (SKOSIMP*)
                                        (("2"
                                          (REWRITE "one_over_sqrt_4")
                                          (("2" (GROUND) NIL NIL))
                                          NIL))
                                        NIL))
                                      NIL))
                                    NIL))
                                  NIL)
                                 ("2" (GROUND) NIL NIL))
                                NIL))
                              NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|collision_eq_over_rotation| "" (SKOSIMP*)
  (("" (EXPAND "collision")
    (("" (REWRITE "distance_eq_over_rotation") NIL NIL)) NIL))
  NIL)
 (|collision_scenario_equivalent_over_rotation_TCC1| "" (SKOSIMP*)
  (("" (INST -1 "0")
    (("" (EXPAND "trajectory") (("" (PROPAX) NIL NIL)) NIL)) NIL))
  NIL)
 (|collision_scenario_equivalent_over_rotation_TCC2| "" (SKOSIMP*)
  (("" (INST -2 "0")
    (("" (EXPAND "trajectory") (("" (PROPAX) NIL NIL)) NIL)) NIL))
  NIL)
 (|collision_scenario_equivalent_over_rotation| "" (SKOSIMP*)
  (("" (EXPAND "collision_scenario")
    (("" (REWRITE "rot_before_after_traj_eq")
      (("" (REWRITE "rot_before_after_traj_eq")
        (("" (REWRITE "collision_eq_over_rotation")
          (("1" (INST -1 "n!1") NIL NIL) ("2" (INST -2 "n!1") NIL NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|sin_cos_eq_trajectory| "" (INDUCT "n")
  (("1" (GRIND)
    (("1" (REWRITE "cos_equivalence") NIL NIL)
     ("2" (REWRITE "sin_equivalence") NIL NIL))
    NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST -1 "df!1")
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2" (SPLIT 1)
              (("1" (FLATTEN -1)
                (("1" (REWRITE "sin_of_sum")
                  (("1" (REWRITE "sin_of_sum")
                    (("1" (REPLACE*)
                      (("1"
                        (NAME-REPLACE A
                         "heading(trajectory(s!1, df!1, j!1))")
                        (("1" (EXPAND "trajectory" 1)
                          (("1" (EXPAND "next_state")
                            (("1" (PROPAX) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL)
               ("2" (REWRITE "cos_of_sum")
                (("2" (REWRITE "cos_of_sum")
                  (("2" (FLATTEN -1)
                    (("2" (REPLACE*)
                      (("2"
                        (NAME-REPLACE A
                         "heading(trajectory(s!1, df!1, j!1))")
                        (("2" (EXPAND "trajectory" 1)
                          (("2" (EXPAND "next_state")
                            (("2" (PROPAX) NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trajectory_periodic_y| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST?)
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v         (trajectory(s!1 WITH [heading := heading(s!1) + 360 * i!1], df!1,                     j!1))        *        sin(heading              (trajectory(s!1 WITH [heading := heading(s!1) + 360 * i!1],                          df!1, j!1))) * tstep = v(trajectory(s!1, df!1, j!1)) *         sin(heading(trajectory(s!1, df!1, j!1)))         * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2)
                (("2" (LEMMA "sin_cos_eq_trajectory")
                  (("2" (INST?)
                    (("2" (FLATTEN -1)
                      (("2" (REPLACE -1)
                        (("2"
                          (NAME-REPLACE A
                           "heading(trajectory(s!1, df!1, j!1))")
                          (("2" (DELETE -1 -2)
                            (("2" (REWRITE "speed")
                              (("2" (REWRITE "speed") NIL NIL)) NIL))
                            NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL)
 (|trajectory_periodic_x| "" (INDUCT "n")
  (("1" (GRIND) NIL NIL)
   ("2" (SKOSIMP*)
    (("2" (INST?)
      (("2" (INST?)
        (("2" (EXPAND "trajectory" 1)
          (("2" (EXPAND "next_state")
            (("2"
              (CASE "v         (trajectory(s!1 WITH [heading := heading(s!1) + 360 * i!1], df!1,                     j!1))        *        cos(heading              (trajectory(s!1 WITH [heading := heading(s!1) + 360 * i!1],                          df!1, j!1))) * tstep = v(trajectory(s!1, df!1, j!1)) *         cos(heading(trajectory(s!1, df!1, j!1)))         * tstep")
              (("1" (GROUND) NIL NIL)
               ("2" (DELETE -1 2)
                (("2" (LEMMA "sin_cos_eq_trajectory")
                  (("2" (INST?)
                    (("2" (FLATTEN -1)
                      (("2" (REPLACE*)
                        (("2"
                          (NAME-REPLACE A
                           "heading(trajectory(s!1, df!1, j!1))")
                          (("2" (REWRITE "speed")
                            (("2" (REWRITE "speed") NIL NIL)) NIL))
                          NIL))
                        NIL))
                      NIL))
                    NIL))
                  NIL))
                NIL))
              NIL))
            NIL))
          NIL))
        NIL))
      NIL))
    NIL))
  NIL))