Current library: Alpha v34, 4,223 checked-use theorems; Stable remains 432. Historical first admissions, original proof editions, and non-admitted aliases are preserved. Exact original first-admission records.
G102 was OPEN at this family's Alpha-v22 first admission: complete execution was proved only for a supplied valid beta-coded digit prefix. G102 is now CLOSED in Alpha v23 for every arbitrary exponent, with actual canonical digits and operations≤3*BitLen(e)+2.
Exact theorem in conservative defined notation
∀ b. ∀ c. ∀ a. ∀ m. ∀ l. ∀ e. ∀ r. BinaryModulus(m) → Horner(b,c,2,l,e) → BinaryModularExecution(b,c,a,m,l,r) → BinaryModularPower(a,e,m,r)
Every linked abbreviation expands hygienically to the identical original native formula.
Definition DAG
Actual proof prerequisites
Complete unchanged native tactic proof
All 106 lines are the exact independently kernel-checked original script.
Read the argument
Proof checkpoints
This is a reading aid, not a new proof or a proof-tree certificate. Checkpoint groups are consecutive commands, not inferred branch boundaries. Every step links to the preserved script.
Named ingredients (6)
01Fix variables and assumptionsL1–4
02Induction on lL5–10
03Establish hzeroL11–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval empty.
04Establish honeL18–27
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary modular execution empty.
- L18
have hone : r = 1 - L19
specialize binary_modular_execution_empty b - L20
specialize binary_modular_execution_empty c - L21
specialize binary_modular_execution_empty a - L22
specialize binary_modular_execution_empty m - L23
specialize binary_modular_execution_empty r - L24
apply binary_modular_execution_empty - L25
exact hexecution - L26
specialize binary_execution_power_zero a - L27
specialize binary_execution_power_zero e
05Use earlier factsL28–33
06Fix variables and assumptionsL34–38
07Establish hhstepL39–46
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta horner eval successor decompose.
- L39
have hhstep : ∃ digit. ∃ half. Beta(b,c,l,digit) ∧ (Horner(b,c,2,l,half) ∧ e = half · 2 + digit)Definitions: BetaHornerOriginal native command in the exact edition - L40
specialize beta_horner_eval_successor_decompose b - L41
specialize beta_horner_eval_successor_decompose c - L42
specialize beta_horner_eval_successor_decompose 2 - L43
specialize beta_horner_eval_successor_decompose l - L44
specialize beta_horner_eval_successor_decompose e - L45
apply beta_horner_eval_successor_decompose - L46
exact hhorner
08Separate the logical casesL47–50
09Establish hxstepL51–59
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary modular execution successor decompose.
- L51
have hxstep : ∃ digit. ∃ previous. Beta(b,c,l,digit) ∧ (BinaryModularExecution(b,c,a,m,l,previous) ∧ BinaryModularStep(m,previous,a,digit,r))Definitions: BetaBinaryModularStepBinaryModularExecutionOriginal native command in the exact edition - L52
specialize binary_modular_execution_successor_decompose b - L53
specialize binary_modular_execution_successor_decompose c - L54
specialize binary_modular_execution_successor_decompose a - L55
specialize binary_modular_execution_successor_decompose m - L56
specialize binary_modular_execution_successor_decompose l - L57
specialize binary_modular_execution_successor_decompose r - L58
apply binary_modular_execution_successor_decompose - L59
exact hexecution
10Separate the logical casesL60–63
11Establish hdigitL64–73
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at unique.
- L64
have hdigit : x = x2 - L65
specialize beta_at_unique b - L66
specialize beta_at_unique c - L67
specialize beta_at_unique l - L68
specialize beta_at_unique x - L69
specialize beta_at_unique x2 - L70
apply beta_at_unique - L71
exact hhstep_witness_witness_left - L72
exact hxstep_witness_witness_left - L73
rewrite hdigit at hhstep_witness_witness_right_right
12Establish hbitL74–81
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary execution step digit.
- L74
have hbit : x2 = 0 \/ x2 = 1 - L75
specialize binary_execution_step_digit m - L76
specialize binary_execution_step_digit x3 - L77
specialize binary_execution_step_digit a - L78
specialize binary_execution_step_digit x2 - L79
specialize binary_execution_step_digit r - L80
apply binary_execution_step_digit - L81
exact hxstep_witness_witness_right_right
13Establish hsplitL82–88
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply binary execution horner digit split.
- L82
have hsplit : ((((x2 = 0) \/ (x2 = 1)) /\ e = (x1 + x1) + x2)) - L83
specialize binary_execution_horner_digit_split x1 - L84
specialize binary_execution_horner_digit_split e - L85
specialize binary_execution_horner_digit_split x2 - L86
apply binary_execution_horner_digit_split - L87
exact hbit - L88
exact hhstep_witness_witness_right_right
14Establish hpreviousL89–98
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply IH.
- L89
have hprevious : BinaryModularPower(a,x1,m,x3)Definitions: BinaryModularPowerOriginal native command in the exact edition - L90
specialize IH x1 - L91
specialize IH x3 - L92
apply IH - L93
exact hmodulus - L94
exact hhstep_witness_witness_right_left - L95
exact hxstep_witness_witness_right_left - L96
specialize binary_execution_step_power_invariant a - L97
specialize binary_execution_step_power_invariant x1 - L98
specialize binary_execution_step_power_invariant e
15Use earlier factsL99–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
specialize binary_execution_step_power_invariant m - L100
specialize binary_execution_step_power_invariant x3 - L101
specialize binary_execution_step_power_invariant x2 - L102
specialize binary_execution_step_power_invariant r - L103
apply binary_execution_step_power_invariant - L104
exact hprevious - L105
exact hsplit - L106
exact hxstep_witness_witness_right_right
Original defined command ledger · 106 lines
- 0001
intro b - 0002
intro c - 0003
intro a - 0004
intro m - 0005
induction l - 0006
intro e - 0007
intro r - 0008
intro hmodulus - 0009
intro hhorner - 0010
intro hexecution - 0011
have hzero : e = 0 - 0012
specialize beta_horner_eval_empty b - 0013
specialize beta_horner_eval_empty c - 0014
specialize beta_horner_eval_empty 2 - 0015
specialize beta_horner_eval_empty e - 0016
apply beta_horner_eval_empty - 0017
exact hhorner - 0018
have hone : r = 1 - 0019
specialize binary_modular_execution_empty b - 0020
specialize binary_modular_execution_empty c - 0021
specialize binary_modular_execution_empty a - 0022
specialize binary_modular_execution_empty m - 0023
specialize binary_modular_execution_empty r - 0024
apply binary_modular_execution_empty - 0025
exact hexecution - 0026
specialize binary_execution_power_zero a - 0027
specialize binary_execution_power_zero e - 0028
specialize binary_execution_power_zero m - 0029
specialize binary_execution_power_zero r - 0030
apply binary_execution_power_zero - 0031
exact hmodulus - 0032
exact hzero - 0033
exact hone - 0034
intro e - 0035
intro r - 0036
intro hmodulus - 0037
intro hhorner - 0038
intro hexecution - 0039
have hhstep : exists digit half. ((((exists ff_h_be_power_horner_digit. ff_h_be_power_horner_digit + S (digit) = S ((S (l)) * c)) /\ exists ff_q_be_power_horner_digit. b = ff_q_be_power_horner_digit * S ((S (l)) * c) + (digit))) /\ ((exists ff_u_ph_be_power_horner_prefix ff_v_ph_be_power_horner_prefix. ((((exists fs_h_ph_be_power_horner_prefix_body_start. fs_h_ph_be_power_horner_prefix_body_start + S (0) = S ((S (0)) * ff_v_ph_be_power_horner_prefix)) /\ exists fs_q_ph_be_power_horner_prefix_body_start. ff_u_ph_be_power_horner_prefix = fs_q_ph_be_power_horner_prefix_body_start * S ((S (0)) * ff_v_ph_be_power_horner_prefix) + (0))) /\ ((((exists fs_h_ph_be_power_horner_prefix_body_terminal. fs_h_ph_be_power_horner_prefix_body_terminal + S (half) = S ((S (l)) * ff_v_ph_be_power_horner_prefix)) /\ exists fs_q_ph_be_power_horner_prefix_body_terminal. ff_u_ph_be_power_horner_prefix = fs_q_ph_be_power_horner_prefix_body_terminal * S ((S (l)) * ff_v_ph_be_power_horner_prefix) + (half))) /\ forall ff_i_ph_be_power_horner_prefix_body_steps. (exists ph_bound_be_power_horner_prefix_body_steps. ph_bound_be_power_horner_prefix_body_steps + S ff_i_ph_be_power_horner_prefix_body_steps = l) -> exists ff_coefficient_ph_be_power_horner_prefix_body_steps ff_previous_ph_be_power_horner_prefix_body_steps ff_current_ph_be_power_horner_prefix_body_steps. ((((exists fs_h_ph_be_power_horner_prefix_body_steps_coefficient. fs_h_ph_be_power_horner_prefix_body_steps_coefficient + S (ff_coefficient_ph_be_power_horner_prefix_body_steps) = S ((S (ff_i_ph_be_power_horner_prefix_body_steps)) * c)) /\ exists fs_q_ph_be_power_horner_prefix_body_steps_coefficient. b = fs_q_ph_be_power_horner_prefix_body_steps_coefficient * S ((S (ff_i_ph_be_power_horner_prefix_body_steps)) * c) + (ff_coefficient_ph_be_power_horner_prefix_body_steps))) /\ ((((exists fs_h_ph_be_power_horner_prefix_body_steps_before. fs_h_ph_be_power_horner_prefix_body_steps_before + S (ff_previous_ph_be_power_horner_prefix_body_steps) = S ((S (ff_i_ph_be_power_horner_prefix_body_steps)) * ff_v_ph_be_power_horner_prefix)) /\ exists fs_q_ph_be_power_horner_prefix_body_steps_before. ff_u_ph_be_power_horner_prefix = fs_q_ph_be_power_horner_prefix_body_steps_before * S ((S (ff_i_ph_be_power_horner_prefix_body_steps)) * ff_v_ph_be_power_horner_prefix) + (ff_previous_ph_be_power_horner_prefix_body_steps))) /\ ((((exists fs_h_ph_be_power_horner_prefix_body_steps_after. fs_h_ph_be_power_horner_prefix_body_steps_after + S (ff_current_ph_be_power_horner_prefix_body_steps) = S ((S (S ff_i_ph_be_power_horner_prefix_body_steps)) * ff_v_ph_be_power_horner_prefix)) /\ exists fs_q_ph_be_power_horner_prefix_body_steps_after. ff_u_ph_be_power_horner_prefix = fs_q_ph_be_power_horner_prefix_body_steps_after * S ((S (S ff_i_ph_be_power_horner_prefix_body_steps)) * ff_v_ph_be_power_horner_prefix) + (ff_current_ph_be_power_horner_prefix_body_steps))) /\ ff_current_ph_be_power_horner_prefix_body_steps = ff_previous_ph_be_power_horner_prefix_body_steps * 2 + ff_coefficient_ph_be_power_horner_prefix_body_steps)))))) /\ e = half * 2 + digit)) - 0040
specialize beta_horner_eval_successor_decompose b - 0041
specialize beta_horner_eval_successor_decompose c - 0042
specialize beta_horner_eval_successor_decompose 2 - 0043
specialize beta_horner_eval_successor_decompose l - 0044
specialize beta_horner_eval_successor_decompose e - 0045
apply beta_horner_eval_successor_decompose - 0046
exact hhorner - 0047
cases hhstep - 0048
cases hhstep_witness - 0049
cases hhstep_witness_witness - 0050
cases hhstep_witness_witness_right - 0051
have hxstep : exists digit previous. ((((exists ff_h_be_power_execution_digit. ff_h_be_power_execution_digit + S (digit) = S ((S (l)) * c)) /\ exists ff_q_be_power_execution_digit. b = ff_q_be_power_execution_digit * S ((S (l)) * c) + (digit))) /\ ((exists ff_trace_code_be_power_execution_prefix ff_trace_scale_be_power_execution_prefix. ((((((exists ff_h_be_power_execution_prefix_trace_start. ff_h_be_power_execution_prefix_trace_start + S (1) = S ((S (0)) * ff_trace_scale_be_power_execution_prefix)) /\ exists ff_q_be_power_execution_prefix_trace_start. ff_trace_code_be_power_execution_prefix = ff_q_be_power_execution_prefix_trace_start * S ((S (0)) * ff_trace_scale_be_power_execution_prefix) + (1))) /\ forall ff_index_be_power_execution_prefix_trace. (exists ff_lt_be_power_execution_prefix_trace_bound. ff_lt_be_power_execution_prefix_trace_bound + S ff_index_be_power_execution_prefix_trace = l) -> exists ff_digit_be_power_execution_prefix_trace ff_previous_be_power_execution_prefix_trace ff_current_be_power_execution_prefix_trace. ((((exists ff_h_be_power_execution_prefix_trace_source. ff_h_be_power_execution_prefix_trace_source + S (ff_digit_be_power_execution_prefix_trace) = S ((S (ff_index_be_power_execution_prefix_trace)) * c)) /\ exists ff_q_be_power_execution_prefix_trace_source. b = ff_q_be_power_execution_prefix_trace_source * S ((S (ff_index_be_power_execution_prefix_trace)) * c) + (ff_digit_be_power_execution_prefix_trace))) /\ ((((exists ff_h_be_power_execution_prefix_trace_before. ff_h_be_power_execution_prefix_trace_before + S (ff_previous_be_power_execution_prefix_trace) = S ((S (ff_index_be_power_execution_prefix_trace)) * ff_trace_scale_be_power_execution_prefix)) /\ exists ff_q_be_power_execution_prefix_trace_before. ff_trace_code_be_power_execution_prefix = ff_q_be_power_execution_prefix_trace_before * S ((S (ff_index_be_power_execution_prefix_trace)) * ff_trace_scale_be_power_execution_prefix) + (ff_previous_be_power_execution_prefix_trace))) /\ ((((exists ff_h_be_power_execution_prefix_trace_after. ff_h_be_power_execution_prefix_trace_after + S (ff_current_be_power_execution_prefix_trace) = S ((S (S ff_index_be_power_execution_prefix_trace)) * ff_trace_scale_be_power_execution_prefix)) /\ exists ff_q_be_power_execution_prefix_trace_after. ff_trace_code_be_power_execution_prefix = ff_q_be_power_execution_prefix_trace_after * S ((S (S ff_index_be_power_execution_prefix_trace)) * ff_trace_scale_be_power_execution_prefix) + (ff_current_be_power_execution_prefix_trace))) /\ ((((ff_digit_be_power_execution_prefix_trace = 0) /\ (((exists ff_gap_binary_be_power_execution_prefix_trace_transition_square. ff_gap_binary_be_power_execution_prefix_trace_transition_square + S (ff_current_be_power_execution_prefix_trace) = m) /\ (exists ff_left_binary_be_power_execution_prefix_trace_transition_square_congruence ff_right_binary_be_power_execution_prefix_trace_transition_square_congruence. (ff_previous_be_power_execution_prefix_trace * ff_previous_be_power_execution_prefix_trace) + m * ff_left_binary_be_power_execution_prefix_trace_transition_square_congruence = (ff_current_be_power_execution_prefix_trace) + m * ff_right_binary_be_power_execution_prefix_trace_transition_square_congruence)))) \/ ((ff_digit_be_power_execution_prefix_trace = 1) /\ (((exists ff_gap_binary_be_power_execution_prefix_trace_transition_multiply. ff_gap_binary_be_power_execution_prefix_trace_transition_multiply + S (ff_current_be_power_execution_prefix_trace) = m) /\ (exists ff_left_binary_be_power_execution_prefix_trace_transition_multiply_congruence ff_right_binary_be_power_execution_prefix_trace_transition_multiply_congruence. ((ff_previous_be_power_execution_prefix_trace * ff_previous_be_power_execution_prefix_trace) * a) + m * ff_left_binary_be_power_execution_prefix_trace_transition_multiply_congruence = (ff_current_be_power_execution_prefix_trace) + m * ff_right_binary_be_power_execution_prefix_trace_transition_multiply_congruence))))))))))) /\ (((exists ff_h_be_power_execution_prefix_terminal. ff_h_be_power_execution_prefix_terminal + S (previous) = S ((S (l)) * ff_trace_scale_be_power_execution_prefix)) /\ exists ff_q_be_power_execution_prefix_terminal. ff_trace_code_be_power_execution_prefix = ff_q_be_power_execution_prefix_terminal * S ((S (l)) * ff_trace_scale_be_power_execution_prefix) + (previous))))) /\ ((((digit = 0) /\ (((exists ff_gap_binary_power_execution_step_square. ff_gap_binary_power_execution_step_square + S (r) = m) /\ (exists ff_left_binary_power_execution_step_square_congruence ff_right_binary_power_execution_step_square_congruence. (previous * previous) + m * ff_left_binary_power_execution_step_square_congruence = (r) + m * ff_right_binary_power_execution_step_square_congruence)))) \/ ((digit = 1) /\ (((exists ff_gap_binary_power_execution_step_multiply. ff_gap_binary_power_execution_step_multiply + S (r) = m) /\ (exists ff_left_binary_power_execution_step_multiply_congruence ff_right_binary_power_execution_step_multiply_congruence. ((previous * previous) * a) + m * ff_left_binary_power_execution_step_multiply_congruence = (r) + m * ff_right_binary_power_execution_step_multiply_congruence)))))))) - 0052
specialize binary_modular_execution_successor_decompose b - 0053
specialize binary_modular_execution_successor_decompose c - 0054
specialize binary_modular_execution_successor_decompose a - 0055
specialize binary_modular_execution_successor_decompose m - 0056
specialize binary_modular_execution_successor_decompose l - 0057
specialize binary_modular_execution_successor_decompose r - 0058
apply binary_modular_execution_successor_decompose - 0059
exact hexecution - 0060
cases hxstep - 0061
cases hxstep_witness - 0062
cases hxstep_witness_witness - 0063
cases hxstep_witness_witness_right - 0064
have hdigit : x = x2 - 0065
specialize beta_at_unique b - 0066
specialize beta_at_unique c - 0067
specialize beta_at_unique l - 0068
specialize beta_at_unique x - 0069
specialize beta_at_unique x2 - 0070
apply beta_at_unique - 0071
exact hhstep_witness_witness_left - 0072
exact hxstep_witness_witness_left - 0073
rewrite hdigit at hhstep_witness_witness_right_right - 0074
have hbit : x2 = 0 \/ x2 = 1 - 0075
specialize binary_execution_step_digit m - 0076
specialize binary_execution_step_digit x3 - 0077
specialize binary_execution_step_digit a - 0078
specialize binary_execution_step_digit x2 - 0079
specialize binary_execution_step_digit r - 0080
apply binary_execution_step_digit - 0081
exact hxstep_witness_witness_right_right - 0082
have hsplit : ((((x2 = 0) \/ (x2 = 1)) /\ e = (x1 + x1) + x2)) - 0083
specialize binary_execution_horner_digit_split x1 - 0084
specialize binary_execution_horner_digit_split e - 0085
specialize binary_execution_horner_digit_split x2 - 0086
apply binary_execution_horner_digit_split - 0087
exact hbit - 0088
exact hhstep_witness_witness_right_right - 0089
have hprevious : (exists ff_power_binary_correctness_previous. ((exists ff_b_binary_correctness_previous_value ff_c_binary_correctness_previous_value. ((forall ff_i_binary_correctness_previous_value_repeat. (exists ff_lt_binary_correctness_previous_value_repeat_bound. ff_lt_binary_correctness_previous_value_repeat_bound + S ff_i_binary_correctness_previous_value_repeat = x1) -> (((exists ff_h_binary_correctness_previous_value_repeat_decoded. ff_h_binary_correctness_previous_value_repeat_decoded + S (a) = S ((S (ff_i_binary_correctness_previous_value_repeat)) * ff_c_binary_correctness_previous_value)) /\ exists ff_q_binary_correctness_previous_value_repeat_decoded. ff_b_binary_correctness_previous_value = ff_q_binary_correctness_previous_value_repeat_decoded * S ((S (ff_i_binary_correctness_previous_value_repeat)) * ff_c_binary_correctness_previous_value) + (a)))) /\ (exists ff_u_binary_correctness_previous_value_product ff_v_binary_correctness_previous_value_product. ((((exists ff_h_binary_correctness_previous_value_product_start. ff_h_binary_correctness_previous_value_product_start + S (1) = S ((S (0)) * ff_v_binary_correctness_previous_value_product)) /\ exists ff_q_binary_correctness_previous_value_product_start. ff_u_binary_correctness_previous_value_product = ff_q_binary_correctness_previous_value_product_start * S ((S (0)) * ff_v_binary_correctness_previous_value_product) + (1))) /\ ((((exists ff_h_binary_correctness_previous_value_product_terminal. ff_h_binary_correctness_previous_value_product_terminal + S (ff_power_binary_correctness_previous) = S ((S (x1)) * ff_v_binary_correctness_previous_value_product)) /\ exists ff_q_binary_correctness_previous_value_product_terminal. ff_u_binary_correctness_previous_value_product = ff_q_binary_correctness_previous_value_product_terminal * S ((S (x1)) * ff_v_binary_correctness_previous_value_product) + (ff_power_binary_correctness_previous))) /\ forall ff_i_binary_correctness_previous_value_product. (exists ff_lt_binary_correctness_previous_value_product_bound. ff_lt_binary_correctness_previous_value_product_bound + S ff_i_binary_correctness_previous_value_product = x1) -> exists ff_p_binary_correctness_previous_value_product ff_r_binary_correctness_previous_value_product ff_s_binary_correctness_previous_value_product. ((((exists ff_h_binary_correctness_previous_value_product_factor. ff_h_binary_correctness_previous_value_product_factor + S (ff_p_binary_correctness_previous_value_product) = S ((S (ff_i_binary_correctness_previous_value_product)) * ff_c_binary_correctness_previous_value)) /\ exists ff_q_binary_correctness_previous_value_product_factor. ff_b_binary_correctness_previous_value = ff_q_binary_correctness_previous_value_product_factor * S ((S (ff_i_binary_correctness_previous_value_product)) * ff_c_binary_correctness_previous_value) + (ff_p_binary_correctness_previous_value_product))) /\ ((((exists ff_h_binary_correctness_previous_value_product_partial. ff_h_binary_correctness_previous_value_product_partial + S (ff_r_binary_correctness_previous_value_product) = S ((S (ff_i_binary_correctness_previous_value_product)) * ff_v_binary_correctness_previous_value_product)) /\ exists ff_q_binary_correctness_previous_value_product_partial. ff_u_binary_correctness_previous_value_product = ff_q_binary_correctness_previous_value_product_partial * S ((S (ff_i_binary_correctness_previous_value_product)) * ff_v_binary_correctness_previous_value_product) + (ff_r_binary_correctness_previous_value_product))) /\ ((((exists ff_h_binary_correctness_previous_value_product_successor. ff_h_binary_correctness_previous_value_product_successor + S (ff_s_binary_correctness_previous_value_product) = S ((S (S ff_i_binary_correctness_previous_value_product)) * ff_v_binary_correctness_previous_value_product)) /\ exists ff_q_binary_correctness_previous_value_product_successor. ff_u_binary_correctness_previous_value_product = ff_q_binary_correctness_previous_value_product_successor * S ((S (S ff_i_binary_correctness_previous_value_product)) * ff_v_binary_correctness_previous_value_product) + (ff_s_binary_correctness_previous_value_product))) /\ ff_s_binary_correctness_previous_value_product = ff_r_binary_correctness_previous_value_product * ff_p_binary_correctness_previous_value_product)))))))) /\ (((exists ff_gap_binary_correctness_previous_residue. ff_gap_binary_correctness_previous_residue + S (x3) = m) /\ (exists ff_left_binary_correctness_previous_residue_congruence ff_right_binary_correctness_previous_residue_congruence. (ff_power_binary_correctness_previous) + m * ff_left_binary_correctness_previous_residue_congruence = (x3) + m * ff_right_binary_correctness_previous_residue_congruence))))) - 0090
specialize IH x1 - 0091
specialize IH x3 - 0092
apply IH - 0093
exact hmodulus - 0094
exact hhstep_witness_witness_right_left - 0095
exact hxstep_witness_witness_right_left - 0096
specialize binary_execution_step_power_invariant a - 0097
specialize binary_execution_step_power_invariant x1 - 0098
specialize binary_execution_step_power_invariant e - 0099
specialize binary_execution_step_power_invariant m - 0100
specialize binary_execution_step_power_invariant x3 - 0101
specialize binary_execution_step_power_invariant x2 - 0102
specialize binary_execution_step_power_invariant r - 0103
apply binary_execution_step_power_invariant - 0104
exact hprevious - 0105
exact hsplit - 0106
exact hxstep_witness_witness_right_right