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 beta characteristic union and a genuinely witnessed finite cardinality.
The unchanged tactic script uses 3 declared prerequisites and contains 87 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
CD0013 finite_bit_complement_exists CD0012 finite_bit_intersection_exists CD0015 finite_bit_union_of_complementsDirect 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 hAL10–16
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
03Separate the logical casesL17–21
04Establish hBL22–28
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
05Separate the logical casesL29–33
06Establish hIL34–43
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit intersection exists.
- L34
have hI : ∃ u. ∃ v. ∃ q. BitCount(u,v,l,q) ∧ ModularSetIntersection(x,x1,x3,x4,u,v,l)Definitions: ModularSetIntersectionBitCount - L35
specialize finite_bit_intersection_exists x - L36
specialize finite_bit_intersection_exists x1 - L37
specialize finite_bit_intersection_exists x3 - L38
specialize finite_bit_intersection_exists x4 - L39
specialize finite_bit_intersection_exists l - L40
specialize finite_bit_intersection_exists x2 - L41
specialize finite_bit_intersection_exists x5 - L42
apply finite_bit_intersection_exists - L43
exact hA_witness_witness_witness_left
07Use earlier factsL44–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
exact hB_witness_witness_witness_left
08Separate the logical casesL45–48
09Establish hUL49–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply finite bit complement exists.
10Separate the logical casesL56–60
11Construct an explicit witnessL61–63
12Separate the logical casesL64–64
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L64
split
13Use earlier factsL65–65
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
exact hU_witness_witness_witness_left
14Separate the logical casesL66–67
15Use earlier factsL68–77
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L68
specialize finite_bit_union_of_complements b - L69
specialize finite_bit_union_of_complements c - L70
specialize finite_bit_union_of_complements d - L71
specialize finite_bit_union_of_complements e - L72
specialize finite_bit_union_of_complements x - L73
specialize finite_bit_union_of_complements x1 - L74
specialize finite_bit_union_of_complements x3 - L75
specialize finite_bit_union_of_complements x4 - L76
specialize finite_bit_union_of_complements x6 - L77
specialize finite_bit_union_of_complements x7
16Use earlier factsL78–87
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L78
specialize finite_bit_union_of_complements x9 - L79
specialize finite_bit_union_of_complements x10 - L80
specialize finite_bit_union_of_complements l - L81
apply finite_bit_union_of_complements - L82
exact hn_right - L83
exact hm_right - L84
exact hA_witness_witness_witness_right_left - L85
exact hB_witness_witness_witness_right_left - L86
exact hI_witness_witness_witness_right - L87
exact hU_witness_witness_witness_right_left
Original exact command ledger · 87 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 hA : exists u v q. (((exists ff_u_fms_hA ff_v_fms_hA. ((((exists ff_h_fms_hA_start. ff_h_fms_hA_start + S (0) = S ((S (0)) * ff_v_fms_hA)) /\ exists ff_q_fms_hA_start. ff_u_fms_hA = ff_q_fms_hA_start * S ((S (0)) * ff_v_fms_hA) + (0))) /\ ((((exists ff_h_fms_hA_terminal. ff_h_fms_hA_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_hA)) /\ exists ff_q_fms_hA_terminal. ff_u_fms_hA = ff_q_fms_hA_terminal * S ((S ((l))) * ff_v_fms_hA) + ((q)))) /\ forall ff_i_fms_hA. (exists ff_lt_fms_hA_bound. ff_lt_fms_hA_bound + S ff_i_fms_hA = (l)) -> exists ff_a_fms_hA ff_r_fms_hA ff_s_fms_hA. ((((exists ff_h_fms_hA_summand. ff_h_fms_hA_summand + S (ff_a_fms_hA) = S ((S (ff_i_fms_hA)) * (v))) /\ exists ff_q_fms_hA_summand. (u) = ff_q_fms_hA_summand * S ((S (ff_i_fms_hA)) * (v)) + (ff_a_fms_hA))) /\ ((((exists ff_h_fms_hA_partial. ff_h_fms_hA_partial + S (ff_r_fms_hA) = S ((S (ff_i_fms_hA)) * ff_v_fms_hA)) /\ exists ff_q_fms_hA_partial. ff_u_fms_hA = ff_q_fms_hA_partial * S ((S (ff_i_fms_hA)) * ff_v_fms_hA) + (ff_r_fms_hA))) /\ ((((exists ff_h_fms_hA_successor. ff_h_fms_hA_successor + S (ff_s_fms_hA) = S ((S (S ff_i_fms_hA)) * ff_v_fms_hA)) /\ exists ff_q_fms_hA_successor. ff_u_fms_hA = ff_q_fms_hA_successor * S ((S (S ff_i_fms_hA)) * ff_v_fms_hA) + (ff_s_fms_hA))) /\ ff_s_fms_hA = ff_r_fms_hA + ff_a_fms_hA)))))) /\ (forall ff_i_fms_hA. (exists ff_lt_fms_hA_bound. ff_lt_fms_hA_bound + S ff_i_fms_hA = (l)) -> exists ff_bit_fms_hA. ((((exists ff_h_fms_hA_decoded. ff_h_fms_hA_decoded + S (ff_bit_fms_hA) = S ((S (ff_i_fms_hA)) * (v))) /\ exists ff_q_fms_hA_decoded. (u) = ff_q_fms_hA_decoded * S ((S (ff_i_fms_hA)) * (v)) + (ff_bit_fms_hA))) /\ (ff_bit_fms_hA = 0 \/ ff_bit_fms_hA = 1))))) /\ ((forall fms_i_hA fms_a_hA fms_v_hA. (exists fms_gap_hA. fms_gap_hA + S (fms_i_hA) = (l)) -> (((exists fs_h_fms_hA_a. fs_h_fms_hA_a + S (fms_a_hA) = S ((S (fms_i_hA)) * c)) /\ exists fs_q_fms_hA_a. b = fs_q_fms_hA_a * S ((S (fms_i_hA)) * c) + (fms_a_hA))) -> (((exists fs_h_fms_hA_b. fs_h_fms_hA_b + S (fms_v_hA) = S ((S (fms_i_hA)) * v)) /\ exists fs_q_fms_hA_b. u = fs_q_fms_hA_b * S ((S (fms_i_hA)) * v) + (fms_v_hA))) -> ((fms_a_hA=0 /\ fms_v_hA=1) \/ (fms_a_hA=1 /\ fms_v_hA=0))) /\ n+q=l) - 0011
specialize finite_bit_complement_exists b - 0012
specialize finite_bit_complement_exists c - 0013
specialize finite_bit_complement_exists l - 0014
specialize finite_bit_complement_exists n - 0015
apply finite_bit_complement_exists - 0016
exact hn - 0017
cases hA - 0018
cases hA_witness - 0019
cases hA_witness_witness - 0020
cases hA_witness_witness_witness - 0021
cases hA_witness_witness_witness_right - 0022
have hB : exists u v q. (((exists ff_u_fms_hB ff_v_fms_hB. ((((exists ff_h_fms_hB_start. ff_h_fms_hB_start + S (0) = S ((S (0)) * ff_v_fms_hB)) /\ exists ff_q_fms_hB_start. ff_u_fms_hB = ff_q_fms_hB_start * S ((S (0)) * ff_v_fms_hB) + (0))) /\ ((((exists ff_h_fms_hB_terminal. ff_h_fms_hB_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_hB)) /\ exists ff_q_fms_hB_terminal. ff_u_fms_hB = ff_q_fms_hB_terminal * S ((S ((l))) * ff_v_fms_hB) + ((q)))) /\ forall ff_i_fms_hB. (exists ff_lt_fms_hB_bound. ff_lt_fms_hB_bound + S ff_i_fms_hB = (l)) -> exists ff_a_fms_hB ff_r_fms_hB ff_s_fms_hB. ((((exists ff_h_fms_hB_summand. ff_h_fms_hB_summand + S (ff_a_fms_hB) = S ((S (ff_i_fms_hB)) * (v))) /\ exists ff_q_fms_hB_summand. (u) = ff_q_fms_hB_summand * S ((S (ff_i_fms_hB)) * (v)) + (ff_a_fms_hB))) /\ ((((exists ff_h_fms_hB_partial. ff_h_fms_hB_partial + S (ff_r_fms_hB) = S ((S (ff_i_fms_hB)) * ff_v_fms_hB)) /\ exists ff_q_fms_hB_partial. ff_u_fms_hB = ff_q_fms_hB_partial * S ((S (ff_i_fms_hB)) * ff_v_fms_hB) + (ff_r_fms_hB))) /\ ((((exists ff_h_fms_hB_successor. ff_h_fms_hB_successor + S (ff_s_fms_hB) = S ((S (S ff_i_fms_hB)) * ff_v_fms_hB)) /\ exists ff_q_fms_hB_successor. ff_u_fms_hB = ff_q_fms_hB_successor * S ((S (S ff_i_fms_hB)) * ff_v_fms_hB) + (ff_s_fms_hB))) /\ ff_s_fms_hB = ff_r_fms_hB + ff_a_fms_hB)))))) /\ (forall ff_i_fms_hB. (exists ff_lt_fms_hB_bound. ff_lt_fms_hB_bound + S ff_i_fms_hB = (l)) -> exists ff_bit_fms_hB. ((((exists ff_h_fms_hB_decoded. ff_h_fms_hB_decoded + S (ff_bit_fms_hB) = S ((S (ff_i_fms_hB)) * (v))) /\ exists ff_q_fms_hB_decoded. (u) = ff_q_fms_hB_decoded * S ((S (ff_i_fms_hB)) * (v)) + (ff_bit_fms_hB))) /\ (ff_bit_fms_hB = 0 \/ ff_bit_fms_hB = 1))))) /\ ((forall fms_i_hB fms_a_hB fms_v_hB. (exists fms_gap_hB. fms_gap_hB + S (fms_i_hB) = (l)) -> (((exists fs_h_fms_hB_a. fs_h_fms_hB_a + S (fms_a_hB) = S ((S (fms_i_hB)) * e)) /\ exists fs_q_fms_hB_a. d = fs_q_fms_hB_a * S ((S (fms_i_hB)) * e) + (fms_a_hB))) -> (((exists fs_h_fms_hB_b. fs_h_fms_hB_b + S (fms_v_hB) = S ((S (fms_i_hB)) * v)) /\ exists fs_q_fms_hB_b. u = fs_q_fms_hB_b * S ((S (fms_i_hB)) * v) + (fms_v_hB))) -> ((fms_a_hB=0 /\ fms_v_hB=1) \/ (fms_a_hB=1 /\ fms_v_hB=0))) /\ m+q=l) - 0023
specialize finite_bit_complement_exists d - 0024
specialize finite_bit_complement_exists e - 0025
specialize finite_bit_complement_exists l - 0026
specialize finite_bit_complement_exists m - 0027
apply finite_bit_complement_exists - 0028
exact hm - 0029
cases hB - 0030
cases hB_witness - 0031
cases hB_witness_witness - 0032
cases hB_witness_witness_witness - 0033
cases hB_witness_witness_witness_right - 0034
have hI : exists u v q. (((exists ff_u_fms_union_inter ff_v_fms_union_inter. ((((exists ff_h_fms_union_inter_start. ff_h_fms_union_inter_start + S (0) = S ((S (0)) * ff_v_fms_union_inter)) /\ exists ff_q_fms_union_inter_start. ff_u_fms_union_inter = ff_q_fms_union_inter_start * S ((S (0)) * ff_v_fms_union_inter) + (0))) /\ ((((exists ff_h_fms_union_inter_terminal. ff_h_fms_union_inter_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_union_inter)) /\ exists ff_q_fms_union_inter_terminal. ff_u_fms_union_inter = ff_q_fms_union_inter_terminal * S ((S ((l))) * ff_v_fms_union_inter) + ((q)))) /\ forall ff_i_fms_union_inter. (exists ff_lt_fms_union_inter_bound. ff_lt_fms_union_inter_bound + S ff_i_fms_union_inter = (l)) -> exists ff_a_fms_union_inter ff_r_fms_union_inter ff_s_fms_union_inter. ((((exists ff_h_fms_union_inter_summand. ff_h_fms_union_inter_summand + S (ff_a_fms_union_inter) = S ((S (ff_i_fms_union_inter)) * (v))) /\ exists ff_q_fms_union_inter_summand. (u) = ff_q_fms_union_inter_summand * S ((S (ff_i_fms_union_inter)) * (v)) + (ff_a_fms_union_inter))) /\ ((((exists ff_h_fms_union_inter_partial. ff_h_fms_union_inter_partial + S (ff_r_fms_union_inter) = S ((S (ff_i_fms_union_inter)) * ff_v_fms_union_inter)) /\ exists ff_q_fms_union_inter_partial. ff_u_fms_union_inter = ff_q_fms_union_inter_partial * S ((S (ff_i_fms_union_inter)) * ff_v_fms_union_inter) + (ff_r_fms_union_inter))) /\ ((((exists ff_h_fms_union_inter_successor. ff_h_fms_union_inter_successor + S (ff_s_fms_union_inter) = S ((S (S ff_i_fms_union_inter)) * ff_v_fms_union_inter)) /\ exists ff_q_fms_union_inter_successor. ff_u_fms_union_inter = ff_q_fms_union_inter_successor * S ((S (S ff_i_fms_union_inter)) * ff_v_fms_union_inter) + (ff_s_fms_union_inter))) /\ ff_s_fms_union_inter = ff_r_fms_union_inter + ff_a_fms_union_inter)))))) /\ (forall ff_i_fms_union_inter. (exists ff_lt_fms_union_inter_bound. ff_lt_fms_union_inter_bound + S ff_i_fms_union_inter = (l)) -> exists ff_bit_fms_union_inter. ((((exists ff_h_fms_union_inter_decoded. ff_h_fms_union_inter_decoded + S (ff_bit_fms_union_inter) = S ((S (ff_i_fms_union_inter)) * (v))) /\ exists ff_q_fms_union_inter_decoded. (u) = ff_q_fms_union_inter_decoded * S ((S (ff_i_fms_union_inter)) * (v)) + (ff_bit_fms_union_inter))) /\ (ff_bit_fms_union_inter = 0 \/ ff_bit_fms_union_inter = 1))))) /\ (forall fms_i_union_inter. (exists fms_gap_union_inter. fms_gap_union_inter + S (fms_i_union_inter) = (l)) -> ((((((exists fs_h_fms_union_inter_result. fs_h_fms_union_inter_result + S (1) = S ((S (fms_i_union_inter)) * v)) /\ exists fs_q_fms_union_inter_result. u = fs_q_fms_union_inter_result * S ((S (fms_i_union_inter)) * v) + (1))) -> (((((exists fs_h_fms_union_inter_left. fs_h_fms_union_inter_left + S (1) = S ((S (fms_i_union_inter)) * x1)) /\ exists fs_q_fms_union_inter_left. x = fs_q_fms_union_inter_left * S ((S (fms_i_union_inter)) * x1) + (1))) /\ (((exists fs_h_fms_union_inter_right. fs_h_fms_union_inter_right + S (1) = S ((S (fms_i_union_inter)) * x4)) /\ exists fs_q_fms_union_inter_right. x3 = fs_q_fms_union_inter_right * S ((S (fms_i_union_inter)) * x4) + (1)))))) /\ ((((((exists fs_h_fms_union_inter_left. fs_h_fms_union_inter_left + S (1) = S ((S (fms_i_union_inter)) * x1)) /\ exists fs_q_fms_union_inter_left. x = fs_q_fms_union_inter_left * S ((S (fms_i_union_inter)) * x1) + (1))) /\ (((exists fs_h_fms_union_inter_right. fs_h_fms_union_inter_right + S (1) = S ((S (fms_i_union_inter)) * x4)) /\ exists fs_q_fms_union_inter_right. x3 = fs_q_fms_union_inter_right * S ((S (fms_i_union_inter)) * x4) + (1))))) -> (((exists fs_h_fms_union_inter_result. fs_h_fms_union_inter_result + S (1) = S ((S (fms_i_union_inter)) * v)) /\ exists fs_q_fms_union_inter_result. u = fs_q_fms_union_inter_result * S ((S (fms_i_union_inter)) * v) + (1))))))) - 0035
specialize finite_bit_intersection_exists x - 0036
specialize finite_bit_intersection_exists x1 - 0037
specialize finite_bit_intersection_exists x3 - 0038
specialize finite_bit_intersection_exists x4 - 0039
specialize finite_bit_intersection_exists l - 0040
specialize finite_bit_intersection_exists x2 - 0041
specialize finite_bit_intersection_exists x5 - 0042
apply finite_bit_intersection_exists - 0043
exact hA_witness_witness_witness_left - 0044
exact hB_witness_witness_witness_left - 0045
cases hI - 0046
cases hI_witness - 0047
cases hI_witness_witness - 0048
cases hI_witness_witness_witness - 0049
have hU : exists u v q. (((exists ff_u_fms_union_final ff_v_fms_union_final. ((((exists ff_h_fms_union_final_start. ff_h_fms_union_final_start + S (0) = S ((S (0)) * ff_v_fms_union_final)) /\ exists ff_q_fms_union_final_start. ff_u_fms_union_final = ff_q_fms_union_final_start * S ((S (0)) * ff_v_fms_union_final) + (0))) /\ ((((exists ff_h_fms_union_final_terminal. ff_h_fms_union_final_terminal + S ((q)) = S ((S ((l))) * ff_v_fms_union_final)) /\ exists ff_q_fms_union_final_terminal. ff_u_fms_union_final = ff_q_fms_union_final_terminal * S ((S ((l))) * ff_v_fms_union_final) + ((q)))) /\ forall ff_i_fms_union_final. (exists ff_lt_fms_union_final_bound. ff_lt_fms_union_final_bound + S ff_i_fms_union_final = (l)) -> exists ff_a_fms_union_final ff_r_fms_union_final ff_s_fms_union_final. ((((exists ff_h_fms_union_final_summand. ff_h_fms_union_final_summand + S (ff_a_fms_union_final) = S ((S (ff_i_fms_union_final)) * (v))) /\ exists ff_q_fms_union_final_summand. (u) = ff_q_fms_union_final_summand * S ((S (ff_i_fms_union_final)) * (v)) + (ff_a_fms_union_final))) /\ ((((exists ff_h_fms_union_final_partial. ff_h_fms_union_final_partial + S (ff_r_fms_union_final) = S ((S (ff_i_fms_union_final)) * ff_v_fms_union_final)) /\ exists ff_q_fms_union_final_partial. ff_u_fms_union_final = ff_q_fms_union_final_partial * S ((S (ff_i_fms_union_final)) * ff_v_fms_union_final) + (ff_r_fms_union_final))) /\ ((((exists ff_h_fms_union_final_successor. ff_h_fms_union_final_successor + S (ff_s_fms_union_final) = S ((S (S ff_i_fms_union_final)) * ff_v_fms_union_final)) /\ exists ff_q_fms_union_final_successor. ff_u_fms_union_final = ff_q_fms_union_final_successor * S ((S (S ff_i_fms_union_final)) * ff_v_fms_union_final) + (ff_s_fms_union_final))) /\ ff_s_fms_union_final = ff_r_fms_union_final + ff_a_fms_union_final)))))) /\ (forall ff_i_fms_union_final. (exists ff_lt_fms_union_final_bound. ff_lt_fms_union_final_bound + S ff_i_fms_union_final = (l)) -> exists ff_bit_fms_union_final. ((((exists ff_h_fms_union_final_decoded. ff_h_fms_union_final_decoded + S (ff_bit_fms_union_final) = S ((S (ff_i_fms_union_final)) * (v))) /\ exists ff_q_fms_union_final_decoded. (u) = ff_q_fms_union_final_decoded * S ((S (ff_i_fms_union_final)) * (v)) + (ff_bit_fms_union_final))) /\ (ff_bit_fms_union_final = 0 \/ ff_bit_fms_union_final = 1))))) /\ ((forall fms_i_union_final fms_a_union_final fms_v_union_final. (exists fms_gap_union_final. fms_gap_union_final + S (fms_i_union_final) = (l)) -> (((exists fs_h_fms_union_final_a. fs_h_fms_union_final_a + S (fms_a_union_final) = S ((S (fms_i_union_final)) * x7)) /\ exists fs_q_fms_union_final_a. x6 = fs_q_fms_union_final_a * S ((S (fms_i_union_final)) * x7) + (fms_a_union_final))) -> (((exists fs_h_fms_union_final_b. fs_h_fms_union_final_b + S (fms_v_union_final) = S ((S (fms_i_union_final)) * v)) /\ exists fs_q_fms_union_final_b. u = fs_q_fms_union_final_b * S ((S (fms_i_union_final)) * v) + (fms_v_union_final))) -> ((fms_a_union_final=0 /\ fms_v_union_final=1) \/ (fms_a_union_final=1 /\ fms_v_union_final=0))) /\ x8+q=l) - 0050
specialize finite_bit_complement_exists x6 - 0051
specialize finite_bit_complement_exists x7 - 0052
specialize finite_bit_complement_exists l - 0053
specialize finite_bit_complement_exists x8 - 0054
apply finite_bit_complement_exists - 0055
exact hI_witness_witness_witness_left - 0056
cases hU - 0057
cases hU_witness - 0058
cases hU_witness_witness - 0059
cases hU_witness_witness_witness - 0060
cases hU_witness_witness_witness_right - 0061
exists x9 - 0062
exists x10 - 0063
exists x11 - 0064
split - 0065
exact hU_witness_witness_witness_left - 0066
cases hn - 0067
cases hm - 0068
specialize finite_bit_union_of_complements b - 0069
specialize finite_bit_union_of_complements c - 0070
specialize finite_bit_union_of_complements d - 0071
specialize finite_bit_union_of_complements e - 0072
specialize finite_bit_union_of_complements x - 0073
specialize finite_bit_union_of_complements x1 - 0074
specialize finite_bit_union_of_complements x3 - 0075
specialize finite_bit_union_of_complements x4 - 0076
specialize finite_bit_union_of_complements x6 - 0077
specialize finite_bit_union_of_complements x7 - 0078
specialize finite_bit_union_of_complements x9 - 0079
specialize finite_bit_union_of_complements x10 - 0080
specialize finite_bit_union_of_complements l - 0081
apply finite_bit_union_of_complements - 0082
exact hn_right - 0083
exact hm_right - 0084
exact hA_witness_witness_witness_right_left - 0085
exact hB_witness_witness_witness_right_left - 0086
exact hI_witness_witness_witness_right - 0087
exact hU_witness_witness_witness_right_left