src/HOL/SPARK/Manual/loop_invariant/proc2.siv
author wenzelm
Mon, 13 Apr 2020 22:08:14 +0200
changeset 71751 abf3e80bd815
parent 45044 2fae15f8984d
permissions -rw-r--r--
tuned NEWS;
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
45044
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     1
*****************************************************************************
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     2
                       Semantic Analysis of SPARK Text
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     3
    Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     4
             Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     5
*****************************************************************************
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     6
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     7
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     8
CREATED 22-SEP-2011, 11:10:50  SIMPLIFIED 22-SEP-2011, 11:10:51
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
     9
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    10
SPARK Simplifier Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    11
Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    12
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    13
procedure Loop_Invariant.Proc2
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    14
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    15
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    16
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    17
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    18
For path(s) from start to run-time check associated with statement of line 18:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    19
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    20
procedure_proc2_1.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    21
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    22
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    23
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    24
For path(s) from start to run-time check associated with statement of line 19:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    25
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    26
procedure_proc2_2.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    27
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    28
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    29
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    30
For path(s) from start to run-time check associated with statement of line 19:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    31
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    32
procedure_proc2_3.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    33
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    34
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    35
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    36
For path(s) from start to assertion of line 19:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    37
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    38
procedure_proc2_4.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    39
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    40
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    41
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    42
For path(s) from assertion of line 23 to assertion of line 19:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    43
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    44
procedure_proc2_5.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    45
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    46
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    47
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    48
For path(s) from assertion of line 19 to run-time check associated with 
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    49
          statement of line 22:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    50
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    51
procedure_proc2_6.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    52
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    53
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    54
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    55
For path(s) from assertion of line 19 to assertion of line 23:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    56
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    57
procedure_proc2_7.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    58
H1:    a <= 2147483647 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    59
H2:    b >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    60
H3:    b <= 4294967295 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    61
H4:    loop__1__i <= 2147483647 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    62
H5:    loop__1__i >= 1 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    63
H6:    loop__1__i <= a .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    64
H7:    (loop__1__i - 1) * b mod 4294967296 >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    65
H8:    (loop__1__i - 1) * b mod 4294967296 <= 4294967295 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    66
H9:    ((loop__1__i - 1) * b mod 4294967296 + b) mod 4294967296 >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    67
H10:   ((loop__1__i - 1) * b mod 4294967296 + b) mod 4294967296 <= 4294967295 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    68
H11:   integer__size >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    69
H12:   natural__size >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    70
H13:   word32__size >= 0 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    71
       ->
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    72
C1:    loop__1__i * b mod 4294967296 = ((loop__1__i - 1) * b mod 4294967296 + b)
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    73
           mod 4294967296 .
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    74
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    75
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    76
For path(s) from start to finish:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    77
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    78
procedure_proc2_8.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    79
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    80
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    81
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    82
For path(s) from assertion of line 23 to finish:
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    83
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    84
procedure_proc2_9.
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    85
*** true .          /* all conclusions proved */
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    86
2fae15f8984d Added documentation for HOL-SPARK
berghofe
parents:
diff changeset
    87