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 p k h a b c d e f g j r. ~(k = 0) -> k = 2 * h + 1 -> p * k = a * a + b * b + c * c + d * d -> (exists ftcn_left_mask_7_0 ftcn_right_mask_7_0. (a + e) + (k) * ftcn_left_mask_7_0 = (0) + (k) * ftcn_right_mask_7_0) -> (exists ftcn_left_mask_7_1 ftcn_right_mask_7_1. (b + f) + (k) * ftcn_left_mask_7_1 = (0) + (k) * ftcn_right_mask_7_1) -> (exists ftcn_left_mask_7_2 ftcn_right_mask_7_2. (c + g) + (k) * ftcn_left_mask_7_2 = (0) + (k) * ftcn_right_mask_7_2) -> (exists ftcn_left_mask_7_3 ftcn_right_mask_7_3. (d) + (k) * ftcn_left_mask_7_3 = (j) + (k) * ftcn_right_mask_7_3) -> k * r = e * e + f * f + g * g + j * j -> (exists fsl_a_fssc_mask_7 fsl_b_fssc_mask_7 fsl_c_fssc_mask_7 fsl_d_fssc_mask_7. (p * r) = fsl_a_fssc_mask_7 * fsl_a_fssc_mask_7 + fsl_b_fssc_mask_7 * fsl_b_fssc_mask_7 + fsl_c_fssc_mask_7 * fsl_c_fssc_mask_7 + fsl_d_fssc_mask_7 * fsl_d_fssc_mask_7)Constructive proof overview
Generated structural guide
Constructive signed quaternion quotient for centered orientation mask 0111, using the exact four_square_signed_natural_positive_first_blocks surface.
The unchanged tactic script uses 8 declared prerequisites and contains 160 exact native proof lines.
dependency-curried kernel-checked theorem body; Alpha enrollment and checked-use authority follow separately sealed release evidence; Stable membership remains unchanged
Proof neighborhood
Direct dependencies
FS004P four_square_signed_cases_norm_quotient_zero_congruence FS004O four_square_signed_natural_positive_first_blocks FS0057 four_square_signed_absolute_block_representation add_assoc Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized FS0006 four_square_add_swap_right_tail FS0005 quaternion_coordinate_absolute_total FS002Y four_square_euler_quaternionDirect 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 (6)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Establish hfirst_permutedL21–30
Establish this local claim before using it. It is not an additional assumption.
- L21
have hfirst_permuted : p * k = d * d + a * a + b * b + c * c - L22
trans a * a + b * b + c * c + d * d - L23
exact hfirst - L24
trans ((a * a) + ((b * b) + ((c * c) + (d * d)))) - L25
simp [add_assoc] - L26
trans ((d * d) + ((a * a) + ((b * b) + (c * c)))) - L27
trans ((d * d) + ((a * a) + ((b * b) + (c * c)))) - L28
trans ((a * a) + ((d * d) + ((b * b) + (c * c)))) - L29
congr - L30
refl
04Calculate and transport equalitiesL31–33
05Use earlier factsL34–36
06Calculate and transport equalitiesL37–41
07Establish hcenter_permutedL42–51
Establish this local claim before using it. It is not an additional assumption.
- L42
have hcenter_permuted : k * r = j * j + e * e + f * f + g * g - L43
trans e * e + f * f + g * g + j * j - L44
exact hcenter - L45
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - L46
simp [add_assoc] - L47
trans ((j * j) + ((e * e) + ((f * f) + (g * g)))) - L48
trans ((j * j) + ((e * e) + ((f * f) + (g * g)))) - L49
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - L50
congr - L51
refl
08Calculate and transport equalitiesL52–54
09Use earlier factsL55–57
10Calculate and transport equalitiesL58–62
11Establish hzeroL63–71
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply four square signed cases norm quotient zero congruence.
- L63
have hzero : (exists ftcn_left_case_7_zero ftcn_right_case_7_zero. (j * j + e * e + f * f + g * g) + (k) * ftcn_left_case_7_zero = (0) + (k) * ftcn_right_case_7_zero) - L64
specialize four_square_signed_cases_norm_quotient_zero_congruence k - L65
specialize four_square_signed_cases_norm_quotient_zero_congruence r - L66
specialize four_square_signed_cases_norm_quotient_zero_congruence j - L67
specialize four_square_signed_cases_norm_quotient_zero_congruence e - L68
specialize four_square_signed_cases_norm_quotient_zero_congruence f - L69
specialize four_square_signed_cases_norm_quotient_zero_congruence g - L70
apply four_square_signed_cases_norm_quotient_zero_congruence - L71
exact hcenter_permuted
12Establish hblocksL72–81
Establish this local claim before using it. It is not an additional assumption.
- L72
have hblocks : ModEq(k,d · j,a · e + b · f + c · g) ∧ (ModEq(k,d · e + a · j + b · g,c · f) ∧ (ModEq(k,d · f + b · j + c · e,a · g) ∧ ModEq(k,d · g + a · f + c · j,b · e)))Definitions: ModEq - L73
specialize four_square_signed_natural_positive_first_blocks k - L74
specialize four_square_signed_natural_positive_first_blocks d - L75
specialize four_square_signed_natural_positive_first_blocks a - L76
specialize four_square_signed_natural_positive_first_blocks b - L77
specialize four_square_signed_natural_positive_first_blocks c - L78
specialize four_square_signed_natural_positive_first_blocks j - L79
specialize four_square_signed_natural_positive_first_blocks e - L80
specialize four_square_signed_natural_positive_first_blocks f - L81
specialize four_square_signed_natural_positive_first_blocks g
13Use earlier factsL82–87
14Establish hcoordinatesL88–97
Establish this local claim before using it. It is not an additional assumption.
- L88
have hcoordinates : exists m0 m1 m2 m3. ((((d * j) = (a * e + b * f + c * g) + m0) \/ ((a * e + b * f + c * g) = (d * j) + m0)) /\ ((((d * e + a * j + b * g) = (c * f) + m1) \/ ((c * f) = (d * e + a * j + b * g) + m1)) /\ ((((d * f + b * j + c * e) = (a * g) + m2) \/ ((a * g) = (d * f + b * j + c * e) + m2)) /\ (((d * g + a * f + c * j) = (b * e) + m3) \/ ((b * e) = (d * g + a * f + c * j) + m3))))) - L89
specialize quaternion_coordinate_absolute_total d - L90
specialize quaternion_coordinate_absolute_total a - L91
specialize quaternion_coordinate_absolute_total b - L92
specialize quaternion_coordinate_absolute_total c - L93
specialize quaternion_coordinate_absolute_total j - L94
specialize quaternion_coordinate_absolute_total e - L95
specialize quaternion_coordinate_absolute_total f - L96
specialize quaternion_coordinate_absolute_total g - L97
exact quaternion_coordinate_absolute_total
15Separate the logical casesL98–101
16Establish habsoluteL102–103
Establish this local claim before using it. It is not an additional assumption.
- L102
have habsolute : ((((d * j) = (a * e + b * f + c * g) + x) \/ ((a * e + b * f + c * g) = (d * j) + x)) /\ ((((d * e + a * j + b * g) = (c * f) + x1) \/ ((c * f) = (d * e + a * j + b * g) + x1)) /\ ((((d * f + b * j + c * e) = (a * g) + x2) \/ ((a * g) = (d * f + b * j + c * e) + x2)) /\ (((d * g + a * f + c * j) = (b * e) + x3) \/ ((b * e) = (d * g + a * f + c * j) + x3))))) - L103
exact hcoordinates_witness_witness_witness_witness
17Establish hidentityL104–113
Establish this local claim before using it. It is not an additional assumption.
- L104
have hidentity : (d * d + a * a + b * b + c * c) * (j * j + e * e + f * f + g * g) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - L105
specialize four_square_euler_quaternion d - L106
specialize four_square_euler_quaternion a - L107
specialize four_square_euler_quaternion b - L108
specialize four_square_euler_quaternion c - L109
specialize four_square_euler_quaternion j - L110
specialize four_square_euler_quaternion e - L111
specialize four_square_euler_quaternion f - L112
specialize four_square_euler_quaternion g - L113
specialize four_square_euler_quaternion x
18Use earlier factsL114–118
19Establish hcenter_identityL119–122
20Establish hproductL123–128
Establish this local claim before using it. It is not an additional assumption.
21Separate the logical casesL129–134
22Use earlier factsL135–144
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L135
specialize four_square_signed_absolute_block_representation p - L136
specialize four_square_signed_absolute_block_representation k - L137
specialize four_square_signed_absolute_block_representation r - L138
specialize four_square_signed_absolute_block_representation (d * j) - L139
specialize four_square_signed_absolute_block_representation (d * e + a * j + b * g) - L140
specialize four_square_signed_absolute_block_representation (d * f + b * j + c * e) - L141
specialize four_square_signed_absolute_block_representation (d * g + a * f + c * j) - L142
specialize four_square_signed_absolute_block_representation (a * e + b * f + c * g) - L143
specialize four_square_signed_absolute_block_representation (c * f) - L144
specialize four_square_signed_absolute_block_representation (a * g)
23Use earlier factsL145–154
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L145
specialize four_square_signed_absolute_block_representation (b * e) - L146
specialize four_square_signed_absolute_block_representation x - L147
specialize four_square_signed_absolute_block_representation x1 - L148
specialize four_square_signed_absolute_block_representation x2 - L149
specialize four_square_signed_absolute_block_representation x3 - L150
apply four_square_signed_absolute_block_representation - L151
exact hnonzero - L152
exact hproduct - L153
exact hblocks_left - L154
exact habsolute_left
24Use earlier factsL155–160
Original exact command ledger · 160 lines
- 0001
intro p - 0002
intro k - 0003
intro h - 0004
intro a - 0005
intro b - 0006
intro c - 0007
intro d - 0008
intro e - 0009
intro f - 0010
intro g - 0011
intro j - 0012
intro r - 0013
intro hnonzero - 0014
intro hodd - 0015
intro hfirst - 0016
intro horientation0 - 0017
intro horientation1 - 0018
intro horientation2 - 0019
intro horientation3 - 0020
intro hcenter - 0021
have hfirst_permuted : p * k = d * d + a * a + b * b + c * c - 0022
trans a * a + b * b + c * c + d * d - 0023
exact hfirst - 0024
trans ((a * a) + ((b * b) + ((c * c) + (d * d)))) - 0025
simp [add_assoc] - 0026
trans ((d * d) + ((a * a) + ((b * b) + (c * c)))) - 0027
trans ((d * d) + ((a * a) + ((b * b) + (c * c)))) - 0028
trans ((a * a) + ((d * d) + ((b * b) + (c * c)))) - 0029
congr - 0030
refl - 0031
trans ((b * b) + ((d * d) + (c * c))) - 0032
congr - 0033
refl - 0034
apply add_comm - 0035
apply four_square_add_swap_right_tail - 0036
apply four_square_add_swap_right_tail - 0037
congr - 0038
refl - 0039
refl - 0040
symm - 0041
simp [add_assoc] - 0042
have hcenter_permuted : k * r = j * j + e * e + f * f + g * g - 0043
trans e * e + f * f + g * g + j * j - 0044
exact hcenter - 0045
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - 0046
simp [add_assoc] - 0047
trans ((j * j) + ((e * e) + ((f * f) + (g * g)))) - 0048
trans ((j * j) + ((e * e) + ((f * f) + (g * g)))) - 0049
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - 0050
congr - 0051
refl - 0052
trans ((f * f) + ((j * j) + (g * g))) - 0053
congr - 0054
refl - 0055
apply add_comm - 0056
apply four_square_add_swap_right_tail - 0057
apply four_square_add_swap_right_tail - 0058
congr - 0059
refl - 0060
refl - 0061
symm - 0062
simp [add_assoc] - 0063
have hzero : (exists ftcn_left_case_7_zero ftcn_right_case_7_zero. (j * j + e * e + f * f + g * g) + (k) * ftcn_left_case_7_zero = (0) + (k) * ftcn_right_case_7_zero) - 0064
specialize four_square_signed_cases_norm_quotient_zero_congruence k - 0065
specialize four_square_signed_cases_norm_quotient_zero_congruence r - 0066
specialize four_square_signed_cases_norm_quotient_zero_congruence j - 0067
specialize four_square_signed_cases_norm_quotient_zero_congruence e - 0068
specialize four_square_signed_cases_norm_quotient_zero_congruence f - 0069
specialize four_square_signed_cases_norm_quotient_zero_congruence g - 0070
apply four_square_signed_cases_norm_quotient_zero_congruence - 0071
exact hcenter_permuted - 0072
have hblocks : ((exists ftcn_left_case_7_block_0 ftcn_right_case_7_block_0. (d * j) + (k) * ftcn_left_case_7_block_0 = (a * e + b * f + c * g) + (k) * ftcn_right_case_7_block_0) /\ ((exists ftcn_left_case_7_block_1 ftcn_right_case_7_block_1. (d * e + a * j + b * g) + (k) * ftcn_left_case_7_block_1 = (c * f) + (k) * ftcn_right_case_7_block_1) /\ ((exists ftcn_left_case_7_block_2 ftcn_right_case_7_block_2. (d * f + b * j + c * e) + (k) * ftcn_left_case_7_block_2 = (a * g) + (k) * ftcn_right_case_7_block_2) /\ (exists ftcn_left_case_7_block_3 ftcn_right_case_7_block_3. (d * g + a * f + c * j) + (k) * ftcn_left_case_7_block_3 = (b * e) + (k) * ftcn_right_case_7_block_3)))) - 0073
specialize four_square_signed_natural_positive_first_blocks k - 0074
specialize four_square_signed_natural_positive_first_blocks d - 0075
specialize four_square_signed_natural_positive_first_blocks a - 0076
specialize four_square_signed_natural_positive_first_blocks b - 0077
specialize four_square_signed_natural_positive_first_blocks c - 0078
specialize four_square_signed_natural_positive_first_blocks j - 0079
specialize four_square_signed_natural_positive_first_blocks e - 0080
specialize four_square_signed_natural_positive_first_blocks f - 0081
specialize four_square_signed_natural_positive_first_blocks g - 0082
apply four_square_signed_natural_positive_first_blocks - 0083
exact hzero - 0084
exact horientation3 - 0085
exact horientation0 - 0086
exact horientation1 - 0087
exact horientation2 - 0088
have hcoordinates : exists m0 m1 m2 m3. ((((d * j) = (a * e + b * f + c * g) + m0) \/ ((a * e + b * f + c * g) = (d * j) + m0)) /\ ((((d * e + a * j + b * g) = (c * f) + m1) \/ ((c * f) = (d * e + a * j + b * g) + m1)) /\ ((((d * f + b * j + c * e) = (a * g) + m2) \/ ((a * g) = (d * f + b * j + c * e) + m2)) /\ (((d * g + a * f + c * j) = (b * e) + m3) \/ ((b * e) = (d * g + a * f + c * j) + m3))))) - 0089
specialize quaternion_coordinate_absolute_total d - 0090
specialize quaternion_coordinate_absolute_total a - 0091
specialize quaternion_coordinate_absolute_total b - 0092
specialize quaternion_coordinate_absolute_total c - 0093
specialize quaternion_coordinate_absolute_total j - 0094
specialize quaternion_coordinate_absolute_total e - 0095
specialize quaternion_coordinate_absolute_total f - 0096
specialize quaternion_coordinate_absolute_total g - 0097
exact quaternion_coordinate_absolute_total - 0098
cases hcoordinates - 0099
cases hcoordinates_witness - 0100
cases hcoordinates_witness_witness - 0101
cases hcoordinates_witness_witness_witness - 0102
have habsolute : ((((d * j) = (a * e + b * f + c * g) + x) \/ ((a * e + b * f + c * g) = (d * j) + x)) /\ ((((d * e + a * j + b * g) = (c * f) + x1) \/ ((c * f) = (d * e + a * j + b * g) + x1)) /\ ((((d * f + b * j + c * e) = (a * g) + x2) \/ ((a * g) = (d * f + b * j + c * e) + x2)) /\ (((d * g + a * f + c * j) = (b * e) + x3) \/ ((b * e) = (d * g + a * f + c * j) + x3))))) - 0103
exact hcoordinates_witness_witness_witness_witness - 0104
have hidentity : (d * d + a * a + b * b + c * c) * (j * j + e * e + f * f + g * g) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0105
specialize four_square_euler_quaternion d - 0106
specialize four_square_euler_quaternion a - 0107
specialize four_square_euler_quaternion b - 0108
specialize four_square_euler_quaternion c - 0109
specialize four_square_euler_quaternion j - 0110
specialize four_square_euler_quaternion e - 0111
specialize four_square_euler_quaternion f - 0112
specialize four_square_euler_quaternion g - 0113
specialize four_square_euler_quaternion x - 0114
specialize four_square_euler_quaternion x1 - 0115
specialize four_square_euler_quaternion x2 - 0116
specialize four_square_euler_quaternion x3 - 0117
apply four_square_euler_quaternion - 0118
exact habsolute - 0119
have hcenter_identity : k * r = j * j + e * e + f * f + g * g - 0120
trans j * j + e * e + f * f + g * g - 0121
exact hcenter_permuted - 0122
refl - 0123
have hproduct : (p * k) * (k * r) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0124
trans (d * d + a * a + b * b + c * c) * (j * j + e * e + f * f + g * g) - 0125
congr - 0126
exact hfirst_permuted - 0127
exact hcenter_identity - 0128
exact hidentity - 0129
cases hblocks - 0130
cases hblocks_right - 0131
cases hblocks_right_right - 0132
cases habsolute - 0133
cases habsolute_right - 0134
cases habsolute_right_right - 0135
specialize four_square_signed_absolute_block_representation p - 0136
specialize four_square_signed_absolute_block_representation k - 0137
specialize four_square_signed_absolute_block_representation r - 0138
specialize four_square_signed_absolute_block_representation (d * j) - 0139
specialize four_square_signed_absolute_block_representation (d * e + a * j + b * g) - 0140
specialize four_square_signed_absolute_block_representation (d * f + b * j + c * e) - 0141
specialize four_square_signed_absolute_block_representation (d * g + a * f + c * j) - 0142
specialize four_square_signed_absolute_block_representation (a * e + b * f + c * g) - 0143
specialize four_square_signed_absolute_block_representation (c * f) - 0144
specialize four_square_signed_absolute_block_representation (a * g) - 0145
specialize four_square_signed_absolute_block_representation (b * e) - 0146
specialize four_square_signed_absolute_block_representation x - 0147
specialize four_square_signed_absolute_block_representation x1 - 0148
specialize four_square_signed_absolute_block_representation x2 - 0149
specialize four_square_signed_absolute_block_representation x3 - 0150
apply four_square_signed_absolute_block_representation - 0151
exact hnonzero - 0152
exact hproduct - 0153
exact hblocks_left - 0154
exact habsolute_left - 0155
exact hblocks_right_left - 0156
exact habsolute_right_left - 0157
exact hblocks_right_right_left - 0158
exact habsolute_right_right_left - 0159
exact hblocks_right_right_right - 0160
exact habsolute_right_right_right