products/sources/formale sprachen/PVS/extended_nnreal image not shown  

Quellcode-Bibliothek

© Kompilation durch diese Firma

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

Datei: environment.vdmrt   Sprache: VDM

Original von: PVS©

%-------------------------------------------------------------------------
% code product
%
%     Author: David Lester, Manchester University
%
%     Version 1.0           04/05/09    Initial (DRL)
%
%
% Diagonal traversal (through the indices of a doubly-indexed set)
%
% For the first ten naturals we get:
%    (double_index_i(n),double_index_j(n)) =
%   (0,0),(1,0),(0,1),(2,0),(1,1),(0,2),(3,0),(2,1),(1,2),(0,3),(4,0)
% and so on...
%-------------------------------------------------------------------------

code_product: THEORY

BEGIN

  IMPORTING reals@sqrt % proof only

  i,j,n,m: VAR nat

  double_index_n(i,j):nat = ((i+j)*(1+i+j))/2 + j

  double_index_triangle(n):nat = {i | (i*(i+1))/2 <= n AND n < ((i+1)*(i+2))/2}

  double_index_triangle_def: LEMMA
    (double_index_triangle(n)*(double_index_triangle(n)+1))/2 <= n AND
    n < ((double_index_triangle(n)+1)*(double_index_triangle(n)+2))/2

  double_index_triangle_increasing: LEMMA
    FORALL i,j: i <= j => double_index_triangle(i) <= double_index_triangle(j)

  double_index_triangle_bound:      LEMMA double_index_triangle(n) <= n

  double_index_j(n):nat
    = n - (double_index_triangle(n)*(double_index_triangle(n)+1))/2

  double_index_j_bound: LEMMA double_index_j(n) <= double_index_triangle(n)

  double_index_i(n):nat = double_index_triangle(n)-double_index_j(n)

  double_index_i_bound: LEMMA double_index_i(n) <= double_index_triangle(n)

  double_index_n_increasing: LEMMA
    FORALL n,m: n < m => double_index_n(n,j) < double_index_n(m,j)

  double_index_n_ij: LEMMA
    double_index_n(double_index_i(n),double_index_j(n)) = n

  double_index_ij_n: LEMMA
    double_index_i(double_index_n(i,j)) = i AND
    double_index_j(double_index_n(i,j)) = j

  double_index_n_bijective: LEMMA bijective?[[nat,nat],nat](double_index_n)

END code_product

¤ Dauer der Verarbeitung: 0.19 Sekunden  (vorverarbeitet)  ¤





Druckansicht
unsichere Verbindung
Druckansicht
sprechenden Kalenders

Eigene Datei ansehen




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