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_0_0 ftcn_right_mask_0_0. (a) + (k) * ftcn_left_mask_0_0 = (e) + (k) * ftcn_right_mask_0_0) -> (exists ftcn_left_mask_0_1 ftcn_right_mask_0_1. (b) + (k) * ftcn_left_mask_0_1 = (f) + (k) * ftcn_right_mask_0_1) -> (exists ftcn_left_mask_0_2 ftcn_right_mask_0_2. (c) + (k) * ftcn_left_mask_0_2 = (g) + (k) * ftcn_right_mask_0_2) -> (exists ftcn_left_mask_0_3 ftcn_right_mask_0_3. (d) + (k) * ftcn_left_mask_0_3 = (j) + (k) * ftcn_right_mask_0_3) -> k * r = e * e + f * f + g * g + j * j -> (exists fsl_a_fssc_mask_0 fsl_b_fssc_mask_0 fsl_c_fssc_mask_0 fsl_d_fssc_mask_0. (p * r) = fsl_a_fssc_mask_0 * fsl_a_fssc_mask_0 + fsl_b_fssc_mask_0 * fsl_b_fssc_mask_0 + fsl_c_fssc_mask_0 * fsl_c_fssc_mask_0 + fsl_d_fssc_mask_0 * fsl_d_fssc_mask_0)Constructive proof overview
Generated structural guide
Constructive signed quaternion quotient for centered orientation mask 0000, using the exact four_square_signed_conjugate_positive_blocks surface.
The unchanged tactic script uses 7 declared prerequisites and contains 114 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 FS005Y four_square_signed_conjugate_positive_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 (4)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–20
03Establish hfirst_permutedL21–24
04Establish hcenter_permutedL25–28
05Establish hzeroL29–37
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.
- L29
have hzero : (exists ftcn_left_case_0_zero ftcn_right_case_0_zero. (e * e + f * f + g * g + j * j) + (k) * ftcn_left_case_0_zero = (0) + (k) * ftcn_right_case_0_zero) - L30
specialize four_square_signed_cases_norm_quotient_zero_congruence k - L31
specialize four_square_signed_cases_norm_quotient_zero_congruence r - L32
specialize four_square_signed_cases_norm_quotient_zero_congruence e - L33
specialize four_square_signed_cases_norm_quotient_zero_congruence f - L34
specialize four_square_signed_cases_norm_quotient_zero_congruence g - L35
specialize four_square_signed_cases_norm_quotient_zero_congruence j - L36
apply four_square_signed_cases_norm_quotient_zero_congruence - L37
exact hcenter_permuted
06Establish hblocksL38–47
Establish this local claim before using it. It is not an additional assumption.
- L38
have hblocks : ModEq(k,a · e + b · f + c · g + d · j,0) ∧ (ModEq(k,a · f + c · j,b · e + d · g) ∧ (ModEq(k,a · g + d · f,c · e + b · j) ∧ ModEq(k,a · j + b · g,d · e + c · f)))Definitions: ModEq - L39
specialize four_square_signed_conjugate_positive_blocks k - L40
specialize four_square_signed_conjugate_positive_blocks a - L41
specialize four_square_signed_conjugate_positive_blocks b - L42
specialize four_square_signed_conjugate_positive_blocks c - L43
specialize four_square_signed_conjugate_positive_blocks d - L44
specialize four_square_signed_conjugate_positive_blocks e - L45
specialize four_square_signed_conjugate_positive_blocks f - L46
specialize four_square_signed_conjugate_positive_blocks g - L47
specialize four_square_signed_conjugate_positive_blocks j
07Use earlier factsL48–53
08Establish hcoordinatesL54–63
Establish this local claim before using it. It is not an additional assumption.
- L54
have hcoordinates : exists m0 m1 m2 m3. (((((a * e + b * f + c * g + d * j) = (0) + m0) \/ ((0) = (a * e + b * f + c * g + d * j) + m0)) /\ ((((a * f + c * j) = (b * e + d * g) + m1) \/ ((b * e + d * g) = (a * f + c * j) + m1)) /\ ((((a * g + d * f) = (c * e + b * j) + m2) \/ ((c * e + b * j) = (a * g + d * f) + m2)) /\ (((a * j + b * g) = (d * e + c * f) + m3) \/ ((d * e + c * f) = (a * j + b * g) + m3))))) /\ ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + j * j) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - L55
specialize four_square_conjugate_absolute_coordinates_total a - L56
specialize four_square_conjugate_absolute_coordinates_total b - L57
specialize four_square_conjugate_absolute_coordinates_total c - L58
specialize four_square_conjugate_absolute_coordinates_total d - L59
specialize four_square_conjugate_absolute_coordinates_total e - L60
specialize four_square_conjugate_absolute_coordinates_total f - L61
specialize four_square_conjugate_absolute_coordinates_total g - L62
specialize four_square_conjugate_absolute_coordinates_total j - L63
exact four_square_conjugate_absolute_coordinates_total
09Separate the logical casesL64–68
10Establish habsoluteL69–70
Establish this local claim before using it. It is not an additional assumption.
- L69
have habsolute : ((((a * e + b * f + c * g + d * j) = (0) + x) \/ ((0) = (a * e + b * f + c * g + d * j) + x)) /\ ((((a * f + c * j) = (b * e + d * g) + x1) \/ ((b * e + d * g) = (a * f + c * j) + x1)) /\ ((((a * g + d * f) = (c * e + b * j) + x2) \/ ((c * e + b * j) = (a * g + d * f) + x2)) /\ (((a * j + b * g) = (d * e + c * f) + x3) \/ ((d * e + c * f) = (a * j + b * g) + x3))))) - L70
exact hcoordinates_witness_witness_witness_witness_left
11Establish hidentityL71–72
12Establish hcenter_identityL73–76
13Establish hproductL77–82
Establish this local claim before using it. It is not an additional assumption.
14Separate the logical casesL83–88
15Use earlier factsL89–98
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L89
specialize four_square_signed_absolute_block_representation p - L90
specialize four_square_signed_absolute_block_representation k - L91
specialize four_square_signed_absolute_block_representation r - L92
specialize four_square_signed_absolute_block_representation (a * e + b * f + c * g + d * j) - L93
specialize four_square_signed_absolute_block_representation (a * f + c * j) - L94
specialize four_square_signed_absolute_block_representation (a * g + d * f) - L95
specialize four_square_signed_absolute_block_representation (a * j + b * g) - L96
specialize four_square_signed_absolute_block_representation (0) - L97
specialize four_square_signed_absolute_block_representation (b * e + d * g) - L98
specialize four_square_signed_absolute_block_representation (c * e + b * j)
16Use earlier factsL99–108
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L99
specialize four_square_signed_absolute_block_representation (d * e + c * f) - L100
specialize four_square_signed_absolute_block_representation x - L101
specialize four_square_signed_absolute_block_representation x1 - L102
specialize four_square_signed_absolute_block_representation x2 - L103
specialize four_square_signed_absolute_block_representation x3 - L104
apply four_square_signed_absolute_block_representation - L105
exact hnonzero - L106
exact hproduct - L107
exact hblocks_left - L108
exact habsolute_left
17Use earlier factsL109–114
Original exact command ledger · 114 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 + b * b + c * c + d * d - 0022
trans a * a + b * b + c * c + d * d - 0023
exact hfirst - 0024
refl - 0025
have hcenter_permuted : k * r = e * e + f * f + g * g + j * j - 0026
trans e * e + f * f + g * g + j * j - 0027
exact hcenter - 0028
refl - 0029
have hzero : (exists ftcn_left_case_0_zero ftcn_right_case_0_zero. (e * e + f * f + g * g + j * j) + (k) * ftcn_left_case_0_zero = (0) + (k) * ftcn_right_case_0_zero) - 0030
specialize four_square_signed_cases_norm_quotient_zero_congruence k - 0031
specialize four_square_signed_cases_norm_quotient_zero_congruence r - 0032
specialize four_square_signed_cases_norm_quotient_zero_congruence e - 0033
specialize four_square_signed_cases_norm_quotient_zero_congruence f - 0034
specialize four_square_signed_cases_norm_quotient_zero_congruence g - 0035
specialize four_square_signed_cases_norm_quotient_zero_congruence j - 0036
apply four_square_signed_cases_norm_quotient_zero_congruence - 0037
exact hcenter_permuted - 0038
have hblocks : ((exists ftcn_left_case_0_block_0 ftcn_right_case_0_block_0. (a * e + b * f + c * g + d * j) + (k) * ftcn_left_case_0_block_0 = (0) + (k) * ftcn_right_case_0_block_0) /\ ((exists ftcn_left_case_0_block_1 ftcn_right_case_0_block_1. (a * f + c * j) + (k) * ftcn_left_case_0_block_1 = (b * e + d * g) + (k) * ftcn_right_case_0_block_1) /\ ((exists ftcn_left_case_0_block_2 ftcn_right_case_0_block_2. (a * g + d * f) + (k) * ftcn_left_case_0_block_2 = (c * e + b * j) + (k) * ftcn_right_case_0_block_2) /\ (exists ftcn_left_case_0_block_3 ftcn_right_case_0_block_3. (a * j + b * g) + (k) * ftcn_left_case_0_block_3 = (d * e + c * f) + (k) * ftcn_right_case_0_block_3)))) - 0039
specialize four_square_signed_conjugate_positive_blocks k - 0040
specialize four_square_signed_conjugate_positive_blocks a - 0041
specialize four_square_signed_conjugate_positive_blocks b - 0042
specialize four_square_signed_conjugate_positive_blocks c - 0043
specialize four_square_signed_conjugate_positive_blocks d - 0044
specialize four_square_signed_conjugate_positive_blocks e - 0045
specialize four_square_signed_conjugate_positive_blocks f - 0046
specialize four_square_signed_conjugate_positive_blocks g - 0047
specialize four_square_signed_conjugate_positive_blocks j - 0048
apply four_square_signed_conjugate_positive_blocks - 0049
exact hzero - 0050
exact horientation0 - 0051
exact horientation1 - 0052
exact horientation2 - 0053
exact horientation3 - 0054
have hcoordinates : exists m0 m1 m2 m3. (((((a * e + b * f + c * g + d * j) = (0) + m0) \/ ((0) = (a * e + b * f + c * g + d * j) + m0)) /\ ((((a * f + c * j) = (b * e + d * g) + m1) \/ ((b * e + d * g) = (a * f + c * j) + m1)) /\ ((((a * g + d * f) = (c * e + b * j) + m2) \/ ((c * e + b * j) = (a * g + d * f) + m2)) /\ (((a * j + b * g) = (d * e + c * f) + m3) \/ ((d * e + c * f) = (a * j + b * g) + m3))))) /\ ((a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + j * j) = m0 * m0 + m1 * m1 + m2 * m2 + m3 * m3)) - 0055
specialize four_square_conjugate_absolute_coordinates_total a - 0056
specialize four_square_conjugate_absolute_coordinates_total b - 0057
specialize four_square_conjugate_absolute_coordinates_total c - 0058
specialize four_square_conjugate_absolute_coordinates_total d - 0059
specialize four_square_conjugate_absolute_coordinates_total e - 0060
specialize four_square_conjugate_absolute_coordinates_total f - 0061
specialize four_square_conjugate_absolute_coordinates_total g - 0062
specialize four_square_conjugate_absolute_coordinates_total j - 0063
exact four_square_conjugate_absolute_coordinates_total - 0064
cases hcoordinates - 0065
cases hcoordinates_witness - 0066
cases hcoordinates_witness_witness - 0067
cases hcoordinates_witness_witness_witness - 0068
cases hcoordinates_witness_witness_witness_witness - 0069
have habsolute : ((((a * e + b * f + c * g + d * j) = (0) + x) \/ ((0) = (a * e + b * f + c * g + d * j) + x)) /\ ((((a * f + c * j) = (b * e + d * g) + x1) \/ ((b * e + d * g) = (a * f + c * j) + x1)) /\ ((((a * g + d * f) = (c * e + b * j) + x2) \/ ((c * e + b * j) = (a * g + d * f) + x2)) /\ (((a * j + b * g) = (d * e + c * f) + x3) \/ ((d * e + c * f) = (a * j + b * g) + x3))))) - 0070
exact hcoordinates_witness_witness_witness_witness_left - 0071
have hidentity : (a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + j * j) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0072
exact hcoordinates_witness_witness_witness_witness_right - 0073
have hcenter_identity : k * r = e * e + f * f + g * g + j * j - 0074
trans e * e + f * f + g * g + j * j - 0075
exact hcenter_permuted - 0076
refl - 0077
have hproduct : (p * k) * (k * r) = x * x + x1 * x1 + x2 * x2 + x3 * x3 - 0078
trans (a * a + b * b + c * c + d * d) * (e * e + f * f + g * g + j * j) - 0079
congr - 0080
exact hfirst_permuted - 0081
exact hcenter_identity - 0082
exact hidentity - 0083
cases hblocks - 0084
cases hblocks_right - 0085
cases hblocks_right_right - 0086
cases habsolute - 0087
cases habsolute_right - 0088
cases habsolute_right_right - 0089
specialize four_square_signed_absolute_block_representation p - 0090
specialize four_square_signed_absolute_block_representation k - 0091
specialize four_square_signed_absolute_block_representation r - 0092
specialize four_square_signed_absolute_block_representation (a * e + b * f + c * g + d * j) - 0093
specialize four_square_signed_absolute_block_representation (a * f + c * j) - 0094
specialize four_square_signed_absolute_block_representation (a * g + d * f) - 0095
specialize four_square_signed_absolute_block_representation (a * j + b * g) - 0096
specialize four_square_signed_absolute_block_representation (0) - 0097
specialize four_square_signed_absolute_block_representation (b * e + d * g) - 0098
specialize four_square_signed_absolute_block_representation (c * e + b * j) - 0099
specialize four_square_signed_absolute_block_representation (d * e + c * f) - 0100
specialize four_square_signed_absolute_block_representation x - 0101
specialize four_square_signed_absolute_block_representation x1 - 0102
specialize four_square_signed_absolute_block_representation x2 - 0103
specialize four_square_signed_absolute_block_representation x3 - 0104
apply four_square_signed_absolute_block_representation - 0105
exact hnonzero - 0106
exact hproduct - 0107
exact hblocks_left - 0108
exact habsolute_left - 0109
exact hblocks_right_left - 0110
exact habsolute_right_left - 0111
exact hblocks_right_right_left - 0112
exact habsolute_right_right_left - 0113
exact hblocks_right_right_right - 0114
exact habsolute_right_right_right