products/sources/formale Sprachen/PVS/reals image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

[Weder Korrektheit noch Funktionsfähigkeit der Software werden zugesichert.]

Datei: log_nat.pvs   Sprache: PVS

Original von: PVS©

log_nat : THEORY
%----------------------------------------------------------------------------
%
% Authors: Cesar Munoz (NIA)
% This theory implements an algorithm to compute the natural part and the 
% real part of a logarithm. This algorithm is analogous to the Euclidean 
% division procedure.
% Date: March 28 2005
%
%----------------------------------------------------------------------------
BEGIN

  x,y,ya : VAR {x:real| x >= 1}
  na     : VAR nat
  p      : VAR above(1)

  IMPORTING prelude_aux

  log_nat(x,p): RECURSIVE [n:nat,{y | y<p AND x=p^n*y}] =
    if   x < p then (0,x)
    else let (n,y) = log_nat(x/p,p) in (n+1,y)
    endif
    MEASURE floor(x)

  log_nat_bounds : LEMMA
    let (n,y)=log_nat(x,p) in
    p^n <= x AND x < p^(n+1)

  log_nat_incr : LEMMA
    p*x <= y IMPLIES
    log_nat(x,p)`1 < log_nat(y,p)`1

  log_nat_itaux(x,p,na,(ya | x=p^na*ya)): RECURSIVE [n:nat,{y | y<p AND x=p^n*y}] = 
    if   ya < p then (na,ya)
    else log_nat_itaux(x,p,na+1,ya/p)
    endif
    MEASURE floor(ya)

  log_nat_it(x,p) :  [n:nat,{y | y <p AND x=p^n*y}] =
    log_nat_itaux(x,p,0,x)

  log_nat_id : LEMMA
    log_nat_it(x,p) = log_nat(x,p)

  least_pow_2_ge(xp:posreal): {k:int |
    xp<=2^k AND FORALL (i:int): i<k IMPLIES 2^i<xp} =
    IF xp>=1 THEN
      LET (n,y) = log_nat_it(xp,2) IN
        IF y=1 THEN n
 ELSE n+1 ENDIF
    ELSIF xp>1/2 THEN 0
    ELSE LET n = log_nat_it(1/xp,2)`1 IN -n ENDIF

END log_nat  

¤ Dauer der Verarbeitung: 0.12 Sekunden  (vorverarbeitet)  ¤





Download des
Quellennavigators
Download des
sprechenden Kalenders

in der Quellcodebibliothek suchen




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.


Bot Zugriff