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_12_0 ftcn_right_mask_12_0. (a) + (k) * ftcn_left_mask_12_0 = (e) + (k) * ftcn_right_mask_12_0) -> (exists ftcn_left_mask_12_1 ftcn_right_mask_12_1. (b) + (k) * ftcn_left_mask_12_1 = (f) + (k) * ftcn_right_mask_12_1) -> (exists ftcn_left_mask_12_2 ftcn_right_mask_12_2. (c + g) + (k) * ftcn_left_mask_12_2 = (0) + (k) * ftcn_right_mask_12_2) -> (exists ftcn_left_mask_12_3 ftcn_right_mask_12_3. (d + j) + (k) * ftcn_left_mask_12_3 = (0) + (k) * ftcn_right_mask_12_3) -> k * r = e * e + f * f + g * g + j * j -> (exists fsl_a_fssc_mask_12 fsl_b_fssc_mask_12 fsl_c_fssc_mask_12 fsl_d_fssc_mask_12. (p * r) = fsl_a_fssc_mask_12 * fsl_a_fssc_mask_12 + fsl_b_fssc_mask_12 * fsl_b_fssc_mask_12 + fsl_c_fssc_mask_12 * fsl_c_fssc_mask_12 + fsl_d_fssc_mask_12 * fsl_d_fssc_mask_12)Constructive proof overview
Generated structural guide
Constructive signed quaternion quotient for centered orientation mask 1100, using the exact four_square_signed_conjugate_mixed_blocks surface.
The unchanged tactic script uses 7 declared prerequisites and contains 185 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 FS005Z four_square_signed_conjugate_mixed_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 FS0013 four_square_conjugate_absolute_coordinates_totalDirect 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 (5)
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 = c * c + d * d + a * a + b * b - 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 ((c * c) + ((d * d) + ((a * a) + (b * b)))) - L27
trans ((c * c) + ((a * a) + ((b * b) + (d * d)))) - L28
trans ((a * a) + ((c * c) + ((b * b) + (d * d)))) - L29
congr - L30
refl
04Use earlier factsL31–32
05Calculate and transport equalitiesL33–38
06Use earlier factsL39–40
07Calculate and transport equalitiesL41–45
08Establish hcenter_permutedL46–55
Establish this local claim before using it. It is not an additional assumption.
- L46
have hcenter_permuted : k * r = g * g + j * j + e * e + f * f - L47
trans e * e + f * f + g * g + j * j - L48
exact hcenter - L49
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - L50
simp [add_assoc] - L51
trans ((g * g) + ((j * j) + ((e * e) + (f * f)))) - L52
trans ((g * g) + ((e * e) + ((f * f) + (j * j)))) - L53
trans ((e * e) + ((g * g) + ((f * f) + (j * j)))) - L54
congr - L55
refl
09Use earlier factsL56–57
10Calculate and transport equalitiesL58–63
11Use earlier factsL64–65
12Calculate and transport equalitiesL66–70
13Establish hzeroL71–79
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.
- L71
have hzero : (exists ftcn_left_case_12_zero ftcn_right_case_12_zero. (g * g + j * j + e * e + f * f) + (k) * ftcn_left_case_12_zero = (0) + (k) * ftcn_right_case_12_zero) - L72
specialize four_square_signed_cases_norm_quotient_zero_congruence k - L73
specialize four_square_signed_cases_norm_quotient_zero_congruence r - L74
specialize four_square_signed_cases_norm_quotient_zero_congruence g - L75
specialize four_square_signed_cases_norm_quotient_zero_congruence j - L76
specialize four_square_signed_cases_norm_quotient_zero_congruence e - L77
specialize four_square_signed_cases_norm_quotient_zero_congruence f - L78
apply four_square_signed_cases_norm_quotient_zero_congruence - L79
exact hcenter_permuted
14Establish hblocksL80–89
Establish this local claim before using it. It is not an additional assumption.
- L80
have hblocks : ModEq(k,c · f + d · e + a · j + b · g,0) ∧ (ModEq(k,c · e + a · g,d · f + b · j) ∧ (ModEq(k,c · j + b · e,a · f + d · g) ∧ ModEq(k,c · g + d · j,b · f + a · e)))Definitions: ModEq - L81
specialize four_square_signed_conjugate_mixed_blocks k - L82
specialize four_square_signed_conjugate_mixed_blocks c - L83
specialize four_square_signed_conjugate_mixed_blocks d - L84
specialize four_square_signed_conjugate_mixed_blocks a - L85
specialize four_square_signed_conjugate_mixed_blocks b - L86
specialize four_square_signed_conjugate_mixed_blocks g - L87
specialize four_square_signed_conjugate_mixed_blocks j - L88
specialize four_square_signed_conjugate_mixed_blocks e - L89
specialize four_square_signed_conjugate_mixed_blocks f
15Use earlier factsL90–95
16Establish hcoordinatesL96–105
Establish this local claim before using it. It is not an additional assumption.
- L96
have hcoordinates : exists m0 m1 m2 m3. (((((c * f + d * e + a * j + b * g) = (0) + m0) \/ ((0) = (c * f + d * e + a * j + b * g) + m0)) /\ ((((c * e + a * g) = (d * f + b * j) + m1) \/ ((d * f + b * j) = (c * e + a * g) + m1)) /\ ((((c * j + b * e) = (a * f + d * g) + m2) \/ ((a * f + d * g) = (c * j + b * e) + m2)) /\ (((c * g + d * j) = (b * f + a * e) + m3) \/ ((b * f + a * e) = (c * g + d * j) + m3))))) /\ ((c * c + d * d + a * a + b * b) * (f * f + e * e + j * j + g * g) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - L97
specialize four_square_conjugate_absolute_coordinates_total c - L98
specialize four_square_conjugate_absolute_coordinates_total d - L99
specialize four_square_conjugate_absolute_coordinates_total a - L100
specialize four_square_conjugate_absolute_coordinates_total b - L101
specialize four_square_conjugate_absolute_coordinates_total f - L102
specialize four_square_conjugate_absolute_coordinates_total e - L103
specialize four_square_conjugate_absolute_coordinates_total j - L104
specialize four_square_conjugate_absolute_coordinates_total g - L105
exact four_square_conjugate_absolute_coordinates_total
17Separate the logical casesL106–110
18Establish habsoluteL111–112
Establish this local claim before using it. It is not an additional assumption.
- L111
have habsolute : ((((c * f + d * e + a * j + b * g) = (0) + x) \/ ((0) = (c * f + d * e + a * j + b * g) + x)) /\ ((((c * e + a * g) = (d * f + b * j) + x1) \/ ((d * f + b * j) = (c * e + a * g) + x1)) /\ ((((c * j + b * e) = (a * f + d * g) + x2) \/ ((a * f + d * g) = (c * j + b * e) + x2)) /\ (((c * g + d * j) = (b * f + a * e) + x3) \/ ((b * f + a * e) = (c * g + d * j) + x3))))) - L112
exact hcoordinates_witness_witness_witness_witness_left
19Establish hidentityL113–114
20Establish hcenter_identityL115–124
Establish this local claim before using it. It is not an additional assumption.
- L115
have hcenter_identity : k * r = f * f + e * e + j * j + g * g - L116
trans g * g + j * j + e * e + f * f - L117
exact hcenter_permuted - L118
trans ((g * g) + ((j * j) + ((e * e) + (f * f)))) - L119
simp [add_assoc] - L120
trans ((f * f) + ((e * e) + ((j * j) + (g * g)))) - L121
trans ((f * f) + ((g * g) + ((j * j) + (e * e)))) - L122
trans ((g * g) + ((f * f) + ((j * j) + (e * e)))) - L123
congr - L124
refl
21Calculate and transport equalitiesL125–127
22Use earlier factsL128–130
23Calculate and transport equalitiesL131–136
24Use earlier factsL137–138
25Calculate and transport equalitiesL139–141
26Use earlier factsL142–142
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L142
apply add_comm
27Calculate and transport equalitiesL143–147
28Establish hproductL148–153
Establish this local claim before using it. It is not an additional assumption.
29Separate the logical casesL154–159
30Use earlier factsL160–169
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L160
specialize four_square_signed_absolute_block_representation p - L161
specialize four_square_signed_absolute_block_representation k - L162
specialize four_square_signed_absolute_block_representation r - L163
specialize four_square_signed_absolute_block_representation (c * f + d * e + a * j + b * g) - L164
specialize four_square_signed_absolute_block_representation (c * e + a * g) - L165
specialize four_square_signed_absolute_block_representation (c * j + b * e) - L166
specialize four_square_signed_absolute_block_representation (c * g + d * j) - L167
specialize four_square_signed_absolute_block_representation (0) - L168
specialize four_square_signed_absolute_block_representation (d * f + b * j) - L169
specialize four_square_signed_absolute_block_representation (a * f + d * g)
31Use earlier factsL170–179
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L170
specialize four_square_signed_absolute_block_representation (b * f + a * e) - L171
specialize four_square_signed_absolute_block_representation x - L172
specialize four_square_signed_absolute_block_representation x1 - L173
specialize four_square_signed_absolute_block_representation x2 - L174
specialize four_square_signed_absolute_block_representation x3 - L175
apply four_square_signed_absolute_block_representation - L176
exact hnonzero - L177
exact hproduct - L178
exact hblocks_left - L179
exact habsolute_left
32Use earlier factsL180–185
Original exact command ledger · 185 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 = c * c + d * d + a * a + b * b - 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 ((c * c) + ((d * d) + ((a * a) + (b * b)))) - 0027
trans ((c * c) + ((a * a) + ((b * b) + (d * d)))) - 0028
trans ((a * a) + ((c * c) + ((b * b) + (d * d)))) - 0029
congr - 0030
refl - 0031
apply four_square_add_swap_right_tail - 0032
apply four_square_add_swap_right_tail - 0033
congr - 0034
refl - 0035
trans ((d * d) + ((a * a) + (b * b))) - 0036
trans ((a * a) + ((d * d) + (b * b))) - 0037
congr - 0038
refl - 0039
apply add_comm - 0040
apply four_square_add_swap_right_tail - 0041
congr - 0042
refl - 0043
refl - 0044
symm - 0045
simp [add_assoc] - 0046
have hcenter_permuted : k * r = g * g + j * j + e * e + f * f - 0047
trans e * e + f * f + g * g + j * j - 0048
exact hcenter - 0049
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - 0050
simp [add_assoc] - 0051
trans ((g * g) + ((j * j) + ((e * e) + (f * f)))) - 0052
trans ((g * g) + ((e * e) + ((f * f) + (j * j)))) - 0053
trans ((e * e) + ((g * g) + ((f * f) + (j * j)))) - 0054
congr - 0055
refl - 0056
apply four_square_add_swap_right_tail - 0057
apply four_square_add_swap_right_tail - 0058
congr - 0059
refl - 0060
trans ((j * j) + ((e * e) + (f * f))) - 0061
trans ((e * e) + ((j * j) + (f * f))) - 0062
congr - 0063
refl - 0064
apply add_comm - 0065
apply four_square_add_swap_right_tail - 0066
congr - 0067
refl - 0068
refl - 0069
symm - 0070
simp [add_assoc] - 0071
have hzero : (exists ftcn_left_case_12_zero ftcn_right_case_12_zero. (g * g + j * j + e * e + f * f) + (k) * ftcn_left_case_12_zero = (0) + (k) * ftcn_right_case_12_zero) - 0072
specialize four_square_signed_cases_norm_quotient_zero_congruence k - 0073
specialize four_square_signed_cases_norm_quotient_zero_congruence r - 0074
specialize four_square_signed_cases_norm_quotient_zero_congruence g - 0075
specialize four_square_signed_cases_norm_quotient_zero_congruence j - 0076
specialize four_square_signed_cases_norm_quotient_zero_congruence e - 0077
specialize four_square_signed_cases_norm_quotient_zero_congruence f - 0078
apply four_square_signed_cases_norm_quotient_zero_congruence - 0079
exact hcenter_permuted - 0080
have hblocks : ((exists ftcn_left_case_12_block_0 ftcn_right_case_12_block_0. (c * f + d * e + a * j + b * g) + (k) * ftcn_left_case_12_block_0 = (0) + (k) * ftcn_right_case_12_block_0) /\ ((exists ftcn_left_case_12_block_1 ftcn_right_case_12_block_1. (c * e + a * g) + (k) * ftcn_left_case_12_block_1 = (d * f + b * j) + (k) * ftcn_right_case_12_block_1) /\ ((exists ftcn_left_case_12_block_2 ftcn_right_case_12_block_2. (c * j + b * e) + (k) * ftcn_left_case_12_block_2 = (a * f + d * g) + (k) * ftcn_right_case_12_block_2) /\ (exists ftcn_left_case_12_block_3 ftcn_right_case_12_block_3. (c * g + d * j) + (k) * ftcn_left_case_12_block_3 = (b * f + a * e) + (k) * ftcn_right_case_12_block_3)))) - 0081
specialize four_square_signed_conjugate_mixed_blocks k - 0082
specialize four_square_signed_conjugate_mixed_blocks c - 0083
specialize four_square_signed_conjugate_mixed_blocks d - 0084
specialize four_square_signed_conjugate_mixed_blocks a - 0085
specialize four_square_signed_conjugate_mixed_blocks b - 0086
specialize four_square_signed_conjugate_mixed_blocks g - 0087
specialize four_square_signed_conjugate_mixed_blocks j - 0088
specialize four_square_signed_conjugate_mixed_blocks e - 0089
specialize four_square_signed_conjugate_mixed_blocks f - 0090
apply four_square_signed_conjugate_mixed_blocks - 0091
exact hzero - 0092
exact horientation2 - 0093
exact horientation3 - 0094
exact horientation0 - 0095
exact horientation1 - 0096
have hcoordinates : exists m0 m1 m2 m3. (((((c * f + d * e + a * j + b * g) = (0) + m0) \/ ((0) = (c * f + d * e + a * j + b * g) + m0)) /\ ((((c * e + a * g) = (d * f + b * j) + m1) \/ ((d * f + b * j) = (c * e + a * g) + m1)) /\ ((((c * j + b * e) = (a * f + d * g) + m2) \/ ((a * f + d * g) = (c * j + b * e) + m2)) /\ (((c * g + d * j) = (b * f + a * e) + m3) \/ ((b * f + a * e) = (c * g + d * j) + m3))))) /\ ((c * c + d * d + a * a + b * b) * (f * f + e * e + j * j + g * g) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - 0097
specialize four_square_conjugate_absolute_coordinates_total c - 0098
specialize four_square_conjugate_absolute_coordinates_total d - 0099
specialize four_square_conjugate_absolute_coordinates_total a - 0100
specialize four_square_conjugate_absolute_coordinates_total b - 0101
specialize four_square_conjugate_absolute_coordinates_total f - 0102
specialize four_square_conjugate_absolute_coordinates_total e - 0103
specialize four_square_conjugate_absolute_coordinates_total j - 0104
specialize four_square_conjugate_absolute_coordinates_total g - 0105
exact four_square_conjugate_absolute_coordinates_total - 0106
cases hcoordinates - 0107
cases hcoordinates_witness - 0108
cases hcoordinates_witness_witness - 0109
cases hcoordinates_witness_witness_witness - 0110
cases hcoordinates_witness_witness_witness_witness - 0111
have habsolute : ((((c * f + d * e + a * j + b * g) = (0) + x) \/ ((0) = (c * f + d * e + a * j + b * g) + x)) /\ ((((c * e + a * g) = (d * f + b * j) + x1) \/ ((d * f + b * j) = (c * e + a * g) + x1)) /\ ((((c * j + b * e) = (a * f + d * g) + x2) \/ ((a * f + d * g) = (c * j + b * e) + x2)) /\ (((c * g + d * j) = (b * f + a * e) + x3) \/ ((b * f + a * e) = (c * g + d * j) + x3))))) - 0112
exact hcoordinates_witness_witness_witness_witness_left - 0113
have hidentity : (c * c + d * d + a * a + b * b) * (f * f + e * e + j * j + g * g) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0114
exact hcoordinates_witness_witness_witness_witness_right - 0115
have hcenter_identity : k * r = f * f + e * e + j * j + g * g - 0116
trans g * g + j * j + e * e + f * f - 0117
exact hcenter_permuted - 0118
trans ((g * g) + ((j * j) + ((e * e) + (f * f)))) - 0119
simp [add_assoc] - 0120
trans ((f * f) + ((e * e) + ((j * j) + (g * g)))) - 0121
trans ((f * f) + ((g * g) + ((j * j) + (e * e)))) - 0122
trans ((g * g) + ((f * f) + ((j * j) + (e * e)))) - 0123
congr - 0124
refl - 0125
trans ((j * j) + ((f * f) + (e * e))) - 0126
congr - 0127
refl - 0128
apply add_comm - 0129
apply four_square_add_swap_right_tail - 0130
apply four_square_add_swap_right_tail - 0131
congr - 0132
refl - 0133
trans ((e * e) + ((g * g) + (j * j))) - 0134
trans ((g * g) + ((e * e) + (j * j))) - 0135
congr - 0136
refl - 0137
apply add_comm - 0138
apply four_square_add_swap_right_tail - 0139
congr - 0140
refl - 0141
trans ((j * j) + (g * g)) - 0142
apply add_comm - 0143
congr - 0144
refl - 0145
refl - 0146
symm - 0147
simp [add_assoc] - 0148
have hproduct : (p * k) * (k * r) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0149
trans (c * c + d * d + a * a + b * b) * (f * f + e * e + j * j + g * g) - 0150
congr - 0151
exact hfirst_permuted - 0152
exact hcenter_identity - 0153
exact hidentity - 0154
cases hblocks - 0155
cases hblocks_right - 0156
cases hblocks_right_right - 0157
cases habsolute - 0158
cases habsolute_right - 0159
cases habsolute_right_right - 0160
specialize four_square_signed_absolute_block_representation p - 0161
specialize four_square_signed_absolute_block_representation k - 0162
specialize four_square_signed_absolute_block_representation r - 0163
specialize four_square_signed_absolute_block_representation (c * f + d * e + a * j + b * g) - 0164
specialize four_square_signed_absolute_block_representation (c * e + a * g) - 0165
specialize four_square_signed_absolute_block_representation (c * j + b * e) - 0166
specialize four_square_signed_absolute_block_representation (c * g + d * j) - 0167
specialize four_square_signed_absolute_block_representation (0) - 0168
specialize four_square_signed_absolute_block_representation (d * f + b * j) - 0169
specialize four_square_signed_absolute_block_representation (a * f + d * g) - 0170
specialize four_square_signed_absolute_block_representation (b * f + a * e) - 0171
specialize four_square_signed_absolute_block_representation x - 0172
specialize four_square_signed_absolute_block_representation x1 - 0173
specialize four_square_signed_absolute_block_representation x2 - 0174
specialize four_square_signed_absolute_block_representation x3 - 0175
apply four_square_signed_absolute_block_representation - 0176
exact hnonzero - 0177
exact hproduct - 0178
exact hblocks_left - 0179
exact habsolute_left - 0180
exact hblocks_right_left - 0181
exact habsolute_right_left - 0182
exact hblocks_right_right_left - 0183
exact habsolute_right_right_left - 0184
exact hblocks_right_right_right - 0185
exact habsolute_right_right_right