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.
Exact expanded first-order arithmetic statement
forall b c d e l n m. (((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((n)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((n)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (c))) /\ exists ff_q_fms_count_summand. (b) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (c)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (c))) /\ exists ff_q_fms_count_decoded. (b) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (c)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1))))) -> (((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((m)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((m)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (e))) /\ exists ff_q_fms_count_summand. (d) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (e)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (e))) /\ exists ff_q_fms_count_decoded. (d) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (e)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1))))) -> exists u v q. (((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((q)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (v))) /\ exists ff_q_fms_count_summand. (u) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (v)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (v))) /\ exists ff_q_fms_count_decoded. (u) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (v)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1))))) /\ (forall fms_i_binary. (exists fms_gap_binary. fms_gap_binary + S (fms_i_binary) = (l)) -> ((((((exists fs_h_fms_binary_result. fs_h_fms_binary_result + S (1) = S ((S (fms_i_binary)) * v)) /\ exists fs_q_fms_binary_result. u = fs_q_fms_binary_result * S ((S (fms_i_binary)) * v) + (1))) -> (((((exists fs_h_fms_binary_left. fs_h_fms_binary_left + S (1) = S ((S (fms_i_binary)) * c)) /\ exists fs_q_fms_binary_left. b = fs_q_fms_binary_left * S ((S (fms_i_binary)) * c) + (1))) /\ (((exists fs_h_fms_binary_right. fs_h_fms_binary_right + S (1) = S ((S (fms_i_binary)) * e)) /\ exists fs_q_fms_binary_right. d = fs_q_fms_binary_right * S ((S (fms_i_binary)) * e) + (1)))))) /\ ((((((exists fs_h_fms_binary_left. fs_h_fms_binary_left + S (1) = S ((S (fms_i_binary)) * c)) /\ exists fs_q_fms_binary_left. b = fs_q_fms_binary_left * S ((S (fms_i_binary)) * c) + (1))) /\ (((exists fs_h_fms_binary_right. fs_h_fms_binary_right + S (1) = S ((S (fms_i_binary)) * e)) /\ exists fs_q_fms_binary_right. d = fs_q_fms_binary_right * S ((S (fms_i_binary)) * e) + (1))))) -> (((exists fs_h_fms_binary_result. fs_h_fms_binary_result + S (1) = S ((S (fms_i_binary)) * v)) /\ exists fs_q_fms_binary_result. u = fs_q_fms_binary_result * S ((S (fms_i_binary)) * v) + (1)))))))Constructive proof overview
Generated structural guide
Construct an actual characteristic intersection code and its exact finite count.
The unchanged tactic script uses 6 declared prerequisites and contains 98 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_pointwise_mul_prefix_exists Alpha theorem; checked-use authorized beta_at_exists Stable theorem; checked-use authorized CD0001 finite_bit_entry_cases CD0010 finite_bit_product_cases bit_count_exists Stable theorem; checked-use authorized CD0011 finite_bit_intersection_from_productDirect dependents
Formal native tactic body
Dependencies are introduced as named hypotheses before line 1. Local theorem links identify exact declared prerequisites. This exact body belongs to a complete independently kernel-checked constructive proof bundle and has Alpha checked-use authority; it does not imply Stable membership.
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 (3)
01Fix variables and assumptionsL1–9
02Establish hcodeL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta pointwise mul prefix exists.
- L10
have hcode : ∃ u. ∃ v. ∀ fms_i_product. ∀ fms_a_product. ∀ fms_z_product. ∀ fms_w_product. Lt(fms_i_product,l) → BetaAt(b,c,fms_i_product,fms_a_product) → BetaAt(d,e,fms_i_product,fms_z_product) → BetaAt(u,v,fms_i_product,fms_w_product) → fms_w_product = fms_a_product · fms_z_productDefinitions: LtBetaAt - L11
specialize beta_pointwise_mul_prefix_exists b - L12
specialize beta_pointwise_mul_prefix_exists c - L13
specialize beta_pointwise_mul_prefix_exists d - L14
specialize beta_pointwise_mul_prefix_exists e - L15
specialize beta_pointwise_mul_prefix_exists l - L16
apply beta_pointwise_mul_prefix_exists
03Separate the logical casesL17–20
04Establish hbitsL21–23
Establish this local claim before using it. It is not an additional assumption.
- L21
have hbits : forall ff_i_fms_bits. (exists ff_lt_fms_bits_bound. ff_lt_fms_bits_bound + S ff_i_fms_bits = (l)) -> exists ff_bit_fms_bits. ((((exists ff_h_fms_bits_decoded. ff_h_fms_bits_decoded + S (ff_bit_fms_bits) = S ((S (ff_i_fms_bits)) * (x1))) /\ exists ff_q_fms_bits_decoded. (x) = ff_q_fms_bits_decoded * S ((S (ff_i_fms_bits)) * (x1)) + (ff_bit_fms_bits))) /\ (ff_bit_fms_bits = 0 \/ ff_bit_fms_bits = 1)) - L22
intro i - L23
intro hi
05Establish haL24–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L24
have ha : exists a. ((exists fs_h_fms_inter_exists_a. fs_h_fms_inter_exists_a + S (a) = S ((S (i)) * c)) /\ exists fs_q_fms_inter_exists_a. b = fs_q_fms_inter_exists_a * S ((S (i)) * c) + (a)) - L25
specialize beta_at_exists b - L26
specialize beta_at_exists c - L27
specialize beta_at_exists i - L28
apply beta_at_exists
06Separate the logical casesL29–29
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L29
cases ha
07Establish hbL30–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L30
have hb : exists a. ((exists fs_h_fms_inter_exists_b. fs_h_fms_inter_exists_b + S (a) = S ((S (i)) * e)) /\ exists fs_q_fms_inter_exists_b. d = fs_q_fms_inter_exists_b * S ((S (i)) * e) + (a)) - L31
specialize beta_at_exists d - L32
specialize beta_at_exists e - L33
specialize beta_at_exists i - L34
apply beta_at_exists
08Separate the logical casesL35–35
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L35
cases hb
09Establish hwL36–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
- L36
have hw : exists a. ((exists fs_h_fms_inter_exists_w. fs_h_fms_inter_exists_w + S (a) = S ((S (i)) * x1)) /\ exists fs_q_fms_inter_exists_w. x = fs_q_fms_inter_exists_w * S ((S (i)) * x1) + (a)) - L37
specialize beta_at_exists x - L38
specialize beta_at_exists x1 - L39
specialize beta_at_exists i - L40
apply beta_at_exists
10Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hw
11Establish heL42–51
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hcode witness witness.
12Construct an explicit witnessL52–52
Supply the displayed value, then prove that it has the required property.
- L52
exists x4
13Separate the logical casesL53–53
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L53
split
14Use earlier factsL54–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
exact hw_witness
15Calculate and transport equalitiesL55–56
16Use earlier factsL57–66
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L57
specialize finite_bit_product_cases x2 - L58
specialize finite_bit_product_cases x3 - L59
apply finite_bit_product_cases - L60
specialize finite_bit_entry_cases b - L61
specialize finite_bit_entry_cases c - L62
specialize finite_bit_entry_cases l - L63
specialize finite_bit_entry_cases i - L64
specialize finite_bit_entry_cases x2 - L65
apply finite_bit_entry_cases - L66
exact hn_right
17Use earlier factsL67–76
Instantiate or apply named facts and discharge the corresponding proof obligations.
18Use earlier factsL77–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L77
exact hb_witness
19Establish hcountL78–83
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply bit count exists.
20Separate the logical casesL84–84
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L84
cases hcount
21Construct an explicit witnessL85–87
22Separate the logical casesL88–88
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L88
split
23Use earlier factsL89–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
exact hcount_witness - L90
specialize finite_bit_intersection_from_product b - L91
specialize finite_bit_intersection_from_product c - L92
specialize finite_bit_intersection_from_product d - L93
specialize finite_bit_intersection_from_product e - L94
specialize finite_bit_intersection_from_product x - L95
specialize finite_bit_intersection_from_product x1 - L96
specialize finite_bit_intersection_from_product l - L97
apply finite_bit_intersection_from_product - L98
exact hcode_witness_witness
Original exact command ledger · 98 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro l - 0006
intro n - 0007
intro m - 0008
intro hn - 0009
intro hm - 0010
have hcode : exists u v. forall fms_i_product fms_a_product fms_z_product fms_w_product. (exists fms_gap_product. fms_gap_product + S (fms_i_product) = (l)) -> (((exists fs_h_fms_product_a. fs_h_fms_product_a + S (fms_a_product) = S ((S (fms_i_product)) * c)) /\ exists fs_q_fms_product_a. b = fs_q_fms_product_a * S ((S (fms_i_product)) * c) + (fms_a_product))) -> (((exists fs_h_fms_product_b. fs_h_fms_product_b + S (fms_z_product) = S ((S (fms_i_product)) * e)) /\ exists fs_q_fms_product_b. d = fs_q_fms_product_b * S ((S (fms_i_product)) * e) + (fms_z_product))) -> (((exists fs_h_fms_product_w. fs_h_fms_product_w + S (fms_w_product) = S ((S (fms_i_product)) * v)) /\ exists fs_q_fms_product_w. u = fs_q_fms_product_w * S ((S (fms_i_product)) * v) + (fms_w_product))) -> fms_w_product=fms_a_product*fms_z_product - 0011
specialize beta_pointwise_mul_prefix_exists b - 0012
specialize beta_pointwise_mul_prefix_exists c - 0013
specialize beta_pointwise_mul_prefix_exists d - 0014
specialize beta_pointwise_mul_prefix_exists e - 0015
specialize beta_pointwise_mul_prefix_exists l - 0016
apply beta_pointwise_mul_prefix_exists - 0017
cases hcode - 0018
cases hcode_witness - 0019
cases hn - 0020
cases hm - 0021
have hbits : forall ff_i_fms_bits. (exists ff_lt_fms_bits_bound. ff_lt_fms_bits_bound + S ff_i_fms_bits = (l)) -> exists ff_bit_fms_bits. ((((exists ff_h_fms_bits_decoded. ff_h_fms_bits_decoded + S (ff_bit_fms_bits) = S ((S (ff_i_fms_bits)) * (x1))) /\ exists ff_q_fms_bits_decoded. (x) = ff_q_fms_bits_decoded * S ((S (ff_i_fms_bits)) * (x1)) + (ff_bit_fms_bits))) /\ (ff_bit_fms_bits = 0 \/ ff_bit_fms_bits = 1)) - 0022
intro i - 0023
intro hi - 0024
have ha : exists a. ((exists fs_h_fms_inter_exists_a. fs_h_fms_inter_exists_a + S (a) = S ((S (i)) * c)) /\ exists fs_q_fms_inter_exists_a. b = fs_q_fms_inter_exists_a * S ((S (i)) * c) + (a)) - 0025
specialize beta_at_exists b - 0026
specialize beta_at_exists c - 0027
specialize beta_at_exists i - 0028
apply beta_at_exists - 0029
cases ha - 0030
have hb : exists a. ((exists fs_h_fms_inter_exists_b. fs_h_fms_inter_exists_b + S (a) = S ((S (i)) * e)) /\ exists fs_q_fms_inter_exists_b. d = fs_q_fms_inter_exists_b * S ((S (i)) * e) + (a)) - 0031
specialize beta_at_exists d - 0032
specialize beta_at_exists e - 0033
specialize beta_at_exists i - 0034
apply beta_at_exists - 0035
cases hb - 0036
have hw : exists a. ((exists fs_h_fms_inter_exists_w. fs_h_fms_inter_exists_w + S (a) = S ((S (i)) * x1)) /\ exists fs_q_fms_inter_exists_w. x = fs_q_fms_inter_exists_w * S ((S (i)) * x1) + (a)) - 0037
specialize beta_at_exists x - 0038
specialize beta_at_exists x1 - 0039
specialize beta_at_exists i - 0040
apply beta_at_exists - 0041
cases hw - 0042
have he : x4=x2*x3 - 0043
specialize hcode_witness_witness i - 0044
specialize hcode_witness_witness x2 - 0045
specialize hcode_witness_witness x3 - 0046
specialize hcode_witness_witness x4 - 0047
apply hcode_witness_witness - 0048
exact hi - 0049
exact ha_witness - 0050
exact hb_witness - 0051
exact hw_witness - 0052
exists x4 - 0053
split - 0054
exact hw_witness - 0055
rewrite he - 0056
rewrite he - 0057
specialize finite_bit_product_cases x2 - 0058
specialize finite_bit_product_cases x3 - 0059
apply finite_bit_product_cases - 0060
specialize finite_bit_entry_cases b - 0061
specialize finite_bit_entry_cases c - 0062
specialize finite_bit_entry_cases l - 0063
specialize finite_bit_entry_cases i - 0064
specialize finite_bit_entry_cases x2 - 0065
apply finite_bit_entry_cases - 0066
exact hn_right - 0067
exact hi - 0068
exact ha_witness - 0069
specialize finite_bit_entry_cases d - 0070
specialize finite_bit_entry_cases e - 0071
specialize finite_bit_entry_cases l - 0072
specialize finite_bit_entry_cases i - 0073
specialize finite_bit_entry_cases x3 - 0074
apply finite_bit_entry_cases - 0075
exact hm_right - 0076
exact hi - 0077
exact hb_witness - 0078
have hcount : exists q. ((exists ff_u_fms_count ff_v_fms_count. ((((exists ff_h_fms_count_start. ff_h_fms_count_start + S (0) = S ((S (0)) * ff_v_fms_count)) /\ exists ff_q_fms_count_start. ff_u_fms_count = ff_q_fms_count_start * S ((S (0)) * ff_v_fms_count) + (0))) /\ ((((exists ff_h_fms_count_terminal. ff_h_fms_count_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_count)) /\ exists ff_q_fms_count_terminal. ff_u_fms_count = ff_q_fms_count_terminal * S ((S ((l))) * ff_v_fms_count) + ((q)))) /\ forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_a_fms_count ff_r_fms_count ff_s_fms_count. ((((exists ff_h_fms_count_summand. ff_h_fms_count_summand + S (ff_a_fms_count) = S ((S (ff_i_fms_count)) * (x1))) /\ exists ff_q_fms_count_summand. (x) = ff_q_fms_count_summand * S ((S (ff_i_fms_count)) * (x1)) + (ff_a_fms_count))) /\ ((((exists ff_h_fms_count_partial. ff_h_fms_count_partial + S (ff_r_fms_count) = S ((S (ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_partial. ff_u_fms_count = ff_q_fms_count_partial * S ((S (ff_i_fms_count)) * ff_v_fms_count) + (ff_r_fms_count))) /\ ((((exists ff_h_fms_count_successor. ff_h_fms_count_successor + S (ff_s_fms_count) = S ((S (S ff_i_fms_count)) * ff_v_fms_count)) /\ exists ff_q_fms_count_successor. ff_u_fms_count = ff_q_fms_count_successor * S ((S (S ff_i_fms_count)) * ff_v_fms_count) + (ff_s_fms_count))) /\ ff_s_fms_count = ff_r_fms_count + ff_a_fms_count)))))) /\ (forall ff_i_fms_count. (exists ff_lt_fms_count_bound. ff_lt_fms_count_bound + S ff_i_fms_count = (l)) -> exists ff_bit_fms_count. ((((exists ff_h_fms_count_decoded. ff_h_fms_count_decoded + S (ff_bit_fms_count) = S ((S (ff_i_fms_count)) * (x1))) /\ exists ff_q_fms_count_decoded. (x) = ff_q_fms_count_decoded * S ((S (ff_i_fms_count)) * (x1)) + (ff_bit_fms_count))) /\ (ff_bit_fms_count = 0 \/ ff_bit_fms_count = 1)))) - 0079
specialize bit_count_exists x - 0080
specialize bit_count_exists x1 - 0081
specialize bit_count_exists l - 0082
apply bit_count_exists - 0083
exact hbits - 0084
cases hcount - 0085
exists x - 0086
exists x1 - 0087
exists x2 - 0088
split - 0089
exact hcount_witness - 0090
specialize finite_bit_intersection_from_product b - 0091
specialize finite_bit_intersection_from_product c - 0092
specialize finite_bit_intersection_from_product d - 0093
specialize finite_bit_intersection_from_product e - 0094
specialize finite_bit_intersection_from_product x - 0095
specialize finite_bit_intersection_from_product x1 - 0096
specialize finite_bit_intersection_from_product l - 0097
apply finite_bit_intersection_from_product - 0098
exact hcode_witness_witness