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

Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: power.pvs   Sprache: PVS

Original von: PVS©

%------------------------------------------------------------------------------
% Power
%
%     Author: David Lester, Manchester University
%
%     Version 1.0            18/2/09   Initial Release Version
%------------------------------------------------------------------------------

power: THEORY

BEGIN

  IMPORTING prelude_aux, prelude_A4, appendix, cauchy, unique

  w,x,y,z,a,b: VAR real
  pn,q0,q1: VAR posnat
  p,q,p1,n: VAR nat
  cx: VAR cauchy_real
  scx: VAR cauchy_smallreal
  sx: VAR smallreal
  r,X,Y,X0: VAR int
  rx: VAR rat
  e1: VAR posreal

  abs_ge0:       LEMMA 0 <= abs(x)
  abs_neg:       LEMMA abs(-x) = abs(x)
  abs_interval:  LEMMA abs(x-y) < a <=> x-a < y AND y < x+a
  abs_interval1: LEMMA abs(x) < a <=> -a < x AND x < a
  abs_interval2: LEMMA abs(x) <= a <=> -a <= x AND x <= a
  triangle_open: LEMMA abs(x-y) < a AND abs(y-z) < b => abs(x-z) < a+b
  abs_error:     LEMMA abs(x-y) < a AND abs(w-z) < b => abs(x+w-(y+z)) < a+b

  lemma_A2_generalized: LEMMA r = round(x) => r-1/2 <= x AND x < r+1/2

  cauchy_power_lt1_n_odd: LEMMA
     odd?(pn) AND sx+e1 < 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_n_even: LEMMA
     even?(pn) AND sx+e1 < 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_snz_odd: LEMMA
     odd?(pn) AND sx < 0 AND sx+e1 = 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_snz_even: LEMMA
     even?(pn) AND sx < 0 AND sx+e1 = 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_sn_odd: LEMMA
     odd?(pn) AND sx < 0 AND 0 < sx+e1 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_sn_even: LEMMA
     even?(pn) AND sx < 0 AND 0 < sx+e1 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_z: LEMMA
     sx = 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_sp_odd: LEMMA
     odd?(pn) AND 0 < sx AND sx-e1 < 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_sp_even: LEMMA
     even?(pn) AND 0 < sx AND sx-e1 < 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_pz: LEMMA
     sx-e1 = 0 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_p: LEMMA
     0 < sx-e1 AND e1 = 2^-(p+floor(log2(pn))+3) AND
     Y = round ((rx*e1)^pn*2^p) AND rx-1 < sx / e1 AND sx / e1 < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_main_generalized: LEMMA
     Y = round ((rx*2^-(p+floor(log2(pn))+3))^pn*2^p) AND
     rx-1 < sx * 2^(p+floor(log2(pn))+3) AND
     sx * 2^(p+floor(log2(pn))+3) < rx+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_main: LEMMA
     Y = round ((X*2^-(p+floor(log2(pn))+3))^pn*2^p) AND
     X-1 < sx * 2^(p+floor(log2(pn))+3) AND
     sx * 2^(p+floor(log2(pn))+3) < X+1 =>
     Y-1 < sx^pn * 2^p AND sx^pn * 2^p < 1+Y

  cauchy_power_lt1_isreal: LEMMA cauchy_real?
       (LAMBDA p: round ((scx(p+floor(log2(pn))+3) *
                                             2^-(p+floor(log2(pn))+3))^pn*2^p))

  cauchy_power_lt1(scx:cauchy_smallreal, pn:posnat):cauchy_real
     = (LAMBDA p: round ((scx(p+floor(log2(pn))+3) *
                                             2^-(p+floor(log2(pn))+3))^pn*2^p))

  power_lemma_lt1: LEMMA cauchy_prop(sx,scx)
                       => cauchy_prop(sx^pn, cauchy_power_lt1(scx,pn))

  cauchy_power_div1: LEMMA X0-1 < x AND x < X0+1 AND
                     p = floor(log2(abs(X0)+1))+1 =>
                     -(2^p) < x AND x < 2^p

  cauchy_power_main: LEMMA
     X0-1 < x AND x < X0+1 AND q = 1+floor(log2(abs(X0)+1)) AND
     p1 = p+floor(log2(pn))+3+pn*q AND Y = round ((X/2^p1)^pn*2^p) AND
     X-1 < x * 2^p1 AND x * 2^p1 < X+1 =>
     Y-1 < x^pn * 2^p AND x^pn * 2^p < 1+Y

  cauchy_power_isreal: LEMMA cauchy_real?
   (LAMBDA p:
      LET p1 = p+floor_log2(pn)+3+pn*(1+floor_log2(abs(cx(0))+1))
      IN  round((cx(p1)*2^-(p1))^pn*2^p))

  cauchy_power(cx:cauchy_real, pn:posnat):cauchy_real
     = (LAMBDA p: LET p1 = p+floor_log2(pn)+3+pn*(1+floor_log2(abs(cx(0))+1))
                  IN  round((cx(p1)*2^-(p1))^pn*2^p))

  power_lemma: LEMMA cauchy_prop(x,cx) => cauchy_prop(x^pn,cauchy_power(cx,pn))

END power

¤ Dauer der Verarbeitung: 0.2 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