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 ac bc cc N M. (exists ee_norm_rp_norm_product_first ee_norm_rn_norm_product_first ee_norm_ip_norm_product_first ee_norm_in_norm_product_first. ((exists ge_representation_real_code_norm_product_firstrepresentation ge_representation_imaginary_code_norm_product_firstrepresentation. (((ac) = ((ge_representation_real_code_norm_product_firstrepresentation) + (ge_representation_imaginary_code_norm_product_firstrepresentation)) * S ((ge_representation_real_code_norm_product_firstrepresentation) + (ge_representation_imaginary_code_norm_product_firstrepresentation)) + ((ge_representation_imaginary_code_norm_product_firstrepresentation) + (ge_representation_imaginary_code_norm_product_firstrepresentation))) /\ ((exists ge_balance_positive_norm_product_firstrepresentationreal ge_balance_negative_norm_product_firstrepresentationreal. (((((ge_representation_real_code_norm_product_firstrepresentation) = 2 * (ge_balance_positive_norm_product_firstrepresentationreal) /\ (ge_balance_negative_norm_product_firstrepresentationreal) = 0) \/ exists ge_signed_half_norm_product_firstrepresentationrealdecode. (((ge_representation_real_code_norm_product_firstrepresentation) = 2 * ge_signed_half_norm_product_firstrepresentationrealdecode + 1 /\ (ge_balance_positive_norm_product_firstrepresentationreal) = 0) /\ (ge_balance_negative_norm_product_firstrepresentationreal) = S ge_signed_half_norm_product_firstrepresentationrealdecode))) /\ ((ee_norm_rp_norm_product_first) + ge_balance_negative_norm_product_firstrepresentationreal = (ee_norm_rn_norm_product_first) + ge_balance_positive_norm_product_firstrepresentationreal))) /\ (exists ge_balance_positive_norm_product_firstrepresentationimaginary ge_balance_negative_norm_product_firstrepresentationimaginary. (((((ge_representation_imaginary_code_norm_product_firstrepresentation) = 2 * (ge_balance_positive_norm_product_firstrepresentationimaginary) /\ (ge_balance_negative_norm_product_firstrepresentationimaginary) = 0) \/ exists ge_signed_half_norm_product_firstrepresentationimaginarydecode. (((ge_representation_imaginary_code_norm_product_firstrepresentation) = 2 * ge_signed_half_norm_product_firstrepresentationimaginarydecode + 1 /\ (ge_balance_positive_norm_product_firstrepresentationimaginary) = 0) /\ (ge_balance_negative_norm_product_firstrepresentationimaginary) = S ge_signed_half_norm_product_firstrepresentationimaginarydecode))) /\ ((ee_norm_ip_norm_product_first) + ge_balance_negative_norm_product_firstrepresentationimaginary = (ee_norm_in_norm_product_first) + ge_balance_positive_norm_product_firstrepresentationimaginary)))))) /\ (((((((((ee_norm_rp_norm_product_first) * (ee_norm_rp_norm_product_first))) + (((ee_norm_rn_norm_product_first) * (ee_norm_rn_norm_product_first))))) + (((((ee_norm_ip_norm_product_first) * (ee_norm_ip_norm_product_first))) + (((ee_norm_in_norm_product_first) * (ee_norm_in_norm_product_first))))))) + (((((ee_norm_rp_norm_product_first) * (ee_norm_in_norm_product_first))) + (((ee_norm_rn_norm_product_first) * (ee_norm_ip_norm_product_first)))))) = ((((((((((ee_norm_rp_norm_product_first) * (ee_norm_rn_norm_product_first))) + (((ee_norm_rn_norm_product_first) * (ee_norm_rp_norm_product_first))))) + (((((ee_norm_ip_norm_product_first) * (ee_norm_in_norm_product_first))) + (((ee_norm_in_norm_product_first) * (ee_norm_ip_norm_product_first))))))) + (((((ee_norm_rp_norm_product_first) * (ee_norm_ip_norm_product_first))) + (((ee_norm_rn_norm_product_first) * (ee_norm_in_norm_product_first))))))) + (N))))) -> (exists ee_norm_rp_norm_product_second ee_norm_rn_norm_product_second ee_norm_ip_norm_product_second ee_norm_in_norm_product_second. ((exists ge_representation_real_code_norm_product_secondrepresentation ge_representation_imaginary_code_norm_product_secondrepresentation. (((bc) = ((ge_representation_real_code_norm_product_secondrepresentation) + (ge_representation_imaginary_code_norm_product_secondrepresentation)) * S ((ge_representation_real_code_norm_product_secondrepresentation) + (ge_representation_imaginary_code_norm_product_secondrepresentation)) + ((ge_representation_imaginary_code_norm_product_secondrepresentation) + (ge_representation_imaginary_code_norm_product_secondrepresentation))) /\ ((exists ge_balance_positive_norm_product_secondrepresentationreal ge_balance_negative_norm_product_secondrepresentationreal. (((((ge_representation_real_code_norm_product_secondrepresentation) = 2 * (ge_balance_positive_norm_product_secondrepresentationreal) /\ (ge_balance_negative_norm_product_secondrepresentationreal) = 0) \/ exists ge_signed_half_norm_product_secondrepresentationrealdecode. (((ge_representation_real_code_norm_product_secondrepresentation) = 2 * ge_signed_half_norm_product_secondrepresentationrealdecode + 1 /\ (ge_balance_positive_norm_product_secondrepresentationreal) = 0) /\ (ge_balance_negative_norm_product_secondrepresentationreal) = S ge_signed_half_norm_product_secondrepresentationrealdecode))) /\ ((ee_norm_rp_norm_product_second) + ge_balance_negative_norm_product_secondrepresentationreal = (ee_norm_rn_norm_product_second) + ge_balance_positive_norm_product_secondrepresentationreal))) /\ (exists ge_balance_positive_norm_product_secondrepresentationimaginary ge_balance_negative_norm_product_secondrepresentationimaginary. (((((ge_representation_imaginary_code_norm_product_secondrepresentation) = 2 * (ge_balance_positive_norm_product_secondrepresentationimaginary) /\ (ge_balance_negative_norm_product_secondrepresentationimaginary) = 0) \/ exists ge_signed_half_norm_product_secondrepresentationimaginarydecode. (((ge_representation_imaginary_code_norm_product_secondrepresentation) = 2 * ge_signed_half_norm_product_secondrepresentationimaginarydecode + 1 /\ (ge_balance_positive_norm_product_secondrepresentationimaginary) = 0) /\ (ge_balance_negative_norm_product_secondrepresentationimaginary) = S ge_signed_half_norm_product_secondrepresentationimaginarydecode))) /\ ((ee_norm_ip_norm_product_second) + ge_balance_negative_norm_product_secondrepresentationimaginary = (ee_norm_in_norm_product_second) + ge_balance_positive_norm_product_secondrepresentationimaginary)))))) /\ (((((((((ee_norm_rp_norm_product_second) * (ee_norm_rp_norm_product_second))) + (((ee_norm_rn_norm_product_second) * (ee_norm_rn_norm_product_second))))) + (((((ee_norm_ip_norm_product_second) * (ee_norm_ip_norm_product_second))) + (((ee_norm_in_norm_product_second) * (ee_norm_in_norm_product_second))))))) + (((((ee_norm_rp_norm_product_second) * (ee_norm_in_norm_product_second))) + (((ee_norm_rn_norm_product_second) * (ee_norm_ip_norm_product_second)))))) = ((((((((((ee_norm_rp_norm_product_second) * (ee_norm_rn_norm_product_second))) + (((ee_norm_rn_norm_product_second) * (ee_norm_rp_norm_product_second))))) + (((((ee_norm_ip_norm_product_second) * (ee_norm_in_norm_product_second))) + (((ee_norm_in_norm_product_second) * (ee_norm_ip_norm_product_second))))))) + (((((ee_norm_rp_norm_product_second) * (ee_norm_ip_norm_product_second))) + (((ee_norm_rn_norm_product_second) * (ee_norm_in_norm_product_second))))))) + (M))))) -> (exists ee_first_rp_norm_product_operation ee_first_rn_norm_product_operation ee_first_ip_norm_product_operation ee_first_in_norm_product_operation ee_second_rp_norm_product_operation ee_second_rn_norm_product_operation ee_second_ip_norm_product_operation ee_second_in_norm_product_operation. ((exists ge_representation_real_code_norm_product_operationfirst ge_representation_imaginary_code_norm_product_operationfirst. (((ac) = ((ge_representation_real_code_norm_product_operationfirst) + (ge_representation_imaginary_code_norm_product_operationfirst)) * S ((ge_representation_real_code_norm_product_operationfirst) + (ge_representation_imaginary_code_norm_product_operationfirst)) + ((ge_representation_imaginary_code_norm_product_operationfirst) + (ge_representation_imaginary_code_norm_product_operationfirst))) /\ ((exists ge_balance_positive_norm_product_operationfirstreal ge_balance_negative_norm_product_operationfirstreal. (((((ge_representation_real_code_norm_product_operationfirst) = 2 * (ge_balance_positive_norm_product_operationfirstreal) /\ (ge_balance_negative_norm_product_operationfirstreal) = 0) \/ exists ge_signed_half_norm_product_operationfirstrealdecode. (((ge_representation_real_code_norm_product_operationfirst) = 2 * ge_signed_half_norm_product_operationfirstrealdecode + 1 /\ (ge_balance_positive_norm_product_operationfirstreal) = 0) /\ (ge_balance_negative_norm_product_operationfirstreal) = S ge_signed_half_norm_product_operationfirstrealdecode))) /\ ((ee_first_rp_norm_product_operation) + ge_balance_negative_norm_product_operationfirstreal = (ee_first_rn_norm_product_operation) + ge_balance_positive_norm_product_operationfirstreal))) /\ (exists ge_balance_positive_norm_product_operationfirstimaginary ge_balance_negative_norm_product_operationfirstimaginary. (((((ge_representation_imaginary_code_norm_product_operationfirst) = 2 * (ge_balance_positive_norm_product_operationfirstimaginary) /\ (ge_balance_negative_norm_product_operationfirstimaginary) = 0) \/ exists ge_signed_half_norm_product_operationfirstimaginarydecode. (((ge_representation_imaginary_code_norm_product_operationfirst) = 2 * ge_signed_half_norm_product_operationfirstimaginarydecode + 1 /\ (ge_balance_positive_norm_product_operationfirstimaginary) = 0) /\ (ge_balance_negative_norm_product_operationfirstimaginary) = S ge_signed_half_norm_product_operationfirstimaginarydecode))) /\ ((ee_first_ip_norm_product_operation) + ge_balance_negative_norm_product_operationfirstimaginary = (ee_first_in_norm_product_operation) + ge_balance_positive_norm_product_operationfirstimaginary)))))) /\ ((exists ge_representation_real_code_norm_product_operationsecond ge_representation_imaginary_code_norm_product_operationsecond. (((bc) = ((ge_representation_real_code_norm_product_operationsecond) + (ge_representation_imaginary_code_norm_product_operationsecond)) * S ((ge_representation_real_code_norm_product_operationsecond) + (ge_representation_imaginary_code_norm_product_operationsecond)) + ((ge_representation_imaginary_code_norm_product_operationsecond) + (ge_representation_imaginary_code_norm_product_operationsecond))) /\ ((exists ge_balance_positive_norm_product_operationsecondreal ge_balance_negative_norm_product_operationsecondreal. (((((ge_representation_real_code_norm_product_operationsecond) = 2 * (ge_balance_positive_norm_product_operationsecondreal) /\ (ge_balance_negative_norm_product_operationsecondreal) = 0) \/ exists ge_signed_half_norm_product_operationsecondrealdecode. (((ge_representation_real_code_norm_product_operationsecond) = 2 * ge_signed_half_norm_product_operationsecondrealdecode + 1 /\ (ge_balance_positive_norm_product_operationsecondreal) = 0) /\ (ge_balance_negative_norm_product_operationsecondreal) = S ge_signed_half_norm_product_operationsecondrealdecode))) /\ ((ee_second_rp_norm_product_operation) + ge_balance_negative_norm_product_operationsecondreal = (ee_second_rn_norm_product_operation) + ge_balance_positive_norm_product_operationsecondreal))) /\ (exists ge_balance_positive_norm_product_operationsecondimaginary ge_balance_negative_norm_product_operationsecondimaginary. (((((ge_representation_imaginary_code_norm_product_operationsecond) = 2 * (ge_balance_positive_norm_product_operationsecondimaginary) /\ (ge_balance_negative_norm_product_operationsecondimaginary) = 0) \/ exists ge_signed_half_norm_product_operationsecondimaginarydecode. (((ge_representation_imaginary_code_norm_product_operationsecond) = 2 * ge_signed_half_norm_product_operationsecondimaginarydecode + 1 /\ (ge_balance_positive_norm_product_operationsecondimaginary) = 0) /\ (ge_balance_negative_norm_product_operationsecondimaginary) = S ge_signed_half_norm_product_operationsecondimaginarydecode))) /\ ((ee_second_ip_norm_product_operation) + ge_balance_negative_norm_product_operationsecondimaginary = (ee_second_in_norm_product_operation) + ge_balance_positive_norm_product_operationsecondimaginary)))))) /\ (exists ge_representation_real_code_norm_product_operationoutput ge_representation_imaginary_code_norm_product_operationoutput. (((cc) = ((ge_representation_real_code_norm_product_operationoutput) + (ge_representation_imaginary_code_norm_product_operationoutput)) * S ((ge_representation_real_code_norm_product_operationoutput) + (ge_representation_imaginary_code_norm_product_operationoutput)) + ((ge_representation_imaginary_code_norm_product_operationoutput) + (ge_representation_imaginary_code_norm_product_operationoutput))) /\ ((exists ge_balance_positive_norm_product_operationoutputreal ge_balance_negative_norm_product_operationoutputreal. (((((ge_representation_real_code_norm_product_operationoutput) = 2 * (ge_balance_positive_norm_product_operationoutputreal) /\ (ge_balance_negative_norm_product_operationoutputreal) = 0) \/ exists ge_signed_half_norm_product_operationoutputrealdecode. (((ge_representation_real_code_norm_product_operationoutput) = 2 * ge_signed_half_norm_product_operationoutputrealdecode + 1 /\ (ge_balance_positive_norm_product_operationoutputreal) = 0) /\ (ge_balance_negative_norm_product_operationoutputreal) = S ge_signed_half_norm_product_operationoutputrealdecode))) /\ ((((((((ee_first_rp_norm_product_operation) * (ee_second_rp_norm_product_operation))) + (((ee_first_rn_norm_product_operation) * (ee_second_rn_norm_product_operation))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_in_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_ip_norm_product_operation))))))) + ge_balance_negative_norm_product_operationoutputreal = (((((((ee_first_rp_norm_product_operation) * (ee_second_rn_norm_product_operation))) + (((ee_first_rn_norm_product_operation) * (ee_second_rp_norm_product_operation))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_ip_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_in_norm_product_operation))))))) + ge_balance_positive_norm_product_operationoutputreal))) /\ (exists ge_balance_positive_norm_product_operationoutputimaginary ge_balance_negative_norm_product_operationoutputimaginary. (((((ge_representation_imaginary_code_norm_product_operationoutput) = 2 * (ge_balance_positive_norm_product_operationoutputimaginary) /\ (ge_balance_negative_norm_product_operationoutputimaginary) = 0) \/ exists ge_signed_half_norm_product_operationoutputimaginarydecode. (((ge_representation_imaginary_code_norm_product_operationoutput) = 2 * ge_signed_half_norm_product_operationoutputimaginarydecode + 1 /\ (ge_balance_positive_norm_product_operationoutputimaginary) = 0) /\ (ge_balance_negative_norm_product_operationoutputimaginary) = S ge_signed_half_norm_product_operationoutputimaginarydecode))) /\ ((((((((((ee_first_rp_norm_product_operation) * (ee_second_ip_norm_product_operation))) + (((ee_first_rn_norm_product_operation) * (ee_second_in_norm_product_operation))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_rp_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_rn_norm_product_operation))))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_in_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_ip_norm_product_operation))))))) + ge_balance_negative_norm_product_operationoutputimaginary = (((((((((ee_first_rp_norm_product_operation) * (ee_second_in_norm_product_operation))) + (((ee_first_rn_norm_product_operation) * (ee_second_ip_norm_product_operation))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_rn_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_rp_norm_product_operation))))))) + (((((ee_first_ip_norm_product_operation) * (ee_second_ip_norm_product_operation))) + (((ee_first_in_norm_product_operation) * (ee_second_in_norm_product_operation))))))) + ge_balance_positive_norm_product_operationoutputimaginary))))))))) -> (exists ee_norm_rp_norm_product_output ee_norm_rn_norm_product_output ee_norm_ip_norm_product_output ee_norm_in_norm_product_output. ((exists ge_representation_real_code_norm_product_outputrepresentation ge_representation_imaginary_code_norm_product_outputrepresentation. (((cc) = ((ge_representation_real_code_norm_product_outputrepresentation) + (ge_representation_imaginary_code_norm_product_outputrepresentation)) * S ((ge_representation_real_code_norm_product_outputrepresentation) + (ge_representation_imaginary_code_norm_product_outputrepresentation)) + ((ge_representation_imaginary_code_norm_product_outputrepresentation) + (ge_representation_imaginary_code_norm_product_outputrepresentation))) /\ ((exists ge_balance_positive_norm_product_outputrepresentationreal ge_balance_negative_norm_product_outputrepresentationreal. (((((ge_representation_real_code_norm_product_outputrepresentation) = 2 * (ge_balance_positive_norm_product_outputrepresentationreal) /\ (ge_balance_negative_norm_product_outputrepresentationreal) = 0) \/ exists ge_signed_half_norm_product_outputrepresentationrealdecode. (((ge_representation_real_code_norm_product_outputrepresentation) = 2 * ge_signed_half_norm_product_outputrepresentationrealdecode + 1 /\ (ge_balance_positive_norm_product_outputrepresentationreal) = 0) /\ (ge_balance_negative_norm_product_outputrepresentationreal) = S ge_signed_half_norm_product_outputrepresentationrealdecode))) /\ ((ee_norm_rp_norm_product_output) + ge_balance_negative_norm_product_outputrepresentationreal = (ee_norm_rn_norm_product_output) + ge_balance_positive_norm_product_outputrepresentationreal))) /\ (exists ge_balance_positive_norm_product_outputrepresentationimaginary ge_balance_negative_norm_product_outputrepresentationimaginary. (((((ge_representation_imaginary_code_norm_product_outputrepresentation) = 2 * (ge_balance_positive_norm_product_outputrepresentationimaginary) /\ (ge_balance_negative_norm_product_outputrepresentationimaginary) = 0) \/ exists ge_signed_half_norm_product_outputrepresentationimaginarydecode. (((ge_representation_imaginary_code_norm_product_outputrepresentation) = 2 * ge_signed_half_norm_product_outputrepresentationimaginarydecode + 1 /\ (ge_balance_positive_norm_product_outputrepresentationimaginary) = 0) /\ (ge_balance_negative_norm_product_outputrepresentationimaginary) = S ge_signed_half_norm_product_outputrepresentationimaginarydecode))) /\ ((ee_norm_ip_norm_product_output) + ge_balance_negative_norm_product_outputrepresentationimaginary = (ee_norm_in_norm_product_output) + ge_balance_positive_norm_product_outputrepresentationimaginary)))))) /\ (((((((((ee_norm_rp_norm_product_output) * (ee_norm_rp_norm_product_output))) + (((ee_norm_rn_norm_product_output) * (ee_norm_rn_norm_product_output))))) + (((((ee_norm_ip_norm_product_output) * (ee_norm_ip_norm_product_output))) + (((ee_norm_in_norm_product_output) * (ee_norm_in_norm_product_output))))))) + (((((ee_norm_rp_norm_product_output) * (ee_norm_in_norm_product_output))) + (((ee_norm_rn_norm_product_output) * (ee_norm_ip_norm_product_output)))))) = ((((((((((ee_norm_rp_norm_product_output) * (ee_norm_rn_norm_product_output))) + (((ee_norm_rn_norm_product_output) * (ee_norm_rp_norm_product_output))))) + (((((ee_norm_ip_norm_product_output) * (ee_norm_in_norm_product_output))) + (((ee_norm_in_norm_product_output) * (ee_norm_ip_norm_product_output))))))) + (((((ee_norm_rp_norm_product_output) * (ee_norm_ip_norm_product_output))) + (((ee_norm_rn_norm_product_output) * (ee_norm_in_norm_product_output))))))) + (N * M)))))Constructive proof overview
Generated structural guide
The actual canonical Eisenstein norm of a product is exactly the product of the two actual natural norms.
The unchanged tactic script uses 3 declared prerequisites and contains 55 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
EI0034 eisenstein_norm_of_representation EI002F eisenstein_coordinate_norm_product EI0035 eisenstein_norm_for_representationDirect 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 (3)
01Fix variables and assumptionsL1–8
02Separate the logical casesL9–18
Follow the explicit conjunction, disjunction, witness, or contradiction step recorded below.
- L9
cases hproduct - L10
cases hproduct_witness - L11
cases hproduct_witness_witness - L12
cases hproduct_witness_witness_witness - L13
cases hproduct_witness_witness_witness_witness - L14
cases hproduct_witness_witness_witness_witness_witness - L15
cases hproduct_witness_witness_witness_witness_witness_witness - L16
cases hproduct_witness_witness_witness_witness_witness_witness_witness - L17
cases hproduct_witness_witness_witness_witness_witness_witness_witness_witness - L18
cases hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right
03Use earlier factsL19–28
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L19
specialize eisenstein_norm_of_representation cc - L20
specialize eisenstein_norm_of_representation ((((((x) * (x4))) + (((x1) * (x5))))) + (((((x2) * (x7))) + (((x3) * (x6)))))) - L21
specialize eisenstein_norm_of_representation ((((((x) * (x5))) + (((x1) * (x4))))) + (((((x2) * (x6))) + (((x3) * (x7)))))) - L22
specialize eisenstein_norm_of_representation ((((((((x) * (x6))) + (((x1) * (x7))))) + (((((x2) * (x4))) + (((x3) * (x5))))))) + (((((x2) * (x7))) + (((x3) * (x6)))))) - L23
specialize eisenstein_norm_of_representation ((((((((x) * (x7))) + (((x1) * (x6))))) + (((((x2) * (x5))) + (((x3) * (x4))))))) + (((((x2) * (x6))) + (((x3) * (x7)))))) - L24
specialize eisenstein_norm_of_representation N * M - L25
apply eisenstein_norm_of_representation - L26
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right_right - L27
specialize eisenstein_coordinate_norm_product x - L28
specialize eisenstein_coordinate_norm_product x1
04Use earlier factsL29–38
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L29
specialize eisenstein_coordinate_norm_product x2 - L30
specialize eisenstein_coordinate_norm_product x3 - L31
specialize eisenstein_coordinate_norm_product x4 - L32
specialize eisenstein_coordinate_norm_product x5 - L33
specialize eisenstein_coordinate_norm_product x6 - L34
specialize eisenstein_coordinate_norm_product x7 - L35
specialize eisenstein_coordinate_norm_product N - L36
specialize eisenstein_coordinate_norm_product M - L37
apply eisenstein_coordinate_norm_product - L38
specialize eisenstein_norm_for_representation ac
05Use earlier factsL39–48
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L39
specialize eisenstein_norm_for_representation x - L40
specialize eisenstein_norm_for_representation x1 - L41
specialize eisenstein_norm_for_representation x2 - L42
specialize eisenstein_norm_for_representation x3 - L43
specialize eisenstein_norm_for_representation N - L44
apply eisenstein_norm_for_representation - L45
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_left - L46
exact hfirst - L47
specialize eisenstein_norm_for_representation bc - L48
specialize eisenstein_norm_for_representation x4
06Use earlier factsL49–55
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L49
specialize eisenstein_norm_for_representation x5 - L50
specialize eisenstein_norm_for_representation x6 - L51
specialize eisenstein_norm_for_representation x7 - L52
specialize eisenstein_norm_for_representation M - L53
apply eisenstein_norm_for_representation - L54
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right_left - L55
exact hsecond
Original exact command ledger · 55 lines
- 0001
intro ac - 0002
intro bc - 0003
intro cc - 0004
intro N - 0005
intro M - 0006
intro hfirst - 0007
intro hsecond - 0008
intro hproduct - 0009
cases hproduct - 0010
cases hproduct_witness - 0011
cases hproduct_witness_witness - 0012
cases hproduct_witness_witness_witness - 0013
cases hproduct_witness_witness_witness_witness - 0014
cases hproduct_witness_witness_witness_witness_witness - 0015
cases hproduct_witness_witness_witness_witness_witness_witness - 0016
cases hproduct_witness_witness_witness_witness_witness_witness_witness - 0017
cases hproduct_witness_witness_witness_witness_witness_witness_witness_witness - 0018
cases hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right - 0019
specialize eisenstein_norm_of_representation cc - 0020
specialize eisenstein_norm_of_representation ((((((x) * (x4))) + (((x1) * (x5))))) + (((((x2) * (x7))) + (((x3) * (x6)))))) - 0021
specialize eisenstein_norm_of_representation ((((((x) * (x5))) + (((x1) * (x4))))) + (((((x2) * (x6))) + (((x3) * (x7)))))) - 0022
specialize eisenstein_norm_of_representation ((((((((x) * (x6))) + (((x1) * (x7))))) + (((((x2) * (x4))) + (((x3) * (x5))))))) + (((((x2) * (x7))) + (((x3) * (x6)))))) - 0023
specialize eisenstein_norm_of_representation ((((((((x) * (x7))) + (((x1) * (x6))))) + (((((x2) * (x5))) + (((x3) * (x4))))))) + (((((x2) * (x6))) + (((x3) * (x7)))))) - 0024
specialize eisenstein_norm_of_representation N * M - 0025
apply eisenstein_norm_of_representation - 0026
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right_right - 0027
specialize eisenstein_coordinate_norm_product x - 0028
specialize eisenstein_coordinate_norm_product x1 - 0029
specialize eisenstein_coordinate_norm_product x2 - 0030
specialize eisenstein_coordinate_norm_product x3 - 0031
specialize eisenstein_coordinate_norm_product x4 - 0032
specialize eisenstein_coordinate_norm_product x5 - 0033
specialize eisenstein_coordinate_norm_product x6 - 0034
specialize eisenstein_coordinate_norm_product x7 - 0035
specialize eisenstein_coordinate_norm_product N - 0036
specialize eisenstein_coordinate_norm_product M - 0037
apply eisenstein_coordinate_norm_product - 0038
specialize eisenstein_norm_for_representation ac - 0039
specialize eisenstein_norm_for_representation x - 0040
specialize eisenstein_norm_for_representation x1 - 0041
specialize eisenstein_norm_for_representation x2 - 0042
specialize eisenstein_norm_for_representation x3 - 0043
specialize eisenstein_norm_for_representation N - 0044
apply eisenstein_norm_for_representation - 0045
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_left - 0046
exact hfirst - 0047
specialize eisenstein_norm_for_representation bc - 0048
specialize eisenstein_norm_for_representation x4 - 0049
specialize eisenstein_norm_for_representation x5 - 0050
specialize eisenstein_norm_for_representation x6 - 0051
specialize eisenstein_norm_for_representation x7 - 0052
specialize eisenstein_norm_for_representation M - 0053
apply eisenstein_norm_for_representation - 0054
exact hproduct_witness_witness_witness_witness_witness_witness_witness_witness_right_left - 0055
exact hsecond