1 /*********************************************************/ 2 /*Proof Rule Declarations*/ 3 /*Examiner Pro Edition, Version 9.1.0, Build Date 20101119, Build 19039*/ 4 /*Copyright (C) 2010 Altran Praxis Limited, Bath, U.K.*/ 5 /*********************************************************/ 6 7 8 /*DATE : 29-NOV-2010 14:30:19.77*/ 9 10 /*function RMD.R_L*/ 11 12 13rule_family r_l_rules: 14 X requires [X:any] & 15 X <= Y requires [X:ire, Y:ire] & 16 X >= Y requires [X:ire, Y:ire]. 17 18r_l_rules(1): block_index__first <= element(r_values, [I]) may_be_deduced_from [0 <= I, I <= 79]. 19r_l_rules(2): element(r_values, [I]) <= block_index__last may_be_deduced_from [0 <= I, I <= 79]. 20r_l_rules(3): r_values may_be_replaced_by 21 mk__block_permutation([round_index__first] := 0, [ 22 round_index__first + 1] := 1, [round_index__first + 2] := 2, [ 23 round_index__first + 3] := 3, [round_index__first + 4] := 4, [ 24 round_index__first + 5] := 5, [round_index__first + 6] := 6, [ 25 round_index__first + 7] := 7, [round_index__first + 8] := 8, [ 26 round_index__first + 9] := 9, [round_index__first + 10] := 27 10, [round_index__first + 11] := 11, [ 28 round_index__first + 12] := 12, [round_index__first + 13] := 29 13, [round_index__first + 14] := 14, [ 30 round_index__first + 15] := 15, [round_index__first + 16] := 31 7, [round_index__first + 17] := 4, [round_index__first + 18] := 32 13, [round_index__first + 19] := 1, [round_index__first + 20] := 33 10, [round_index__first + 21] := 6, [round_index__first + 22] := 34 15, [round_index__first + 23] := 3, [round_index__first + 24] := 35 12, [round_index__first + 25] := 0, [round_index__first + 26] := 36 9, [round_index__first + 27] := 5, [round_index__first + 28] := 37 2, [round_index__first + 29] := 14, [round_index__first + 30] := 38 11, [round_index__first + 31] := 8, [round_index__first + 32] := 39 3, [round_index__first + 33] := 10, [round_index__first + 34] := 40 14, [round_index__first + 35] := 4, [round_index__first + 36] := 41 9, [round_index__first + 37] := 15, [round_index__first + 38] := 42 8, [round_index__first + 39] := 1, [round_index__first + 40] := 43 2, [round_index__first + 41] := 7, [round_index__first + 42] := 44 0, [round_index__first + 43] := 6, [round_index__first + 44] := 45 13, [round_index__first + 45] := 11, [ 46 round_index__first + 46] := 5, [round_index__first + 47] := 47 12, [round_index__first + 48] := 1, [round_index__first + 49] := 48 9, [round_index__first + 50] := 11, [round_index__first + 51] := 49 10, [round_index__first + 52] := 0, [round_index__first + 53] := 50 8, [round_index__first + 54] := 12, [round_index__first + 55] := 51 4, [round_index__first + 56] := 13, [round_index__first + 57] := 52 3, [round_index__first + 58] := 7, [round_index__first + 59] := 53 15, [round_index__first + 60] := 14, [ 54 round_index__first + 61] := 5, [round_index__first + 62] := 55 6, [round_index__first + 63] := 2, [round_index__first + 64] := 56 4, [round_index__first + 65] := 0, [round_index__first + 66] := 57 5, [round_index__first + 67] := 9, [round_index__first + 68] := 58 7, [round_index__first + 69] := 12, [round_index__first + 70] := 59 2, [round_index__first + 71] := 10, [round_index__first + 72] := 60 14, [round_index__first + 73] := 1, [round_index__first + 74] := 61 3, [round_index__first + 75] := 8, [round_index__first + 76] := 62 11, [round_index__first + 77] := 6, [round_index__first + 78] := 63 15, [round_index__first + 79] := 13). 64r_l_rules(4): block_index__size >= 0 may_be_deduced. 65r_l_rules(5): block_index__first may_be_replaced_by 0. 66r_l_rules(6): block_index__last may_be_replaced_by 15. 67r_l_rules(7): block_index__base__first <= block_index__base__last may_be_deduced. 68r_l_rules(8): block_index__base__first <= block_index__first may_be_deduced. 69r_l_rules(9): block_index__base__last >= block_index__last may_be_deduced. 70r_l_rules(10): round_index__size >= 0 may_be_deduced. 71r_l_rules(11): round_index__first may_be_replaced_by 0. 72r_l_rules(12): round_index__last may_be_replaced_by 79. 73r_l_rules(13): round_index__base__first <= round_index__base__last may_be_deduced. 74r_l_rules(14): round_index__base__first <= round_index__first may_be_deduced. 75r_l_rules(15): round_index__base__last >= round_index__last may_be_deduced. 76