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 ap an bp bn cp cn dp dn N M. (exists ee_real_square_first_product ee_imag_square_first_product. (((((ap) * (ap))) + (((an) * (an)))) = ((ee_real_square_first_product) + (((((ap) * (an))) + (((an) * (ap))))))) /\ ((((((bp) * (bp))) + (((bn) * (bn)))) = ((ee_imag_square_first_product) + (((((bp) * (bn))) + (((bn) * (bp))))))) /\ (N) = ee_real_square_first_product + 3 * ee_imag_square_first_product)) -> (exists ee_real_square_second_product ee_imag_square_second_product. (((((cp) * (cp))) + (((cn) * (cn)))) = ((ee_real_square_second_product) + (((((cp) * (cn))) + (((cn) * (cp))))))) /\ ((((((dp) * (dp))) + (((dn) * (dn)))) = ((ee_imag_square_second_product) + (((((dp) * (dn))) + (((dn) * (dp))))))) /\ (M) = ee_real_square_second_product + 3 * ee_imag_square_second_product)) -> (exists ee_real_square_product ee_imag_square_product. (((((((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) * (((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))))) + (((((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) * (((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))))))) = ((ee_real_square_product) + (((((((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) * (((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))))) + (((((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) * (((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))))))))) /\ ((((((((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))) * (((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))))) + (((((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))) * (((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp)))))))))) = ((ee_imag_square_product) + (((((((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))) * (((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))))) + (((((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))) * (((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))))))))) /\ (N * M) = ee_real_square_product + 3 * ee_imag_square_product))Constructive proof overview
Generated structural guide
The actual positive weight-three norm is multiplicative under (x,y)(u,v)=(xu−3yv,xv+yu), for all arbitrary signed representatives.
The unchanged tactic script uses 15 declared prerequisites and contains 127 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_signed_square_exists Alpha theorem; checked-use authorized gaussian_signed_square_product Alpha theorem; checked-use authorized gaussian_signed_square_scaled Alpha theorem; checked-use authorized gaussian_signed_product_cross_interchange Alpha theorem; checked-use authorized EI0015 eisenstein_signed_product_scaled_right EI0017 eisenstein_weighted_square_lagrange mul_shuffle_four Alpha theorem; checked-use authorized add_mul Stable theorem; checked-use authorized mul_add Stable theorem; checked-use authorized mul_assoc Stable theorem; checked-use authorized add_assoc Stable theorem; checked-use authorized add_comm Stable theorem; checked-use authorized mul_comm Stable theorem; checked-use authorized four_square_add_swap_right_tail Alpha theorem; checked-use authorized natural_mul_swap_right_tail Alpha 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.
Named ingredients (2)
01Fix variables and assumptionsL1–10
02Fix variables and assumptionsL11–12
03Separate the logical casesL13–20
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
04Establish hrealL21–24
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian signed square exists.
- L21
have hreal : ∃ R. SignedDifferenceSquare(ap · cp + an · cn + 3 · (bp · dn + bn · dp),ap · cn + an · cp + 3 · (bp · dp + bn · dn),R)Definitions: SignedDifferenceSquare - L22
specialize gaussian_signed_square_exists ((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp)))))))) - L23
specialize gaussian_signed_square_exists ((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))) - L24
apply gaussian_signed_square_exists
05Separate the logical casesL25–25
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L25
cases hreal
06Establish himagL26–29
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian signed square exists.
- L26
have himag : ∃ I. SignedDifferenceSquare(ap · dp + an · dn + (bp · cp + bn · cn),ap · dn + an · dp + (bp · cn + bn · cp),I)Definitions: SignedDifferenceSquare - L27
specialize gaussian_signed_square_exists ((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn)))))) - L28
specialize gaussian_signed_square_exists ((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp)))))) - L29
apply gaussian_signed_square_exists
07Separate the logical casesL30–30
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L30
cases himag
08Establish hcrossL31–40
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian signed product cross interchange.
- L31
have hcross · expand full local formula (696 characters)
have hcross : (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dp))) + (((bn) * (dn))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dn))) + (((bn) * (dp)))))))) = ((((((((ap) * (dp))) + (((an) * (dn))))) * (((((bp) * (cp))) + (((bn) * (cn))))))) + (((((((ap) * (dn))) + (((an) * (dp))))) * (((((bp) * (cn))) + (((bn) * (cp))))))))) /\ (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dn))) + (((bn) * (dp))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dp))) + (((bn) * (dn)))))))) = ((((((((ap) * (dp))) + (((an) * (dn))))) * (((((bp) * (cn))) + (((bn) * (cp))))))) + (((((((ap) * (dn))) + (((an) * (dp))))) * (((((bp) * (cp))) + (((bn) * (cn))))))))) - L32
specialize gaussian_signed_product_cross_interchange ap - L33
specialize gaussian_signed_product_cross_interchange an - L34
specialize gaussian_signed_product_cross_interchange bp - L35
specialize gaussian_signed_product_cross_interchange bn - L36
specialize gaussian_signed_product_cross_interchange cp - L37
specialize gaussian_signed_product_cross_interchange cn - L38
specialize gaussian_signed_product_cross_interchange dp - L39
specialize gaussian_signed_product_cross_interchange dn - L40
apply gaussian_signed_product_cross_interchange
09Separate the logical casesL41–41
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L41
cases hcross
10Establish hscaleL42–48
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply eisenstein signed product scaled right.
- L42
have hscale · expand full local formula (748 characters)
have hscale : (((((((((ap) * (cp))) + (((an) * (cn))))) * (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((3) * (((((bp) * (dn))) + (((bn) * (dp)))))))))) = 3 * (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dp))) + (((bn) * (dn))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dn))) + (((bn) * (dp)))))))))) /\ (((((((((ap) * (cp))) + (((an) * (cn))))) * (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))))) = 3 * (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dn))) + (((bn) * (dp))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dp))) + (((bn) * (dn)))))))))) - L43
specialize eisenstein_signed_product_scaled_right ((((ap) * (cp))) + (((an) * (cn)))) - L44
specialize eisenstein_signed_product_scaled_right ((((ap) * (cn))) + (((an) * (cp)))) - L45
specialize eisenstein_signed_product_scaled_right ((((bp) * (dp))) + (((bn) * (dn)))) - L46
specialize eisenstein_signed_product_scaled_right ((((bp) * (dn))) + (((bn) * (dp)))) - L47
specialize eisenstein_signed_product_scaled_right 3 - L48
apply eisenstein_signed_product_scaled_right
11Separate the logical casesL49–49
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L49
cases hscale
12Calculate and transport equalitiesL50–51
13Establish hnormL52–61
Establish this local claim before using it. It is not an additional assumption.
- L52
have hnorm : x4 + 3 * x5 = (x * x2 + (3 * x1) * (3 * x3)) + 3 * (x * x3 + x1 * x2) - L53
specialize eisenstein_weighted_square_lagrange ((((ap) * (cp))) + (((an) * (cn)))) - L54
specialize eisenstein_weighted_square_lagrange ((((ap) * (cn))) + (((an) * (cp)))) - L55
specialize eisenstein_weighted_square_lagrange ((3) * (((((bp) * (dp))) + (((bn) * (dn)))))) - L56
specialize eisenstein_weighted_square_lagrange ((3) * (((((bp) * (dn))) + (((bn) * (dp)))))) - L57
specialize eisenstein_weighted_square_lagrange ((((ap) * (dp))) + (((an) * (dn)))) - L58
specialize eisenstein_weighted_square_lagrange ((((ap) * (dn))) + (((an) * (dp)))) - L59
specialize eisenstein_weighted_square_lagrange ((((bp) * (cp))) + (((bn) * (cn)))) - L60
specialize eisenstein_weighted_square_lagrange ((((bp) * (cn))) + (((bn) * (cp)))) - L61
specialize eisenstein_weighted_square_lagrange x * x2
14Use earlier factsL62–71
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L62
specialize eisenstein_weighted_square_lagrange (3 * x1) * (3 * x3) - L63
specialize eisenstein_weighted_square_lagrange x * x3 - L64
specialize eisenstein_weighted_square_lagrange x1 * x2 - L65
specialize eisenstein_weighted_square_lagrange x4 - L66
specialize eisenstein_weighted_square_lagrange x5 - L67
apply eisenstein_weighted_square_lagrange - L68
specialize gaussian_signed_square_product ap - L69
specialize gaussian_signed_square_product an - L70
specialize gaussian_signed_square_product cp - L71
specialize gaussian_signed_square_product cn
15Use earlier factsL72–76
16Establish hscalarL77–86
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply mul shuffle four.
- L77
have hscalar : (3 * 3) * (x1 * x3) = (3 * x1) * (3 * x3) - L78
apply mul_shuffle_four - L79
rewrite <- hscalar - L80
specialize gaussian_signed_square_scaled ((((bp) * (dp))) + (((bn) * (dn)))) - L81
specialize gaussian_signed_square_scaled ((((bp) * (dn))) + (((bn) * (dp)))) - L82
specialize gaussian_signed_square_scaled (x1 * x3) - L83
specialize gaussian_signed_square_scaled 3 - L84
apply gaussian_signed_square_scaled - L85
specialize gaussian_signed_square_product bp - L86
specialize gaussian_signed_square_product bn
17Use earlier factsL87–96
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L87
specialize gaussian_signed_square_product dp - L88
specialize gaussian_signed_square_product dn - L89
specialize gaussian_signed_square_product x1 - L90
specialize gaussian_signed_square_product x3 - L91
apply gaussian_signed_square_product - L92
exact hfirst_witness_witness_right_left - L93
exact hsecond_witness_witness_right_left - L94
specialize gaussian_signed_square_product ap - L95
specialize gaussian_signed_square_product an - L96
specialize gaussian_signed_square_product dp
18Use earlier factsL97–106
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L97
specialize gaussian_signed_square_product dn - L98
specialize gaussian_signed_square_product x - L99
specialize gaussian_signed_square_product x3 - L100
apply gaussian_signed_square_product - L101
exact hfirst_witness_witness_left - L102
exact hsecond_witness_witness_right_left - L103
specialize gaussian_signed_square_product bp - L104
specialize gaussian_signed_square_product bn - L105
specialize gaussian_signed_square_product cp - L106
specialize gaussian_signed_square_product cn
19Use earlier factsL107–115
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L107
specialize gaussian_signed_square_product x1 - L108
specialize gaussian_signed_square_product x2 - L109
apply gaussian_signed_square_product - L110
exact hfirst_witness_witness_right_left - L111
exact hsecond_witness_witness_left - L112
exact hscale_left - L113
exact hscale_right - L114
exact hreal_witness - L115
exact himag_witness
20Construct an explicit witnessL116–117
21Separate the logical casesL118–118
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L118
split
22Use earlier factsL119–119
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L119
exact hreal_witness
23Separate the logical casesL120–120
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L120
split
24Use earlier factsL121–121
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L121
exact himag_witness
25Calculate and transport equalitiesL122–126
Carry out the recorded arithmetic or equality steps; inspect the exact commands for their direction and premises.
26Use earlier factsL127–127
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L127
exact hnorm
Original exact command ledger · 127 lines
- 0001
intro ap - 0002
intro an - 0003
intro bp - 0004
intro bn - 0005
intro cp - 0006
intro cn - 0007
intro dp - 0008
intro dn - 0009
intro N - 0010
intro M - 0011
intro hfirst - 0012
intro hsecond - 0013
cases hfirst - 0014
cases hfirst_witness - 0015
cases hfirst_witness_witness - 0016
cases hfirst_witness_witness_right - 0017
cases hsecond - 0018
cases hsecond_witness - 0019
cases hsecond_witness_witness - 0020
cases hsecond_witness_witness_right - 0021
have hreal : exists R. ((((((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) * (((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))))) + (((((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) * (((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))))))) = ((R) + (((((((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) * (((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))))) + (((((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) * (((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp)))))))))))))) - 0022
specialize gaussian_signed_square_exists ((((((ap) * (cp))) + (((an) * (cn))))) + (((3) * (((((bp) * (dn))) + (((bn) * (dp)))))))) - 0023
specialize gaussian_signed_square_exists ((((((ap) * (cn))) + (((an) * (cp))))) + (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))) - 0024
apply gaussian_signed_square_exists - 0025
cases hreal - 0026
have himag : exists I. ((((((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))) * (((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))))) + (((((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))) * (((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp)))))))))) = ((I) + (((((((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn))))))) * (((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))))) + (((((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp))))))) * (((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn)))))))))))) - 0027
specialize gaussian_signed_square_exists ((((((ap) * (dp))) + (((an) * (dn))))) + (((((bp) * (cp))) + (((bn) * (cn)))))) - 0028
specialize gaussian_signed_square_exists ((((((ap) * (dn))) + (((an) * (dp))))) + (((((bp) * (cn))) + (((bn) * (cp)))))) - 0029
apply gaussian_signed_square_exists - 0030
cases himag - 0031
have hcross : (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dp))) + (((bn) * (dn))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dn))) + (((bn) * (dp)))))))) = ((((((((ap) * (dp))) + (((an) * (dn))))) * (((((bp) * (cp))) + (((bn) * (cn))))))) + (((((((ap) * (dn))) + (((an) * (dp))))) * (((((bp) * (cn))) + (((bn) * (cp))))))))) /\ (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dn))) + (((bn) * (dp))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dp))) + (((bn) * (dn)))))))) = ((((((((ap) * (dp))) + (((an) * (dn))))) * (((((bp) * (cn))) + (((bn) * (cp))))))) + (((((((ap) * (dn))) + (((an) * (dp))))) * (((((bp) * (cp))) + (((bn) * (cn))))))))) - 0032
specialize gaussian_signed_product_cross_interchange ap - 0033
specialize gaussian_signed_product_cross_interchange an - 0034
specialize gaussian_signed_product_cross_interchange bp - 0035
specialize gaussian_signed_product_cross_interchange bn - 0036
specialize gaussian_signed_product_cross_interchange cp - 0037
specialize gaussian_signed_product_cross_interchange cn - 0038
specialize gaussian_signed_product_cross_interchange dp - 0039
specialize gaussian_signed_product_cross_interchange dn - 0040
apply gaussian_signed_product_cross_interchange - 0041
cases hcross - 0042
have hscale : (((((((((ap) * (cp))) + (((an) * (cn))))) * (((3) * (((((bp) * (dp))) + (((bn) * (dn))))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((3) * (((((bp) * (dn))) + (((bn) * (dp)))))))))) = 3 * (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dp))) + (((bn) * (dn))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dn))) + (((bn) * (dp)))))))))) /\ (((((((((ap) * (cp))) + (((an) * (cn))))) * (((3) * (((((bp) * (dn))) + (((bn) * (dp))))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((3) * (((((bp) * (dp))) + (((bn) * (dn)))))))))) = 3 * (((((((((ap) * (cp))) + (((an) * (cn))))) * (((((bp) * (dn))) + (((bn) * (dp))))))) + (((((((ap) * (cn))) + (((an) * (cp))))) * (((((bp) * (dp))) + (((bn) * (dn)))))))))) - 0043
specialize eisenstein_signed_product_scaled_right ((((ap) * (cp))) + (((an) * (cn)))) - 0044
specialize eisenstein_signed_product_scaled_right ((((ap) * (cn))) + (((an) * (cp)))) - 0045
specialize eisenstein_signed_product_scaled_right ((((bp) * (dp))) + (((bn) * (dn)))) - 0046
specialize eisenstein_signed_product_scaled_right ((((bp) * (dn))) + (((bn) * (dp)))) - 0047
specialize eisenstein_signed_product_scaled_right 3 - 0048
apply eisenstein_signed_product_scaled_right - 0049
cases hscale - 0050
rewrite hcross_left at hscale_left - 0051
rewrite hcross_right at hscale_right - 0052
have hnorm : x4 + 3 * x5 = (x * x2 + (3 * x1) * (3 * x3)) + 3 * (x * x3 + x1 * x2) - 0053
specialize eisenstein_weighted_square_lagrange ((((ap) * (cp))) + (((an) * (cn)))) - 0054
specialize eisenstein_weighted_square_lagrange ((((ap) * (cn))) + (((an) * (cp)))) - 0055
specialize eisenstein_weighted_square_lagrange ((3) * (((((bp) * (dp))) + (((bn) * (dn)))))) - 0056
specialize eisenstein_weighted_square_lagrange ((3) * (((((bp) * (dn))) + (((bn) * (dp)))))) - 0057
specialize eisenstein_weighted_square_lagrange ((((ap) * (dp))) + (((an) * (dn)))) - 0058
specialize eisenstein_weighted_square_lagrange ((((ap) * (dn))) + (((an) * (dp)))) - 0059
specialize eisenstein_weighted_square_lagrange ((((bp) * (cp))) + (((bn) * (cn)))) - 0060
specialize eisenstein_weighted_square_lagrange ((((bp) * (cn))) + (((bn) * (cp)))) - 0061
specialize eisenstein_weighted_square_lagrange x * x2 - 0062
specialize eisenstein_weighted_square_lagrange (3 * x1) * (3 * x3) - 0063
specialize eisenstein_weighted_square_lagrange x * x3 - 0064
specialize eisenstein_weighted_square_lagrange x1 * x2 - 0065
specialize eisenstein_weighted_square_lagrange x4 - 0066
specialize eisenstein_weighted_square_lagrange x5 - 0067
apply eisenstein_weighted_square_lagrange - 0068
specialize gaussian_signed_square_product ap - 0069
specialize gaussian_signed_square_product an - 0070
specialize gaussian_signed_square_product cp - 0071
specialize gaussian_signed_square_product cn - 0072
specialize gaussian_signed_square_product x - 0073
specialize gaussian_signed_square_product x2 - 0074
apply gaussian_signed_square_product - 0075
exact hfirst_witness_witness_left - 0076
exact hsecond_witness_witness_left - 0077
have hscalar : (3 * 3) * (x1 * x3) = (3 * x1) * (3 * x3) - 0078
apply mul_shuffle_four - 0079
rewrite <- hscalar - 0080
specialize gaussian_signed_square_scaled ((((bp) * (dp))) + (((bn) * (dn)))) - 0081
specialize gaussian_signed_square_scaled ((((bp) * (dn))) + (((bn) * (dp)))) - 0082
specialize gaussian_signed_square_scaled (x1 * x3) - 0083
specialize gaussian_signed_square_scaled 3 - 0084
apply gaussian_signed_square_scaled - 0085
specialize gaussian_signed_square_product bp - 0086
specialize gaussian_signed_square_product bn - 0087
specialize gaussian_signed_square_product dp - 0088
specialize gaussian_signed_square_product dn - 0089
specialize gaussian_signed_square_product x1 - 0090
specialize gaussian_signed_square_product x3 - 0091
apply gaussian_signed_square_product - 0092
exact hfirst_witness_witness_right_left - 0093
exact hsecond_witness_witness_right_left - 0094
specialize gaussian_signed_square_product ap - 0095
specialize gaussian_signed_square_product an - 0096
specialize gaussian_signed_square_product dp - 0097
specialize gaussian_signed_square_product dn - 0098
specialize gaussian_signed_square_product x - 0099
specialize gaussian_signed_square_product x3 - 0100
apply gaussian_signed_square_product - 0101
exact hfirst_witness_witness_left - 0102
exact hsecond_witness_witness_right_left - 0103
specialize gaussian_signed_square_product bp - 0104
specialize gaussian_signed_square_product bn - 0105
specialize gaussian_signed_square_product cp - 0106
specialize gaussian_signed_square_product cn - 0107
specialize gaussian_signed_square_product x1 - 0108
specialize gaussian_signed_square_product x2 - 0109
apply gaussian_signed_square_product - 0110
exact hfirst_witness_witness_right_left - 0111
exact hsecond_witness_witness_left - 0112
exact hscale_left - 0113
exact hscale_right - 0114
exact hreal_witness - 0115
exact himag_witness - 0116
exists x4 - 0117
exists x5 - 0118
split - 0119
exact hreal_witness - 0120
split - 0121
exact himag_witness - 0122
rewrite hfirst_witness_witness_right_right - 0123
rewrite hsecond_witness_witness_right_right - 0124
trans (x * x2 + (3 * x1) * (3 * x3)) + 3 * (x * x3 + x1 * x2) - 0125
simp [add_mul, mul_add, mul_assoc, add_assoc, add_comm, mul_comm, four_square_add_swap_right_tail, natural_mul_swap_right_tail] - 0126
symm - 0127
exact hnorm