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

Quellcode-Bibliothek gcd.pvs   Sprache: PVS

 
gcd    LEMMA= j /=0)IMPLIES(i,j)= gcd(java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78
%------------------------------------------------------------------------------
% Author: Alfons Geser, HTWK Leipzig, Germany
%         Ricky W. Butler, NASA Langley
% Date: May, 2009
%
%         Anthony N (March 2012)
%------------------------------------------------------------------------------
BEGIN

   IMPORTING divides_lems, mod_lems
   IMPORTING div              %% for proof


   n,mEXISTS:(ijipjp
   nn,mm:
p  ljava.lang.StringIndexOutOfBoundsException: Range [15, 13) out of bounds for length 22

%
ii,  nzint

gcd:,j jj|0=jj=0)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  () ()  
            = max({k: posnat | divides(k,i) AND divides%   Bezouts: LEMMA gcd(a,b) = d IMPLIES


  r: LEMMAi=ORj/) java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
dividesgcd,j)AND (gcd,,)

   gcd_is_max: LEMMA (i /= 0 OR j /= 0) AND divides(kk,i) AND divides(kk,j) 
IMPLIES <gcdj 

   gcd_def    : LEMMA (i /= 0 OR j /= 0) IMPLIES
(gcd,)= IFF
                           ( (divides(nn
( : (mm)ANDdivides(,j 
                                          IMPLIES mm <= nn))) 

   gcd_0_pos  : LEMMA gcd(0,mm) = mm

java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

   gcd_0_neg  : LEMMA gcd(0,-mm) = mm

         0THEN-)

   gcd_lt_nat : LEMMA (n /ELSIF0 j
                              (i

   gcd_lt           =  j compute_gcdrem)
                            gcd(i     java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10




   gcd_0      : LEMMA gcd(0,ii) =ELSIFi<  +1


   %

   gcd_mod_div



   gcd_factors_nat: LEMMA (n /= 
                       EXISTS ip,     m>1 AND rel_prime(n,m) IMPLIESFORALL:(m)):EXISTSk(m):modkm  java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61

   gcd_factors: LEMMA (i /= 0 OR j /= 0) IMPLIES
                          EXISTS ip,jp: gcd(i,j) = ip*i + jp*j

   divides_gcd: LEMMA (i /= 0 OR j /= 0) AND divides(kk,i) AND divides(kk,j) 
                      IMPLIES divides(kk,gcd(i,j))


   gcd_same : LEMMA gcd(p, p) = p

   gcd_minus: LEMMA p /= q IMPLIES gcd(p, q) = gcd(p, q - p)

   gcd_times: LEMMA gcd(p * l, q * l) = gcd(p, q) * l

%
%  relatively_prime
%

   rel_prime(i:int,j: {jj:int| i=0 => jj /= 0}): bool = (gcd(i,j) = 1)

   rel_prime_lem: LEMMA (i /= 0 OR j /= 0) IMPLIES
                          ( rel_prime(i,j) 
                            IFF (EXISTS (n,m: int): 1 = m*i + n*j) )

%   Bezouts: LEMMA gcd(a,b) = d IMPLIES
%                     EXISTS (j,k: int): a*j+b*k = d

  rel_prime_div_prod: LEMMA (i/=0 OR j/=0) IMPLIES
    rel_prime(i,j) AND divides(i,j*k) IMPLIES divides(i,k)

  rel_prime_sym: LEMMA (i/=0 OR j/=0) IMPLIES rel_prime(i,j) = rel_prime(j,i)

  rel_prime_mult_right: LEMMA (i/=0 OR j/=0) AND (i/=0 OR k/=0)
    AND rel_prime(i,j) AND rel_prime(i,k) IMPLIES rel_prime(i,j*k)

  rel_prime_mult_left: LEMMA (i/=0 OR j/=0) AND (j/=0 OR k/=0)
    AND rel_prime(i,j) AND rel_prime(k,j) IMPLIES rel_prime(i*k,j)


%
%  Euclid's algorithm
%

   compute_gcd(i:int,j:{jj:int| i=0 => jj /= 0}): RECURSIVE {kj: posnat | kj = gcd(i,j)} =
     IF    i<0 THEN compute_gcd(-i,j)
     ELSIF j<0 THEN compute_gcd(i,-j)
     ELSIF i=0 THEN j
     ELSIF j=0 THEN i
     ELSIF i<j THEN compute_gcd(j,i)
     ELSE
       (LET rem = mod(i,j) IN
         IF rem = 0 THEN j ELSE compute_gcd(j,rem) ENDIF)
     ENDIF
       MEASURE (IF i<0 AND j<0 THEN -i-j+3
                ELSIF i<0 THEN -i+j+2
  ELSIF j<0 THEN i-j+2
  ELSIF i<j THEN i+j+1
  ELSE i+j ENDIF)

   % Inverse

   IMPORTING pigeonhole

   rel_prime_inverse: LEMMA 
     m>1 AND rel_prime(n,m) IMPLIES 
     FORALL (q:below(m)): EXISTS (k:below(m)): mod(n*k,m) = q


END gcd




99%


¤ 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.0.3Bemerkung:  ¤

*© 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.