Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/PVS/ACCoRD/   (Beweissystem der NASA Version 6.0.9©)  Datei vom 28.9.2014 mit Größe 2 kB image not shown  

Quelle  trk_line.pvs   Sprache: PVS

 
%------------------------------------------------------------------------------
% trk_line.pvs
% ACCoRD v1.0
%
% Track line solutions are track only solutions that are tangent to the 
% protected zone.
%------------------------------------------------------------------------------

trk_line[D: posreal] : THEORY
BEGIN
  
  IMPORTING trk_only[D],
            tangent_line[D]

  ss         : VAR Ss_vect2
  sp         : VAR Sp_vect2
  eps,irt,
  irt1,irt2  : VAR Sign
  vo,vi,    
  vo2,
  nvo,
  nvo1,nvo2  : VAR Vect2
  vnzo       : VAR Nz_vect2

  %------------%
  % ALGORITHMS %
  %------------%

  % zero indicates no track solution

  trk_line_eps_irt(sp,vo,vi,eps,irt): {nvo:Vect2 | nz_vect2?(nvo) => 
                                                   trk_only?(vo)(nvo)} =
    LET (k,nvo)  = trk_only_line(tangent_line(sp,eps),vo,vi,irt) IN
    IF k >= 0 THEN
      nvo
    ELSE
      zero 
    ENDIF

  trk_line_eps_irt?(sp,vo,vi,eps,irt)(nvo) : bool =
    nz_vect2?(nvo) AND
    nvo = trk_line_eps_irt(sp,vo,vi,eps,irt)

  trk_line_eps(sp,vo,vi,eps): {nvo | nz_vect2?(nvo) => 
                                     trk_only?(vo)(nvo)} =
    LET vo1 = trk_line_eps_irt(sp,vo,vi,eps,1),
        vo2 = trk_line_eps_irt(sp,vo,vi,eps,-1) IN
    IF vo2 = zero THEN vo1
    ELSIF vo1 = zero OR
          le?(vo)(vo2,vo1) THEN vo2
    ELSE vo1
    ENDIF

  trk_line_eps?(sp,vo,vi,eps)(nvo) : bool =
    nz_vect2?(nvo) AND
    nvo = trk_line_eps(sp,vo,vi,eps)

  trk_line?(sp,vo,vi)(nvo:Vect2):bool =
    nz_vect2?(nvo) AND 
    EXISTS (eps,irt): nvo = trk_line_eps_irt(sp,vo,vi,eps,irt)

  %----------%
  % LEMMAS   %
  %----------%

  trk_line_eps_irt_tangent_line: LEMMA 
    trk_line_eps_irt?(sp,vo,vi,eps,irt)(nvo) 
    IMPLIES
      tangent_line?(sp,nvo-vi,eps)              
       
  trk_line_eps_irt_dot : LEMMA
    trk_line_eps_irt?(ss,vo,vi,eps,-1)(nvo1) AND
    trk_line_eps_irt?(ss,vo,vi,eps,1)(nvo2) IMPLIES
    nvo2*ss <= nvo1*ss

  irt_trk_line_eps: LEMMA 
    trk_line_eps?(sp,vo,vi,eps)(nvo) 
    IMPLIES
      EXISTS (irt): trk_line_eps_irt?(sp,vo,vi,eps,irt)(nvo)

  trk_line_eps_tangent_line: LEMMA 
    trk_line_eps?(sp,vo,vi,eps)(nvo) 
    IMPLIES
      tangent_line?(sp,nvo-vi,eps)              

  trk_line_is_line_solution: LEMMA 
    trk_line_eps?(sp,vo,vi,eps)(nvo) 
    IMPLIES
      line_solution?(sp,nvo-vi,eps)              

  trk_line_complete : THEOREM
    trk_only?(vnzo)(nvo) AND
    line_solution?(sp,nvo-vi) IMPLIES
      trk_line?(sp,vnzo,vi)(nvo)

END trk_line

100%


¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung ist noch experimentell.