***************************************************************************** Semantic Analysis of SPARK Text Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039 Copyright (C) 2010 Altran Praxis Limited, Bath, U.K. ***************************************************************************** CREATED 22-SEP-2011, 11:10:50 SIMPLIFIED 22-SEP-2011, 11:10:51 SPARK Simplifier Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039 Copyright (C) 2010 Altran Praxis Limited, Bath, U.K. procedure Loop_Invariant.Proc1 For path(s) from start to run-time check associated with statement of line 7: procedure_proc1_1. *** true . /* all conclusions proved */ For path(s) from start to run-time check associated with statement of line 8: procedure_proc1_2. *** true . /* all conclusions proved */ For path(s) from start to run-time check associated with statement of line 8: procedure_proc1_3. *** true . /* all conclusions proved */ For path(s) from start to assertion of line 8: procedure_proc1_4. *** true . /* all conclusions proved */ For path(s) from assertion of line 8 to assertion of line 8: procedure_proc1_5. H1: a <= 2147483647 . H2: b >= 0 . H3: b <= 4294967295 . H4: loop__1__i >= 1 . H5: (loop__1__i - 1) * b mod 4294967296 >= 0 . H6: (loop__1__i - 1) * b mod 4294967296 <= 4294967295 . H7: ((loop__1__i - 1) * b mod 4294967296 + b) mod 4294967296 >= 0 . H8: ((loop__1__i - 1) * b mod 4294967296 + b) mod 4294967296 <= 4294967295 . H9: loop__1__i < a . H10: integer__size >= 0 . H11: natural__size >= 0 . H12: word32__size >= 0 . -> C1: loop__1__i * b mod 4294967296 = ((loop__1__i - 1) * b mod 4294967296 + b) mod 4294967296 . For path(s) from assertion of line 8 to run-time check associated with statement of line 11: procedure_proc1_6. *** true . /* all conclusions proved */ For path(s) from start to finish: procedure_proc1_7. *** true . /* all conclusions proved */ For path(s) from assertion of line 8 to finish: procedure_proc1_8. H1: a <= 2147483647 . H2: b >= 0 . H3: b <= 4294967295 . H4: a <= 2147483647 . H5: a >= 1 . H6: (a - 1) * b mod 4294967296 >= 0 . H7: (a - 1) * b mod 4294967296 <= 4294967295 . H8: ((a - 1) * b mod 4294967296 + b) mod 4294967296 >= 0 . H9: ((a - 1) * b mod 4294967296 + b) mod 4294967296 <= 4294967295 . H10: integer__size >= 0 . H11: natural__size >= 0 . H12: word32__size >= 0 . -> C1: a * b mod 4294967296 = ((a - 1) * b mod 4294967296 + b) mod 4294967296 .