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_9_0 ftcn_right_mask_9_0. (a + e) + (k) * ftcn_left_mask_9_0 = (0) + (k) * ftcn_right_mask_9_0) -> (exists ftcn_left_mask_9_1 ftcn_right_mask_9_1. (b) + (k) * ftcn_left_mask_9_1 = (f) + (k) * ftcn_right_mask_9_1) -> (exists ftcn_left_mask_9_2 ftcn_right_mask_9_2. (c) + (k) * ftcn_left_mask_9_2 = (g) + (k) * ftcn_right_mask_9_2) -> (exists ftcn_left_mask_9_3 ftcn_right_mask_9_3. (d + j) + (k) * ftcn_left_mask_9_3 = (0) + (k) * ftcn_right_mask_9_3) -> k * r = e * e + f * f + g * g + j * j -> (exists fsl_a_fssc_mask_9 fsl_b_fssc_mask_9 fsl_c_fssc_mask_9 fsl_d_fssc_mask_9. (p * r) = fsl_a_fssc_mask_9 * fsl_a_fssc_mask_9 + fsl_b_fssc_mask_9 * fsl_b_fssc_mask_9 + fsl_c_fssc_mask_9 * fsl_c_fssc_mask_9 + fsl_d_fssc_mask_9 * fsl_d_fssc_mask_9)Constructive proof overview
Generated structural guide
Constructive signed quaternion quotient for centered orientation mask 1001, using the exact four_square_signed_conjugate_mixed_blocks surface.
The unchanged tactic script uses 7 declared prerequisites and contains 173 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 = a * a + d * d + 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 ((a * a) + ((d * d) + ((b * b) + (c * c)))) - L27
congr - L28
refl - L29
trans ((d * d) + ((b * b) + (c * c))) - L30
trans ((b * b) + ((d * d) + (c * c)))
04Calculate and transport equalitiesL31–32
05Use earlier factsL33–34
06Calculate and transport equalitiesL35–39
07Establish hcenter_permutedL40–49
Establish this local claim before using it. It is not an additional assumption.
- L40
have hcenter_permuted : k * r = e * e + j * j + f * f + g * g - L41
trans e * e + f * f + g * g + j * j - L42
exact hcenter - L43
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - L44
simp [add_assoc] - L45
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - L46
congr - L47
refl - L48
trans ((j * j) + ((f * f) + (g * g))) - L49
trans ((f * f) + ((j * j) + (g * g)))
08Calculate and transport equalitiesL50–51
09Use earlier factsL52–53
10Calculate and transport equalitiesL54–58
11Establish hzeroL59–67
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.
- L59
have hzero : (exists ftcn_left_case_9_zero ftcn_right_case_9_zero. (e * e + j * j + f * f + g * g) + (k) * ftcn_left_case_9_zero = (0) + (k) * ftcn_right_case_9_zero) - L60
specialize four_square_signed_cases_norm_quotient_zero_congruence k - L61
specialize four_square_signed_cases_norm_quotient_zero_congruence r - L62
specialize four_square_signed_cases_norm_quotient_zero_congruence e - L63
specialize four_square_signed_cases_norm_quotient_zero_congruence j - L64
specialize four_square_signed_cases_norm_quotient_zero_congruence f - L65
specialize four_square_signed_cases_norm_quotient_zero_congruence g - L66
apply four_square_signed_cases_norm_quotient_zero_congruence - L67
exact hcenter_permuted
12Establish hblocksL68–77
Establish this local claim before using it. It is not an additional assumption.
- L68
have hblocks : ModEq(k,a · g + d · f + b · j + c · e,0) ∧ (ModEq(k,a · f + b · e,d · g + c · j) ∧ (ModEq(k,a · j + c · f,b · g + d · e) ∧ ModEq(k,a · e + d · j,c · g + b · f)))Definitions: ModEq - L69
specialize four_square_signed_conjugate_mixed_blocks k - L70
specialize four_square_signed_conjugate_mixed_blocks a - L71
specialize four_square_signed_conjugate_mixed_blocks d - L72
specialize four_square_signed_conjugate_mixed_blocks b - L73
specialize four_square_signed_conjugate_mixed_blocks c - L74
specialize four_square_signed_conjugate_mixed_blocks e - L75
specialize four_square_signed_conjugate_mixed_blocks j - L76
specialize four_square_signed_conjugate_mixed_blocks f - L77
specialize four_square_signed_conjugate_mixed_blocks g
13Use earlier factsL78–83
14Establish hcoordinatesL84–93
Establish this local claim before using it. It is not an additional assumption.
- L84
have hcoordinates : exists m0 m1 m2 m3. (((((a * g + d * f + b * j + c * e) = (0) + m0) \/ ((0) = (a * g + d * f + b * j + c * e) + m0)) /\ ((((a * f + b * e) = (d * g + c * j) + m1) \/ ((d * g + c * j) = (a * f + b * e) + m1)) /\ ((((a * j + c * f) = (b * g + d * e) + m2) \/ ((b * g + d * e) = (a * j + c * f) + m2)) /\ (((a * e + d * j) = (c * g + b * f) + m3) \/ ((c * g + b * f) = (a * e + d * j) + m3))))) /\ ((a * a + d * d + b * b + c * c) * (g * g + f * f + j * j + e * e) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - L85
specialize four_square_conjugate_absolute_coordinates_total a - L86
specialize four_square_conjugate_absolute_coordinates_total d - L87
specialize four_square_conjugate_absolute_coordinates_total b - L88
specialize four_square_conjugate_absolute_coordinates_total c - L89
specialize four_square_conjugate_absolute_coordinates_total g - L90
specialize four_square_conjugate_absolute_coordinates_total f - L91
specialize four_square_conjugate_absolute_coordinates_total j - L92
specialize four_square_conjugate_absolute_coordinates_total e - L93
exact four_square_conjugate_absolute_coordinates_total
15Separate the logical casesL94–98
16Establish habsoluteL99–100
Establish this local claim before using it. It is not an additional assumption.
- L99
have habsolute : ((((a * g + d * f + b * j + c * e) = (0) + x) \/ ((0) = (a * g + d * f + b * j + c * e) + x)) /\ ((((a * f + b * e) = (d * g + c * j) + x1) \/ ((d * g + c * j) = (a * f + b * e) + x1)) /\ ((((a * j + c * f) = (b * g + d * e) + x2) \/ ((b * g + d * e) = (a * j + c * f) + x2)) /\ (((a * e + d * j) = (c * g + b * f) + x3) \/ ((c * g + b * f) = (a * e + d * j) + x3))))) - L100
exact hcoordinates_witness_witness_witness_witness_left
17Establish hidentityL101–102
18Establish hcenter_identityL103–112
Establish this local claim before using it. It is not an additional assumption.
- L103
have hcenter_identity : k * r = g * g + f * f + j * j + e * e - L104
trans e * e + j * j + f * f + g * g - L105
exact hcenter_permuted - L106
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - L107
simp [add_assoc] - L108
trans ((g * g) + ((f * f) + ((j * j) + (e * e)))) - L109
trans ((g * g) + ((e * e) + ((j * j) + (f * f)))) - L110
trans ((e * e) + ((g * g) + ((j * j) + (f * f)))) - L111
congr - L112
refl
19Calculate and transport equalitiesL113–115
20Use earlier factsL116–118
21Calculate and transport equalitiesL119–124
22Use earlier factsL125–126
23Calculate and transport equalitiesL127–129
24Use earlier factsL130–130
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L130
apply add_comm
25Calculate and transport equalitiesL131–135
26Establish hproductL136–141
Establish this local claim before using it. It is not an additional assumption.
27Separate the logical casesL142–147
28Use earlier factsL148–157
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L148
specialize four_square_signed_absolute_block_representation p - L149
specialize four_square_signed_absolute_block_representation k - L150
specialize four_square_signed_absolute_block_representation r - L151
specialize four_square_signed_absolute_block_representation (a * g + d * f + b * j + c * e) - L152
specialize four_square_signed_absolute_block_representation (a * f + b * e) - L153
specialize four_square_signed_absolute_block_representation (a * j + c * f) - L154
specialize four_square_signed_absolute_block_representation (a * e + d * j) - L155
specialize four_square_signed_absolute_block_representation (0) - L156
specialize four_square_signed_absolute_block_representation (d * g + c * j) - L157
specialize four_square_signed_absolute_block_representation (b * g + d * e)
29Use earlier factsL158–167
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L158
specialize four_square_signed_absolute_block_representation (c * g + b * f) - L159
specialize four_square_signed_absolute_block_representation x - L160
specialize four_square_signed_absolute_block_representation x1 - L161
specialize four_square_signed_absolute_block_representation x2 - L162
specialize four_square_signed_absolute_block_representation x3 - L163
apply four_square_signed_absolute_block_representation - L164
exact hnonzero - L165
exact hproduct - L166
exact hblocks_left - L167
exact habsolute_left
30Use earlier factsL168–173
Original exact command ledger · 173 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 = a * a + d * d + 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 ((a * a) + ((d * d) + ((b * b) + (c * c)))) - 0027
congr - 0028
refl - 0029
trans ((d * d) + ((b * b) + (c * c))) - 0030
trans ((b * b) + ((d * d) + (c * c))) - 0031
congr - 0032
refl - 0033
apply add_comm - 0034
apply four_square_add_swap_right_tail - 0035
congr - 0036
refl - 0037
refl - 0038
symm - 0039
simp [add_assoc] - 0040
have hcenter_permuted : k * r = e * e + j * j + f * f + g * g - 0041
trans e * e + f * f + g * g + j * j - 0042
exact hcenter - 0043
trans ((e * e) + ((f * f) + ((g * g) + (j * j)))) - 0044
simp [add_assoc] - 0045
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - 0046
congr - 0047
refl - 0048
trans ((j * j) + ((f * f) + (g * g))) - 0049
trans ((f * f) + ((j * j) + (g * g))) - 0050
congr - 0051
refl - 0052
apply add_comm - 0053
apply four_square_add_swap_right_tail - 0054
congr - 0055
refl - 0056
refl - 0057
symm - 0058
simp [add_assoc] - 0059
have hzero : (exists ftcn_left_case_9_zero ftcn_right_case_9_zero. (e * e + j * j + f * f + g * g) + (k) * ftcn_left_case_9_zero = (0) + (k) * ftcn_right_case_9_zero) - 0060
specialize four_square_signed_cases_norm_quotient_zero_congruence k - 0061
specialize four_square_signed_cases_norm_quotient_zero_congruence r - 0062
specialize four_square_signed_cases_norm_quotient_zero_congruence e - 0063
specialize four_square_signed_cases_norm_quotient_zero_congruence j - 0064
specialize four_square_signed_cases_norm_quotient_zero_congruence f - 0065
specialize four_square_signed_cases_norm_quotient_zero_congruence g - 0066
apply four_square_signed_cases_norm_quotient_zero_congruence - 0067
exact hcenter_permuted - 0068
have hblocks : ((exists ftcn_left_case_9_block_0 ftcn_right_case_9_block_0. (a * g + d * f + b * j + c * e) + (k) * ftcn_left_case_9_block_0 = (0) + (k) * ftcn_right_case_9_block_0) /\ ((exists ftcn_left_case_9_block_1 ftcn_right_case_9_block_1. (a * f + b * e) + (k) * ftcn_left_case_9_block_1 = (d * g + c * j) + (k) * ftcn_right_case_9_block_1) /\ ((exists ftcn_left_case_9_block_2 ftcn_right_case_9_block_2. (a * j + c * f) + (k) * ftcn_left_case_9_block_2 = (b * g + d * e) + (k) * ftcn_right_case_9_block_2) /\ (exists ftcn_left_case_9_block_3 ftcn_right_case_9_block_3. (a * e + d * j) + (k) * ftcn_left_case_9_block_3 = (c * g + b * f) + (k) * ftcn_right_case_9_block_3)))) - 0069
specialize four_square_signed_conjugate_mixed_blocks k - 0070
specialize four_square_signed_conjugate_mixed_blocks a - 0071
specialize four_square_signed_conjugate_mixed_blocks d - 0072
specialize four_square_signed_conjugate_mixed_blocks b - 0073
specialize four_square_signed_conjugate_mixed_blocks c - 0074
specialize four_square_signed_conjugate_mixed_blocks e - 0075
specialize four_square_signed_conjugate_mixed_blocks j - 0076
specialize four_square_signed_conjugate_mixed_blocks f - 0077
specialize four_square_signed_conjugate_mixed_blocks g - 0078
apply four_square_signed_conjugate_mixed_blocks - 0079
exact hzero - 0080
exact horientation0 - 0081
exact horientation3 - 0082
exact horientation1 - 0083
exact horientation2 - 0084
have hcoordinates : exists m0 m1 m2 m3. (((((a * g + d * f + b * j + c * e) = (0) + m0) \/ ((0) = (a * g + d * f + b * j + c * e) + m0)) /\ ((((a * f + b * e) = (d * g + c * j) + m1) \/ ((d * g + c * j) = (a * f + b * e) + m1)) /\ ((((a * j + c * f) = (b * g + d * e) + m2) \/ ((b * g + d * e) = (a * j + c * f) + m2)) /\ (((a * e + d * j) = (c * g + b * f) + m3) \/ ((c * g + b * f) = (a * e + d * j) + m3))))) /\ ((a * a + d * d + b * b + c * c) * (g * g + f * f + j * j + e * e) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - 0085
specialize four_square_conjugate_absolute_coordinates_total a - 0086
specialize four_square_conjugate_absolute_coordinates_total d - 0087
specialize four_square_conjugate_absolute_coordinates_total b - 0088
specialize four_square_conjugate_absolute_coordinates_total c - 0089
specialize four_square_conjugate_absolute_coordinates_total g - 0090
specialize four_square_conjugate_absolute_coordinates_total f - 0091
specialize four_square_conjugate_absolute_coordinates_total j - 0092
specialize four_square_conjugate_absolute_coordinates_total e - 0093
exact four_square_conjugate_absolute_coordinates_total - 0094
cases hcoordinates - 0095
cases hcoordinates_witness - 0096
cases hcoordinates_witness_witness - 0097
cases hcoordinates_witness_witness_witness - 0098
cases hcoordinates_witness_witness_witness_witness - 0099
have habsolute : ((((a * g + d * f + b * j + c * e) = (0) + x) \/ ((0) = (a * g + d * f + b * j + c * e) + x)) /\ ((((a * f + b * e) = (d * g + c * j) + x1) \/ ((d * g + c * j) = (a * f + b * e) + x1)) /\ ((((a * j + c * f) = (b * g + d * e) + x2) \/ ((b * g + d * e) = (a * j + c * f) + x2)) /\ (((a * e + d * j) = (c * g + b * f) + x3) \/ ((c * g + b * f) = (a * e + d * j) + x3))))) - 0100
exact hcoordinates_witness_witness_witness_witness_left - 0101
have hidentity : (a * a + d * d + b * b + c * c) * (g * g + f * f + j * j + e * e) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0102
exact hcoordinates_witness_witness_witness_witness_right - 0103
have hcenter_identity : k * r = g * g + f * f + j * j + e * e - 0104
trans e * e + j * j + f * f + g * g - 0105
exact hcenter_permuted - 0106
trans ((e * e) + ((j * j) + ((f * f) + (g * g)))) - 0107
simp [add_assoc] - 0108
trans ((g * g) + ((f * f) + ((j * j) + (e * e)))) - 0109
trans ((g * g) + ((e * e) + ((j * j) + (f * f)))) - 0110
trans ((e * e) + ((g * g) + ((j * j) + (f * f)))) - 0111
congr - 0112
refl - 0113
trans ((j * j) + ((g * g) + (f * f))) - 0114
congr - 0115
refl - 0116
apply add_comm - 0117
apply four_square_add_swap_right_tail - 0118
apply four_square_add_swap_right_tail - 0119
congr - 0120
refl - 0121
trans ((f * f) + ((e * e) + (j * j))) - 0122
trans ((e * e) + ((f * f) + (j * j))) - 0123
congr - 0124
refl - 0125
apply add_comm - 0126
apply four_square_add_swap_right_tail - 0127
congr - 0128
refl - 0129
trans ((j * j) + (e * e)) - 0130
apply add_comm - 0131
congr - 0132
refl - 0133
refl - 0134
symm - 0135
simp [add_assoc] - 0136
have hproduct : (p * k) * (k * r) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0137
trans (a * a + d * d + b * b + c * c) * (g * g + f * f + j * j + e * e) - 0138
congr - 0139
exact hfirst_permuted - 0140
exact hcenter_identity - 0141
exact hidentity - 0142
cases hblocks - 0143
cases hblocks_right - 0144
cases hblocks_right_right - 0145
cases habsolute - 0146
cases habsolute_right - 0147
cases habsolute_right_right - 0148
specialize four_square_signed_absolute_block_representation p - 0149
specialize four_square_signed_absolute_block_representation k - 0150
specialize four_square_signed_absolute_block_representation r - 0151
specialize four_square_signed_absolute_block_representation (a * g + d * f + b * j + c * e) - 0152
specialize four_square_signed_absolute_block_representation (a * f + b * e) - 0153
specialize four_square_signed_absolute_block_representation (a * j + c * f) - 0154
specialize four_square_signed_absolute_block_representation (a * e + d * j) - 0155
specialize four_square_signed_absolute_block_representation (0) - 0156
specialize four_square_signed_absolute_block_representation (d * g + c * j) - 0157
specialize four_square_signed_absolute_block_representation (b * g + d * e) - 0158
specialize four_square_signed_absolute_block_representation (c * g + b * f) - 0159
specialize four_square_signed_absolute_block_representation x - 0160
specialize four_square_signed_absolute_block_representation x1 - 0161
specialize four_square_signed_absolute_block_representation x2 - 0162
specialize four_square_signed_absolute_block_representation x3 - 0163
apply four_square_signed_absolute_block_representation - 0164
exact hnonzero - 0165
exact hproduct - 0166
exact hblocks_left - 0167
exact habsolute_left - 0168
exact hblocks_right_left - 0169
exact habsolute_right_left - 0170
exact hblocks_right_right_left - 0171
exact habsolute_right_right_left - 0172
exact hblocks_right_right_right - 0173
exact habsolute_right_right_right