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 i j k l N. (((((((((e) * (e))) + (((f) * (f))))) + (((((g) * (g))) + (((h) * (h))))))) + (((((e) * (h))) + (((f) * (g)))))) = ((((((((((e) * (f))) + (((f) * (e))))) + (((((g) * (h))) + (((h) * (g))))))) + (((((e) * (g))) + (((f) * (h))))))) + (N))) -> (((((((((((((e) + (h))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))))))) + (((((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (i)))))) = ((((((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (j))))) + (((((((((e) + (h))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))))))))) /\ (((((((((((((e) + (h))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))))))) + (((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (k)))))) = ((((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (l))))) + (((((((((((e) + (h))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))))))))Constructive proof overview
Generated structural guide
Multiplying the actual residual a-bq by conjugate(b) yields exactly the numerator error conjugate(b)*a-N(b)*q.
The unchanged tactic script uses 5 declared prerequisites and contains 73 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 EI0022 eisenstein_product_difference gaussian_difference_integer_congruence Alpha theorem; checked-use authorized gaussian_equal_reflexive Alpha theorem; checked-use authorized EI002A eisenstein_adjoint_product_is_norm_scaleDirect 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–14
03Use earlier factsL15–24
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L15
specialize gaussian_equal_transitive ((((((((e) + (h))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - L16
specialize gaussian_equal_transitive ((((((((e) + (h))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - L17
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + ((( · expand full local formula (808 characters)
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - L18
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + ((( · expand full local formula (808 characters)
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - L19
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c))))))) + (((((((((e) + (h))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - L20
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d))))))) + (((((((((e) + (h))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - L21
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a) · expand full local formula (888 characters)
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c))))))) + (((((((((((e) + (h))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - L22
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b) · expand full local formula (888 characters)
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))) + (((((((((((e) + (h))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - L23
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (j)))) - L24
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (i))))
04Use earlier factsL25–34
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L25
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (l)))) - L26
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (k)))) - L27
apply gaussian_equal_transitive - L28
specialize eisenstein_product_difference ((e) + (h)) - L29
specialize eisenstein_product_difference ((f) + (g)) - L30
specialize eisenstein_product_difference h - L31
specialize eisenstein_product_difference g - L32
specialize eisenstein_product_difference a - L33
specialize eisenstein_product_difference b - L34
specialize eisenstein_product_difference c
05Use earlier factsL35–44
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L35
specialize eisenstein_product_difference d - L36
specialize eisenstein_product_difference ((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k)))))) - L37
specialize eisenstein_product_difference ((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l)))))) - L38
specialize eisenstein_product_difference ((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))) - L39
specialize eisenstein_product_difference ((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))) - L40
apply eisenstein_product_difference - L41
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - L42
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - L43
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - L44
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))
06Use earlier factsL45–54
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L45
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - L46
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - L47
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - L48
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d)))))) - L49
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))) - L50
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))) - L51
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (k))) + (((f) * (l))))) · expand full local formula (761 characters)
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))) - L52
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (l))) + (((f) * (k))))) · expand full local formula (761 characters)
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))) - L53
specialize gaussian_difference_integer_congruence ((N) * (i)) - L54
specialize gaussian_difference_integer_congruence ((N) * (j))
07Use earlier factsL55–64
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L55
specialize gaussian_difference_integer_congruence ((N) * (k)) - L56
specialize gaussian_difference_integer_congruence ((N) * (l)) - L57
apply gaussian_difference_integer_congruence - L58
specialize gaussian_equal_reflexive ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - L59
specialize gaussian_equal_reflexive ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - L60
specialize gaussian_equal_reflexive ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - L61
specialize gaussian_equal_reflexive ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d)))))) - L62
apply gaussian_equal_reflexive - L63
specialize eisenstein_adjoint_product_is_norm_scale e - L64
specialize eisenstein_adjoint_product_is_norm_scale f
08Use earlier factsL65–73
Instantiate or apply named facts and discharge the corresponding proof obligations.
- L65
specialize eisenstein_adjoint_product_is_norm_scale g - L66
specialize eisenstein_adjoint_product_is_norm_scale h - L67
specialize eisenstein_adjoint_product_is_norm_scale i - L68
specialize eisenstein_adjoint_product_is_norm_scale j - L69
specialize eisenstein_adjoint_product_is_norm_scale k - L70
specialize eisenstein_adjoint_product_is_norm_scale l - L71
specialize eisenstein_adjoint_product_is_norm_scale N - L72
apply eisenstein_adjoint_product_is_norm_scale - L73
exact hnorm
Original exact command ledger · 73 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 i - 0010
intro j - 0011
intro k - 0012
intro l - 0013
intro N - 0014
intro hnorm - 0015
specialize gaussian_equal_transitive ((((((((e) + (h))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - 0016
specialize gaussian_equal_transitive ((((((((e) + (h))) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - 0017
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((f) + (g))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))))) + (((((h) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - 0018
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((f) + (g))) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((b) + (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((g) * (((a) + (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))))) + (((((h) * (((c) + (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((g) * (((d) + (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - 0019
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c))))))) + (((((((((e) + (h))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - 0020
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d))))))) + (((((((((e) + (h))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - 0021
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c))))))) + (((((((((((e) + (h))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))))) - 0022
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))) + (((((((((((e) + (h))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))))) - 0023
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (j)))) - 0024
specialize gaussian_equal_transitive ((((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (i)))) - 0025
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c))))))) + (((N) * (l)))) - 0026
specialize gaussian_equal_transitive ((((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d))))))) + (((N) * (k)))) - 0027
apply gaussian_equal_transitive - 0028
specialize eisenstein_product_difference ((e) + (h)) - 0029
specialize eisenstein_product_difference ((f) + (g)) - 0030
specialize eisenstein_product_difference h - 0031
specialize eisenstein_product_difference g - 0032
specialize eisenstein_product_difference a - 0033
specialize eisenstein_product_difference b - 0034
specialize eisenstein_product_difference c - 0035
specialize eisenstein_product_difference d - 0036
specialize eisenstein_product_difference ((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k)))))) - 0037
specialize eisenstein_product_difference ((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l)))))) - 0038
specialize eisenstein_product_difference ((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))) - 0039
specialize eisenstein_product_difference ((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))) - 0040
apply eisenstein_product_difference - 0041
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - 0042
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - 0043
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - 0044
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d)))))) - 0045
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - 0046
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - 0047
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - 0048
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d)))))) - 0049
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))) - 0050
specialize gaussian_difference_integer_congruence ((((((((e) + (h))) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))) - 0051
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((((f) + (g))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))))) + (((((h) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))))))) + (((((h) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k)))))))))))) - 0052
specialize gaussian_difference_integer_congruence ((((((((((e) + (h))) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((((f) + (g))) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))))) + (((((h) * (((((((e) * (j))) + (((f) * (i))))) + (((((g) * (k))) + (((h) * (l))))))))) + (((g) * (((((((e) * (i))) + (((f) * (j))))) + (((((g) * (l))) + (((h) * (k))))))))))))) + (((((h) * (((((((((e) * (k))) + (((f) * (l))))) + (((((g) * (i))) + (((h) * (j))))))) + (((((g) * (l))) + (((h) * (k))))))))) + (((g) * (((((((((e) * (l))) + (((f) * (k))))) + (((((g) * (j))) + (((h) * (i))))))) + (((((g) * (k))) + (((h) * (l)))))))))))) - 0053
specialize gaussian_difference_integer_congruence ((N) * (i)) - 0054
specialize gaussian_difference_integer_congruence ((N) * (j)) - 0055
specialize gaussian_difference_integer_congruence ((N) * (k)) - 0056
specialize gaussian_difference_integer_congruence ((N) * (l)) - 0057
apply gaussian_difference_integer_congruence - 0058
specialize gaussian_equal_reflexive ((((((((e) + (h))) * (a))) + (((((f) + (g))) * (b))))) + (((((h) * (d))) + (((g) * (c)))))) - 0059
specialize gaussian_equal_reflexive ((((((((e) + (h))) * (b))) + (((((f) + (g))) * (a))))) + (((((h) * (c))) + (((g) * (d)))))) - 0060
specialize gaussian_equal_reflexive ((((((((((e) + (h))) * (c))) + (((((f) + (g))) * (d))))) + (((((h) * (a))) + (((g) * (b))))))) + (((((h) * (d))) + (((g) * (c)))))) - 0061
specialize gaussian_equal_reflexive ((((((((((e) + (h))) * (d))) + (((((f) + (g))) * (c))))) + (((((h) * (b))) + (((g) * (a))))))) + (((((h) * (c))) + (((g) * (d)))))) - 0062
apply gaussian_equal_reflexive - 0063
specialize eisenstein_adjoint_product_is_norm_scale e - 0064
specialize eisenstein_adjoint_product_is_norm_scale f - 0065
specialize eisenstein_adjoint_product_is_norm_scale g - 0066
specialize eisenstein_adjoint_product_is_norm_scale h - 0067
specialize eisenstein_adjoint_product_is_norm_scale i - 0068
specialize eisenstein_adjoint_product_is_norm_scale j - 0069
specialize eisenstein_adjoint_product_is_norm_scale k - 0070
specialize eisenstein_adjoint_product_is_norm_scale l - 0071
specialize eisenstein_adjoint_product_is_norm_scale N - 0072
apply eisenstein_adjoint_product_is_norm_scale - 0073
exact hnorm