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 u v l. (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) -> (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
An actual pointwise product code has exactly the membership of the finite-set intersection.
The unchanged tactic script uses 2 declared prerequisites and contains 73 exact native proof lines.
Alpha v34 checked-use · first admitted v27 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
beta_at_exists Stable theorem; checked-use authorized mul_eq_one_components Stable theorem; checked-use authorizedDirect 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.
01Fix variables and assumptionsL1–10
02Separate the logical casesL11–11
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L11
split
03Fix variables and assumptionsL12–12
Work with arbitrary variables or the premises of the current implication.
- L12
intro hone
04Establish haL13–17
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
05Separate the logical casesL18–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L18
cases ha
06Establish hbL19–23
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
07Separate the logical casesL24–24
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L24
cases hb
08Establish heL25–34
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hproduct.
09Establish honesL35–40
10Separate the logical casesL41–42
11Calculate and transport equalitiesL43–44
12Use earlier factsL45–45
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
exact ha_witness
13Calculate and transport equalitiesL46–47
14Use earlier factsL48–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L48
exact hb_witness
15Fix variables and assumptionsL49–49
Work with arbitrary variables or the premises of the current implication.
- L49
intro hboth
16Separate the logical casesL50–50
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L50
cases hboth
17Establish hwL51–55
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply beta at exists.
18Separate the logical casesL56–56
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L56
cases hw
19Establish heL57–66
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply hproduct.
Original exact command ledger · 73 lines
- 0001
intro b - 0002
intro c - 0003
intro d - 0004
intro e - 0005
intro u - 0006
intro v - 0007
intro l - 0008
intro hproduct - 0009
intro i - 0010
intro hi - 0011
split - 0012
intro hone - 0013
have ha : exists a. ((exists fs_h_fms_inter_a. fs_h_fms_inter_a + S (a) = S ((S (i)) * c)) /\ exists fs_q_fms_inter_a. b = fs_q_fms_inter_a * S ((S (i)) * c) + (a)) - 0014
specialize beta_at_exists b - 0015
specialize beta_at_exists c - 0016
specialize beta_at_exists i - 0017
apply beta_at_exists - 0018
cases ha - 0019
have hb : exists a. ((exists fs_h_fms_inter_b. fs_h_fms_inter_b + S (a) = S ((S (i)) * e)) /\ exists fs_q_fms_inter_b. d = fs_q_fms_inter_b * S ((S (i)) * e) + (a)) - 0020
specialize beta_at_exists d - 0021
specialize beta_at_exists e - 0022
specialize beta_at_exists i - 0023
apply beta_at_exists - 0024
cases hb - 0025
have he : 1=x*x1 - 0026
specialize hproduct i - 0027
specialize hproduct x - 0028
specialize hproduct x1 - 0029
specialize hproduct 1 - 0030
apply hproduct - 0031
exact hi - 0032
exact ha_witness - 0033
exact hb_witness - 0034
exact hone - 0035
have hones : x=1 /\ x1=1 - 0036
specialize mul_eq_one_components x - 0037
specialize mul_eq_one_components x1 - 0038
apply mul_eq_one_components - 0039
symm - 0040
exact he - 0041
cases hones - 0042
split - 0043
rewrite hones_left at ha_witness - 0044
rewrite hones_left at ha_witness - 0045
exact ha_witness - 0046
rewrite hones_right at hb_witness - 0047
rewrite hones_right at hb_witness - 0048
exact hb_witness - 0049
intro hboth - 0050
cases hboth - 0051
have hw : exists a. ((exists fs_h_fms_inter_w. fs_h_fms_inter_w + S (a) = S ((S (i)) * v)) /\ exists fs_q_fms_inter_w. u = fs_q_fms_inter_w * S ((S (i)) * v) + (a)) - 0052
specialize beta_at_exists u - 0053
specialize beta_at_exists v - 0054
specialize beta_at_exists i - 0055
apply beta_at_exists - 0056
cases hw - 0057
have he : x=1*1 - 0058
specialize hproduct i - 0059
specialize hproduct 1 - 0060
specialize hproduct 1 - 0061
specialize hproduct x - 0062
apply hproduct - 0063
exact hi - 0064
exact hboth_left - 0065
exact hboth_right - 0066
exact hw_witness - 0067
have hone : x=1 - 0068
trans 1*1 - 0069
exact he - 0070
simp - 0071
rewrite hone at hw_witness - 0072
rewrite hone at hw_witness - 0073
exact hw_witness