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 a b c d e f g h N. (((((((((a) * (a))) + (((b) * (b))))) + (((((c) * (c))) + (((d) * (d))))))) + (((((a) * (d))) + (((b) * (c)))))) = ((((((((((a) * (b))) + (((b) * (a))))) + (((((c) * (d))) + (((d) * (c))))))) + (((((a) * (c))) + (((b) * (d))))))) + (N))) -> (((((((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((N) * (f)))) = ((((N) * (e))) + (((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))))))) /\ (((((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((N) * (h)))) = ((((N) * (g))) + (((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))))))))Constructive proof overview
Generated structural guide
The Eisenstein adjugate identity conjugate(a)*(a*b)=N(a)*b follows from checked coordinate associativity and the actual conjugate product.
The unchanged tactic script uses 7 declared prerequisites and contains 97 exact native proof lines.
Alpha v34 checked-use · first admitted v28 · independently kernel and Lean verified; not Stable
Proof neighborhood
Direct dependencies
gaussian_equal_transitive Alpha theorem; checked-use authorized gaussian_equal_symmetric Alpha theorem; checked-use authorized EI0026 eisenstein_product_associate EI0023 eisenstein_product_integer_congruence EI0028 eisenstein_conjugate_product_is_norm gaussian_equal_reflexive Alpha theorem; checked-use authorized EI0029 eisenstein_natural_scalar_productDirect 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
02Establish hassociationL11–20
Establish this local claim before using it. It is not an additional assumption. The following proof commands apply gaussian equal symmetric.
- L11Definitions: EisensteinCoordinateProduct
have hassociation · expand full local formula (1,488 characters)
have hassociation : EisensteinCoordinateProduct(a + d,b + c,d,c,a · e + b · f + (c · h + d · g),a · f + b · e + (c · g + d · h),a · g + b · h + (c · e + d · f) + (c · h + d · g),a · h + b · g + (c · f + d · e) + (c · g + d · h),((a + d) · a + (b + c) · b + (d · d + c · c)) · e + ((a + d) · b + (b + c) · a + (d · c + c · d)) · f + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · h + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · g),((a + d) · a + (b + c) · b + (d · d + c · c)) · f + ((a + d) · b + (b + c) · a + (d · c + c · d)) · e + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · g + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · h),((a + d) · a + (b + c) · b + (d · d + c · c)) · g + ((a + d) · b + (b + c) · a + (d · c + c · d)) · h + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · e + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · f) + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · h + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · g),((a + d) · a + (b + c) · b + (d · d + c · c)) · h + ((a + d) · b + (b + c) · a + (d · c + c · d)) · g + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · f + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · e) + (((a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c)) · g + ((a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d)) · h)) - L12
specialize gaussian_equal_symmetric ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L13
specialize gaussian_equal_symmetric ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L14
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (847 characters)
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L15
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (847 characters)
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L16
specialize gaussian_equal_symmetric ((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - L17
specialize gaussian_equal_symmetric ((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - L18
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e · expand full local formula (747 characters)
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - L19
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f · expand full local formula (747 characters)
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - L20
apply gaussian_equal_symmetric
03Use earlier factsL21–30
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L21
specialize eisenstein_product_associate ((a) + (d)) - L22
specialize eisenstein_product_associate ((b) + (c)) - L23
specialize eisenstein_product_associate d - L24
specialize eisenstein_product_associate c - L25
specialize eisenstein_product_associate a - L26
specialize eisenstein_product_associate b - L27
specialize eisenstein_product_associate c - L28
specialize eisenstein_product_associate d - L29
specialize eisenstein_product_associate e - L30
specialize eisenstein_product_associate f
04Use earlier factsL31–33
05Establish hscalingL34–43
Establish this local claim before using it. It is not an additional assumption.
- L34
have hscaling : EisensteinCoordinateProduct((a + d) · a + (b + c) · b + (d · d + c · c),(a + d) · b + (b + c) · a + (d · c + c · d),(a + d) · c + (b + c) · d + (d · a + c · b) + (d · d + c · c),(a + d) · d + (b + c) · c + (d · b + c · a) + (d · c + c · d),e,f,g,h,N · e,N · f,N · g,N · h)Definitions: EisensteinCoordinateProduct - L35
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L36
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L37
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (848 characters)
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L38
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (848 characters)
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L39
specialize gaussian_equal_transitive ((((((N) * (e))) + (((0) * (f))))) + (((((0) * (h))) + (((0) * (g)))))) - L40
specialize gaussian_equal_transitive ((((((N) * (f))) + (((0) * (e))))) + (((((0) * (g))) + (((0) * (h)))))) - L41
specialize gaussian_equal_transitive ((((((((N) * (g))) + (((0) * (h))))) + (((((0) * (e))) + (((0) * (f))))))) + (((((0) * (h))) + (((0) * (g)))))) - L42
specialize gaussian_equal_transitive ((((((((N) * (h))) + (((0) * (g))))) + (((((0) * (f))) + (((0) * (e))))))) + (((((0) * (g))) + (((0) * (h)))))) - L43
specialize gaussian_equal_transitive ((N) * (e))
06Use earlier factsL44–53
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L44
specialize gaussian_equal_transitive ((N) * (f)) - L45
specialize gaussian_equal_transitive ((N) * (g)) - L46
specialize gaussian_equal_transitive ((N) * (h)) - L47
apply gaussian_equal_transitive - L48
specialize eisenstein_product_integer_congruence ((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c)))))) - L49
specialize eisenstein_product_integer_congruence ((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d)))))) - L50
specialize eisenstein_product_integer_congruence ((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c)))))) - L51
specialize eisenstein_product_integer_congruence ((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d)))))) - L52
specialize eisenstein_product_integer_congruence N - L53
specialize eisenstein_product_integer_congruence 0
07Use earlier factsL54–63
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L54
specialize eisenstein_product_integer_congruence 0 - L55
specialize eisenstein_product_integer_congruence 0 - L56
specialize eisenstein_product_integer_congruence e - L57
specialize eisenstein_product_integer_congruence f - L58
specialize eisenstein_product_integer_congruence g - L59
specialize eisenstein_product_integer_congruence h - L60
specialize eisenstein_product_integer_congruence e - L61
specialize eisenstein_product_integer_congruence f - L62
specialize eisenstein_product_integer_congruence g - L63
specialize eisenstein_product_integer_congruence h
08Use earlier factsL64–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L64
apply eisenstein_product_integer_congruence - L65
specialize eisenstein_conjugate_product_is_norm a - L66
specialize eisenstein_conjugate_product_is_norm b - L67
specialize eisenstein_conjugate_product_is_norm c - L68
specialize eisenstein_conjugate_product_is_norm d - L69
specialize eisenstein_conjugate_product_is_norm N - L70
apply eisenstein_conjugate_product_is_norm - L71
exact hnorm - L72
specialize gaussian_equal_reflexive e - L73
specialize gaussian_equal_reflexive f
09Use earlier factsL74–83
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L74
specialize gaussian_equal_reflexive g - L75
specialize gaussian_equal_reflexive h - L76
apply gaussian_equal_reflexive - L77
specialize eisenstein_natural_scalar_product N - L78
specialize eisenstein_natural_scalar_product e - L79
specialize eisenstein_natural_scalar_product f - L80
specialize eisenstein_natural_scalar_product g - L81
specialize eisenstein_natural_scalar_product h - L82
apply eisenstein_natural_scalar_product - L83
specialize gaussian_equal_transitive ((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))))
10Use earlier factsL84–93
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L84
specialize gaussian_equal_transitive ((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - L85
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * ( · expand full local formula (748 characters)
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - L86
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * ( · expand full local formula (748 characters)
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - L87
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L88
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L89
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (848 characters)
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - L90
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * · expand full local formula (848 characters)
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - L91
specialize gaussian_equal_transitive ((N) * (e)) - L92
specialize gaussian_equal_transitive ((N) * (f)) - L93
specialize gaussian_equal_transitive ((N) * (g))
Original exact command ledger · 97 lines
- 0001
intro a - 0002
intro b - 0003
intro c - 0004
intro d - 0005
intro e - 0006
intro f - 0007
intro g - 0008
intro h - 0009
intro N - 0010
intro hnorm - 0011
have hassociation : ((((((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))))) = ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))))) + (((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))))))) /\ (((((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))))) = ((((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))))) + (((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))))))) - 0012
specialize gaussian_equal_symmetric ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0013
specialize gaussian_equal_symmetric ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0014
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0015
specialize gaussian_equal_symmetric ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0016
specialize gaussian_equal_symmetric ((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - 0017
specialize gaussian_equal_symmetric ((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - 0018
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - 0019
specialize gaussian_equal_symmetric ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - 0020
apply gaussian_equal_symmetric - 0021
specialize eisenstein_product_associate ((a) + (d)) - 0022
specialize eisenstein_product_associate ((b) + (c)) - 0023
specialize eisenstein_product_associate d - 0024
specialize eisenstein_product_associate c - 0025
specialize eisenstein_product_associate a - 0026
specialize eisenstein_product_associate b - 0027
specialize eisenstein_product_associate c - 0028
specialize eisenstein_product_associate d - 0029
specialize eisenstein_product_associate e - 0030
specialize eisenstein_product_associate f - 0031
specialize eisenstein_product_associate g - 0032
specialize eisenstein_product_associate h - 0033
apply eisenstein_product_associate - 0034
have hscaling : ((((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))))) + (((N) * (f)))) = ((((N) * (e))) + (((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))))))) /\ (((((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))))) + (((N) * (h)))) = ((((N) * (g))) + (((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))))))) - 0035
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0036
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0037
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0038
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0039
specialize gaussian_equal_transitive ((((((N) * (e))) + (((0) * (f))))) + (((((0) * (h))) + (((0) * (g)))))) - 0040
specialize gaussian_equal_transitive ((((((N) * (f))) + (((0) * (e))))) + (((((0) * (g))) + (((0) * (h)))))) - 0041
specialize gaussian_equal_transitive ((((((((N) * (g))) + (((0) * (h))))) + (((((0) * (e))) + (((0) * (f))))))) + (((((0) * (h))) + (((0) * (g)))))) - 0042
specialize gaussian_equal_transitive ((((((((N) * (h))) + (((0) * (g))))) + (((((0) * (f))) + (((0) * (e))))))) + (((((0) * (g))) + (((0) * (h)))))) - 0043
specialize gaussian_equal_transitive ((N) * (e)) - 0044
specialize gaussian_equal_transitive ((N) * (f)) - 0045
specialize gaussian_equal_transitive ((N) * (g)) - 0046
specialize gaussian_equal_transitive ((N) * (h)) - 0047
apply gaussian_equal_transitive - 0048
specialize eisenstein_product_integer_congruence ((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c)))))) - 0049
specialize eisenstein_product_integer_congruence ((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d)))))) - 0050
specialize eisenstein_product_integer_congruence ((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c)))))) - 0051
specialize eisenstein_product_integer_congruence ((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d)))))) - 0052
specialize eisenstein_product_integer_congruence N - 0053
specialize eisenstein_product_integer_congruence 0 - 0054
specialize eisenstein_product_integer_congruence 0 - 0055
specialize eisenstein_product_integer_congruence 0 - 0056
specialize eisenstein_product_integer_congruence e - 0057
specialize eisenstein_product_integer_congruence f - 0058
specialize eisenstein_product_integer_congruence g - 0059
specialize eisenstein_product_integer_congruence h - 0060
specialize eisenstein_product_integer_congruence e - 0061
specialize eisenstein_product_integer_congruence f - 0062
specialize eisenstein_product_integer_congruence g - 0063
specialize eisenstein_product_integer_congruence h - 0064
apply eisenstein_product_integer_congruence - 0065
specialize eisenstein_conjugate_product_is_norm a - 0066
specialize eisenstein_conjugate_product_is_norm b - 0067
specialize eisenstein_conjugate_product_is_norm c - 0068
specialize eisenstein_conjugate_product_is_norm d - 0069
specialize eisenstein_conjugate_product_is_norm N - 0070
apply eisenstein_conjugate_product_is_norm - 0071
exact hnorm - 0072
specialize gaussian_equal_reflexive e - 0073
specialize gaussian_equal_reflexive f - 0074
specialize gaussian_equal_reflexive g - 0075
specialize gaussian_equal_reflexive h - 0076
apply gaussian_equal_reflexive - 0077
specialize eisenstein_natural_scalar_product N - 0078
specialize eisenstein_natural_scalar_product e - 0079
specialize eisenstein_natural_scalar_product f - 0080
specialize eisenstein_natural_scalar_product g - 0081
specialize eisenstein_natural_scalar_product h - 0082
apply eisenstein_natural_scalar_product - 0083
specialize gaussian_equal_transitive ((((((((a) + (d))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - 0084
specialize gaussian_equal_transitive ((((((((a) + (d))) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - 0085
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((((b) + (c))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))))) + (((((d) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))))))) + (((((d) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g)))))))))))) - 0086
specialize gaussian_equal_transitive ((((((((((a) + (d))) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((((b) + (c))) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))))) + (((((d) * (((((((a) * (f))) + (((b) * (e))))) + (((((c) * (g))) + (((d) * (h))))))))) + (((c) * (((((((a) * (e))) + (((b) * (f))))) + (((((c) * (h))) + (((d) * (g))))))))))))) + (((((d) * (((((((((a) * (g))) + (((b) * (h))))) + (((((c) * (e))) + (((d) * (f))))))) + (((((c) * (h))) + (((d) * (g))))))))) + (((c) * (((((((((a) * (h))) + (((b) * (g))))) + (((((c) * (f))) + (((d) * (e))))))) + (((((c) * (g))) + (((d) * (h)))))))))))) - 0087
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0088
specialize gaussian_equal_transitive ((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0089
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (h))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (e))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (f))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (g)))))) - 0090
specialize gaussian_equal_transitive ((((((((((((((((a) + (d))) * (a))) + (((((b) + (c))) * (b))))) + (((((d) * (d))) + (((c) * (c))))))) * (h))) + (((((((((((a) + (d))) * (b))) + (((((b) + (c))) * (a))))) + (((((d) * (c))) + (((c) * (d))))))) * (g))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (f))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (e))))))) + (((((((((((((((a) + (d))) * (c))) + (((((b) + (c))) * (d))))) + (((((d) * (a))) + (((c) * (b))))))) + (((((d) * (d))) + (((c) * (c))))))) * (g))) + (((((((((((((a) + (d))) * (d))) + (((((b) + (c))) * (c))))) + (((((d) * (b))) + (((c) * (a))))))) + (((((d) * (c))) + (((c) * (d))))))) * (h)))))) - 0091
specialize gaussian_equal_transitive ((N) * (e)) - 0092
specialize gaussian_equal_transitive ((N) * (f)) - 0093
specialize gaussian_equal_transitive ((N) * (g)) - 0094
specialize gaussian_equal_transitive ((N) * (h)) - 0095
apply gaussian_equal_transitive - 0096
exact hassociation - 0097
exact hscaling