% TIMEFORMAT='%3R'; { time (exec 2>&1; /home/martin/bin/satallax -E /home/martin/.isabelle/contrib/e-2.5-1/x86_64-linux/eprover -p tstp -t 5 /home/martin/judgement-day/tptp-thf/tptp/FFT/prob_408__3226530_1 ) ; }
% This file was generated by Isabelle (most likely Sledgehammer)
% 2020-12-16 14:11:00.719

% Could-be-implicit typings (3)
thf(ty_n_t__Complex__Ocomplex, type,
    complex : $tType).
thf(ty_n_t__Nat__Onat, type,
    nat : $tType).
thf(ty_n_t__Int__Oint, type,
    int : $tType).

% Explicit typings (26)
thf(sy_c_Complex_Ocnj, type,
    cnj : complex > complex).
thf(sy_c_Euclidean__Division_Oeuclidean__semiring__class_Oeuclidean__size_001t__Int__Oint, type,
    euclid1863447361ze_int : int > nat).
thf(sy_c_Euclidean__Division_Oeuclidean__semiring__class_Oeuclidean__size_001t__Nat__Onat, type,
    euclid1226173669ze_nat : nat > nat).
thf(sy_c_Euclidean__Division_Ounique__euclidean__semiring__class_Odivision__segment_001t__Int__Oint, type,
    euclid1931034839nt_int : int > int).
thf(sy_c_Euclidean__Division_Ounique__euclidean__semiring__class_Odivision__segment_001t__Nat__Onat, type,
    euclid1293761147nt_nat : nat > nat).
thf(sy_c_FFT__Mirabelle__ulikgskiun_ODFT, type,
    fFT_Mirabelle_DFT : nat > (nat > complex) > nat > complex).
thf(sy_c_FFT__Mirabelle__ulikgskiun_OIDFT, type,
    fFT_Mirabelle_IDFT : nat > (nat > complex) > nat > complex).
thf(sy_c_Fields_Oinverse__class_Oinverse_001t__Complex__Ocomplex, type,
    invers502456322omplex : complex > complex).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Complex__Ocomplex, type,
    times_times_complex : complex > complex > complex).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Int__Oint, type,
    times_times_int : int > int > int).
thf(sy_c_Groups_Otimes__class_Otimes_001t__Nat__Onat, type,
    times_times_nat : nat > nat > nat).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Complex__Ocomplex, type,
    zero_zero_complex : complex).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Int__Oint, type,
    zero_zero_int : int).
thf(sy_c_Groups_Ozero__class_Ozero_001t__Nat__Onat, type,
    zero_zero_nat : nat).
thf(sy_c_If_001t__Nat__Onat, type,
    if_nat : $o > nat > nat > nat).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Complex__Ocomplex, type,
    semiri356525583omplex : nat > complex).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Int__Oint, type,
    semiri2019852685at_int : nat > int).
thf(sy_c_Nat_Osemiring__1__class_Oof__nat_001t__Nat__Onat, type,
    semiri1382578993at_nat : nat > nat).
thf(sy_c_Orderings_Oord__class_Oless_001t__Int__Oint, type,
    ord_less_int : int > int > $o).
thf(sy_c_Orderings_Oord__class_Oless_001t__Nat__Onat, type,
    ord_less_nat : nat > nat > $o).
thf(sy_c_Rings_Odivide__class_Odivide_001t__Complex__Ocomplex, type,
    divide1210191872omplex : complex > complex > complex).
thf(sy_c_Rings_Odivide__class_Odivide_001t__Int__Oint, type,
    divide_divide_int : int > int > int).
thf(sy_c_Rings_Odivide__class_Odivide_001t__Nat__Onat, type,
    divide_divide_nat : nat > nat > nat).
thf(sy_v_a, type,
    a : nat > complex).
thf(sy_v_i, type,
    i : nat).
thf(sy_v_n, type,
    n : nat).

% Relevant facts (164)
thf(fact_0_i__less, axiom,
    ((ord_less_nat @ i @ n))). % i_less
thf(fact_1_of__nat__mult, axiom,
    ((![M : nat, N : nat]: ((semiri1382578993at_nat @ (times_times_nat @ M @ N)) = (times_times_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)))))). % of_nat_mult
thf(fact_2_of__nat__mult, axiom,
    ((![M : nat, N : nat]: ((semiri356525583omplex @ (times_times_nat @ M @ N)) = (times_times_complex @ (semiri356525583omplex @ M) @ (semiri356525583omplex @ N)))))). % of_nat_mult
thf(fact_3_of__nat__mult, axiom,
    ((![M : nat, N : nat]: ((semiri2019852685at_int @ (times_times_nat @ M @ N)) = (times_times_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)))))). % of_nat_mult
thf(fact_4_of__nat__eq__iff, axiom,
    ((![M : nat, N : nat]: (((semiri1382578993at_nat @ M) = (semiri1382578993at_nat @ N)) = (M = N))))). % of_nat_eq_iff
thf(fact_5_of__nat__eq__iff, axiom,
    ((![M : nat, N : nat]: (((semiri356525583omplex @ M) = (semiri356525583omplex @ N)) = (M = N))))). % of_nat_eq_iff
thf(fact_6_of__nat__eq__iff, axiom,
    ((![M : nat, N : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N)) = (M = N))))). % of_nat_eq_iff
thf(fact_7_mult__of__nat__commute, axiom,
    ((![X : nat, Y : nat]: ((times_times_nat @ (semiri1382578993at_nat @ X) @ Y) = (times_times_nat @ Y @ (semiri1382578993at_nat @ X)))))). % mult_of_nat_commute
thf(fact_8_mult__of__nat__commute, axiom,
    ((![X : nat, Y : complex]: ((times_times_complex @ (semiri356525583omplex @ X) @ Y) = (times_times_complex @ Y @ (semiri356525583omplex @ X)))))). % mult_of_nat_commute
thf(fact_9_mult__of__nat__commute, axiom,
    ((![X : nat, Y : int]: ((times_times_int @ (semiri2019852685at_int @ X) @ Y) = (times_times_int @ Y @ (semiri2019852685at_int @ X)))))). % mult_of_nat_commute
thf(fact_10_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : complex, B : complex, C : complex]: ((times_times_complex @ (times_times_complex @ A @ B) @ C) = (times_times_complex @ A @ (times_times_complex @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_11_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_12_ab__semigroup__mult__class_Omult__ac_I1_J, axiom,
    ((![A : int, B : int, C : int]: ((times_times_int @ (times_times_int @ A @ B) @ C) = (times_times_int @ A @ (times_times_int @ B @ C)))))). % ab_semigroup_mult_class.mult_ac(1)
thf(fact_13_mult_Oassoc, axiom,
    ((![A : complex, B : complex, C : complex]: ((times_times_complex @ (times_times_complex @ A @ B) @ C) = (times_times_complex @ A @ (times_times_complex @ B @ C)))))). % mult.assoc
thf(fact_14_mult_Oassoc, axiom,
    ((![A : nat, B : nat, C : nat]: ((times_times_nat @ (times_times_nat @ A @ B) @ C) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.assoc
thf(fact_15_mult_Oassoc, axiom,
    ((![A : int, B : int, C : int]: ((times_times_int @ (times_times_int @ A @ B) @ C) = (times_times_int @ A @ (times_times_int @ B @ C)))))). % mult.assoc
thf(fact_16_mult_Ocommute, axiom,
    ((times_times_complex = (^[A2 : complex]: (^[B2 : complex]: (times_times_complex @ B2 @ A2)))))). % mult.commute
thf(fact_17_mult_Ocommute, axiom,
    ((times_times_nat = (^[A2 : nat]: (^[B2 : nat]: (times_times_nat @ B2 @ A2)))))). % mult.commute
thf(fact_18_mult_Ocommute, axiom,
    ((times_times_int = (^[A2 : int]: (^[B2 : int]: (times_times_int @ B2 @ A2)))))). % mult.commute
thf(fact_19_mult_Oleft__commute, axiom,
    ((![B : complex, A : complex, C : complex]: ((times_times_complex @ B @ (times_times_complex @ A @ C)) = (times_times_complex @ A @ (times_times_complex @ B @ C)))))). % mult.left_commute
thf(fact_20_mult_Oleft__commute, axiom,
    ((![B : nat, A : nat, C : nat]: ((times_times_nat @ B @ (times_times_nat @ A @ C)) = (times_times_nat @ A @ (times_times_nat @ B @ C)))))). % mult.left_commute
thf(fact_21_mult_Oleft__commute, axiom,
    ((![B : int, A : int, C : int]: ((times_times_int @ B @ (times_times_int @ A @ C)) = (times_times_int @ A @ (times_times_int @ B @ C)))))). % mult.left_commute
thf(fact_22_div__mult2__eq_H, axiom,
    ((![A : nat, M : nat, N : nat]: ((divide_divide_nat @ A @ (times_times_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N))) = (divide_divide_nat @ (divide_divide_nat @ A @ (semiri1382578993at_nat @ M)) @ (semiri1382578993at_nat @ N)))))). % div_mult2_eq'
thf(fact_23_div__mult2__eq_H, axiom,
    ((![A : int, M : nat, N : nat]: ((divide_divide_int @ A @ (times_times_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N))) = (divide_divide_int @ (divide_divide_int @ A @ (semiri2019852685at_int @ M)) @ (semiri2019852685at_int @ N)))))). % div_mult2_eq'
thf(fact_24_mult__inverse__of__nat__commute, axiom,
    ((![Xa : nat, X : complex]: ((times_times_complex @ (invers502456322omplex @ (semiri356525583omplex @ Xa)) @ X) = (times_times_complex @ X @ (invers502456322omplex @ (semiri356525583omplex @ Xa))))))). % mult_inverse_of_nat_commute
thf(fact_25_complex__cnj__of__nat, axiom,
    ((![N : nat]: ((cnj @ (semiri356525583omplex @ N)) = (semiri356525583omplex @ N))))). % complex_cnj_of_nat
thf(fact_26_division__segment__euclidean__size, axiom,
    ((![A : int]: ((times_times_int @ (euclid1931034839nt_int @ A) @ (semiri2019852685at_int @ (euclid1863447361ze_int @ A))) = A)))). % division_segment_euclidean_size
thf(fact_27_division__segment__euclidean__size, axiom,
    ((![A : nat]: ((times_times_nat @ (euclid1293761147nt_nat @ A) @ (semiri1382578993at_nat @ (euclid1226173669ze_nat @ A))) = A)))). % division_segment_euclidean_size
thf(fact_28_inverse__eq__iff__eq, axiom,
    ((![A : complex, B : complex]: (((invers502456322omplex @ A) = (invers502456322omplex @ B)) = (A = B))))). % inverse_eq_iff_eq
thf(fact_29_inverse__inverse__eq, axiom,
    ((![A : complex]: ((invers502456322omplex @ (invers502456322omplex @ A)) = A)))). % inverse_inverse_eq
thf(fact_30_complex__cnj__cnj, axiom,
    ((![Z : complex]: ((cnj @ (cnj @ Z)) = Z)))). % complex_cnj_cnj
thf(fact_31_complex__cnj__divide, axiom,
    ((![X : complex, Y : complex]: ((cnj @ (divide1210191872omplex @ X @ Y)) = (divide1210191872omplex @ (cnj @ X) @ (cnj @ Y)))))). % complex_cnj_divide
thf(fact_32_complex__cnj__inverse, axiom,
    ((![X : complex]: ((cnj @ (invers502456322omplex @ X)) = (invers502456322omplex @ (cnj @ X)))))). % complex_cnj_inverse
thf(fact_33_complex__cnj__cancel__iff, axiom,
    ((![X : complex, Y : complex]: (((cnj @ X) = (cnj @ Y)) = (X = Y))))). % complex_cnj_cancel_iff
thf(fact_34_times__divide__eq__right, axiom,
    ((![A : complex, B : complex, C : complex]: ((times_times_complex @ A @ (divide1210191872omplex @ B @ C)) = (divide1210191872omplex @ (times_times_complex @ A @ B) @ C))))). % times_divide_eq_right
thf(fact_35_times__divide__eq__left, axiom,
    ((![B : complex, C : complex, A : complex]: ((times_times_complex @ (divide1210191872omplex @ B @ C) @ A) = (divide1210191872omplex @ (times_times_complex @ B @ A) @ C))))). % times_divide_eq_left
thf(fact_36_inverse__mult__distrib, axiom,
    ((![A : complex, B : complex]: ((invers502456322omplex @ (times_times_complex @ A @ B)) = (times_times_complex @ (invers502456322omplex @ A) @ (invers502456322omplex @ B)))))). % inverse_mult_distrib
thf(fact_37_inverse__divide, axiom,
    ((![A : complex, B : complex]: ((invers502456322omplex @ (divide1210191872omplex @ A @ B)) = (divide1210191872omplex @ B @ A))))). % inverse_divide
thf(fact_38_euclidean__size__of__nat, axiom,
    ((![N : nat]: ((euclid1863447361ze_int @ (semiri2019852685at_int @ N)) = N)))). % euclidean_size_of_nat
thf(fact_39_euclidean__size__of__nat, axiom,
    ((![N : nat]: ((euclid1226173669ze_nat @ (semiri1382578993at_nat @ N)) = N)))). % euclidean_size_of_nat
thf(fact_40_complex__cnj__mult, axiom,
    ((![X : complex, Y : complex]: ((cnj @ (times_times_complex @ X @ Y)) = (times_times_complex @ (cnj @ X) @ (cnj @ Y)))))). % complex_cnj_mult
thf(fact_41_of__nat__less__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)) = (ord_less_nat @ M @ N))))). % of_nat_less_iff
thf(fact_42_of__nat__less__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)) = (ord_less_nat @ M @ N))))). % of_nat_less_iff
thf(fact_43_nat__neq__iff, axiom,
    ((![M : nat, N : nat]: ((~ ((M = N))) = (((ord_less_nat @ M @ N)) | ((ord_less_nat @ N @ M))))))). % nat_neq_iff
thf(fact_44_less__not__refl, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_not_refl
thf(fact_45_less__not__refl2, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ N @ M) => (~ ((M = N))))))). % less_not_refl2
thf(fact_46_less__not__refl3, axiom,
    ((![S : nat, T : nat]: ((ord_less_nat @ S @ T) => (~ ((S = T))))))). % less_not_refl3
thf(fact_47_less__irrefl__nat, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ N)))))). % less_irrefl_nat
thf(fact_48_nat__less__induct, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((![M2 : nat]: ((ord_less_nat @ M2 @ N2) => (P @ M2))) => (P @ N2))) => (P @ N))))). % nat_less_induct
thf(fact_49_infinite__descent, axiom,
    ((![P : nat > $o, N : nat]: ((![N2 : nat]: ((~ ((P @ N2))) => (?[M2 : nat]: ((ord_less_nat @ M2 @ N2) & (~ ((P @ M2))))))) => (P @ N))))). % infinite_descent
thf(fact_50_linorder__neqE__nat, axiom,
    ((![X : nat, Y : nat]: ((~ ((X = Y))) => ((~ ((ord_less_nat @ X @ Y))) => (ord_less_nat @ Y @ X)))))). % linorder_neqE_nat
thf(fact_51_divide__complex__def, axiom,
    ((divide1210191872omplex = (^[X2 : complex]: (^[Y2 : complex]: (times_times_complex @ X2 @ (invers502456322omplex @ Y2))))))). % divide_complex_def
thf(fact_52_div__mult2__eq, axiom,
    ((![M : nat, N : nat, Q : nat]: ((divide_divide_nat @ M @ (times_times_nat @ N @ Q)) = (divide_divide_nat @ (divide_divide_nat @ M @ N) @ Q))))). % div_mult2_eq
thf(fact_53_field__class_Ofield__divide__inverse, axiom,
    ((divide1210191872omplex = (^[A2 : complex]: (^[B2 : complex]: (times_times_complex @ A2 @ (invers502456322omplex @ B2))))))). % field_class.field_divide_inverse
thf(fact_54_less__mult__imp__div__less, axiom,
    ((![M : nat, I : nat, N : nat]: ((ord_less_nat @ M @ (times_times_nat @ I @ N)) => (ord_less_nat @ (divide_divide_nat @ M @ N) @ I))))). % less_mult_imp_div_less
thf(fact_55_divide__inverse, axiom,
    ((divide1210191872omplex = (^[A2 : complex]: (^[B2 : complex]: (times_times_complex @ A2 @ (invers502456322omplex @ B2))))))). % divide_inverse
thf(fact_56_divide__inverse__commute, axiom,
    ((divide1210191872omplex = (^[A2 : complex]: (^[B2 : complex]: (times_times_complex @ (invers502456322omplex @ B2) @ A2)))))). % divide_inverse_commute
thf(fact_57_inverse__eq__imp__eq, axiom,
    ((![A : complex, B : complex]: (((invers502456322omplex @ A) = (invers502456322omplex @ B)) => (A = B))))). % inverse_eq_imp_eq
thf(fact_58_less__imp__of__nat__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)))))). % less_imp_of_nat_less
thf(fact_59_less__imp__of__nat__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)))))). % less_imp_of_nat_less
thf(fact_60_of__nat__less__imp__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)) => (ord_less_nat @ M @ N))))). % of_nat_less_imp_less
thf(fact_61_of__nat__less__imp__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)) => (ord_less_nat @ M @ N))))). % of_nat_less_imp_less
thf(fact_62_unique__euclidean__semiring__with__nat__class_Oof__nat__div, axiom,
    ((![M : nat, N : nat]: ((semiri2019852685at_int @ (divide_divide_nat @ M @ N)) = (divide_divide_int @ (semiri2019852685at_int @ M) @ (semiri2019852685at_int @ N)))))). % unique_euclidean_semiring_with_nat_class.of_nat_div
thf(fact_63_unique__euclidean__semiring__with__nat__class_Oof__nat__div, axiom,
    ((![M : nat, N : nat]: ((semiri1382578993at_nat @ (divide_divide_nat @ M @ N)) = (divide_divide_nat @ (semiri1382578993at_nat @ M) @ (semiri1382578993at_nat @ N)))))). % unique_euclidean_semiring_with_nat_class.of_nat_div
thf(fact_64_of__nat__euclidean__size, axiom,
    ((![A : int]: ((semiri2019852685at_int @ (euclid1863447361ze_int @ A)) = (divide_divide_int @ A @ (euclid1931034839nt_int @ A)))))). % of_nat_euclidean_size
thf(fact_65_of__nat__euclidean__size, axiom,
    ((![A : nat]: ((semiri1382578993at_nat @ (euclid1226173669ze_nat @ A)) = (divide_divide_nat @ A @ (euclid1293761147nt_nat @ A)))))). % of_nat_euclidean_size
thf(fact_66_mult__commute__imp__mult__inverse__commute, axiom,
    ((![Y : complex, X : complex]: (((times_times_complex @ Y @ X) = (times_times_complex @ X @ Y)) => ((times_times_complex @ (invers502456322omplex @ Y) @ X) = (times_times_complex @ X @ (invers502456322omplex @ Y))))))). % mult_commute_imp_mult_inverse_commute
thf(fact_67_divide__divide__eq__left_H, axiom,
    ((![A : complex, B : complex, C : complex]: ((divide1210191872omplex @ (divide1210191872omplex @ A @ B) @ C) = (divide1210191872omplex @ A @ (times_times_complex @ C @ B)))))). % divide_divide_eq_left'
thf(fact_68_divide__divide__times__eq, axiom,
    ((![X : complex, Y : complex, Z : complex, W : complex]: ((divide1210191872omplex @ (divide1210191872omplex @ X @ Y) @ (divide1210191872omplex @ Z @ W)) = (divide1210191872omplex @ (times_times_complex @ X @ W) @ (times_times_complex @ Y @ Z)))))). % divide_divide_times_eq
thf(fact_69_divide__divide__eq__right, axiom,
    ((![A : complex, B : complex, C : complex]: ((divide1210191872omplex @ A @ (divide1210191872omplex @ B @ C)) = (divide1210191872omplex @ (times_times_complex @ A @ C) @ B))))). % divide_divide_eq_right
thf(fact_70_times__divide__times__eq, axiom,
    ((![X : complex, Y : complex, Z : complex, W : complex]: ((times_times_complex @ (divide1210191872omplex @ X @ Y) @ (divide1210191872omplex @ Z @ W)) = (divide1210191872omplex @ (times_times_complex @ X @ Z) @ (times_times_complex @ Y @ W)))))). % times_divide_times_eq
thf(fact_71_divide__divide__eq__left, axiom,
    ((![A : complex, B : complex, C : complex]: ((divide1210191872omplex @ (divide1210191872omplex @ A @ B) @ C) = (divide1210191872omplex @ A @ (times_times_complex @ B @ C)))))). % divide_divide_eq_left
thf(fact_72_euclidean__size__mult, axiom,
    ((![A : nat, B : nat]: ((euclid1226173669ze_nat @ (times_times_nat @ A @ B)) = (times_times_nat @ (euclid1226173669ze_nat @ A) @ (euclid1226173669ze_nat @ B)))))). % euclidean_size_mult
thf(fact_73_euclidean__size__mult, axiom,
    ((![A : int, B : int]: ((euclid1863447361ze_int @ (times_times_int @ A @ B)) = (times_times_nat @ (euclid1863447361ze_int @ A) @ (euclid1863447361ze_int @ B)))))). % euclidean_size_mult
thf(fact_74_int__ops_I7_J, axiom,
    ((![A : nat, B : nat]: ((semiri2019852685at_int @ (times_times_nat @ A @ B)) = (times_times_int @ (semiri2019852685at_int @ A) @ (semiri2019852685at_int @ B)))))). % int_ops(7)
thf(fact_75_unique__euclidean__semiring__class_Odiv__eq__0__iff, axiom,
    ((![A : nat, B : nat]: (((euclid1293761147nt_nat @ A) = (euclid1293761147nt_nat @ B)) => (((divide_divide_nat @ A @ B) = zero_zero_nat) = (((ord_less_nat @ (euclid1226173669ze_nat @ A) @ (euclid1226173669ze_nat @ B))) | ((B = zero_zero_nat)))))))). % unique_euclidean_semiring_class.div_eq_0_iff
thf(fact_76_unique__euclidean__semiring__class_Odiv__eq__0__iff, axiom,
    ((![A : int, B : int]: (((euclid1931034839nt_int @ A) = (euclid1931034839nt_int @ B)) => (((divide_divide_int @ A @ B) = zero_zero_int) = (((ord_less_nat @ (euclid1863447361ze_int @ A) @ (euclid1863447361ze_int @ B))) | ((B = zero_zero_int)))))))). % unique_euclidean_semiring_class.div_eq_0_iff
thf(fact_77_nat__int__comparison_I1_J, axiom,
    (((^[Y3 : nat]: (^[Z2 : nat]: (Y3 = Z2))) = (^[A2 : nat]: (^[B2 : nat]: ((semiri2019852685at_int @ A2) = (semiri2019852685at_int @ B2))))))). % nat_int_comparison(1)
thf(fact_78_int__if, axiom,
    ((![P : $o, A : nat, B : nat]: ((P => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ A))) & ((~ (P)) => ((semiri2019852685at_int @ (if_nat @ P @ A @ B)) = (semiri2019852685at_int @ B))))))). % int_if
thf(fact_79_int__int__eq, axiom,
    ((![M : nat, N : nat]: (((semiri2019852685at_int @ M) = (semiri2019852685at_int @ N)) = (M = N))))). % int_int_eq
thf(fact_80_zdiv__int, axiom,
    ((![A : nat, B : nat]: ((semiri2019852685at_int @ (divide_divide_nat @ A @ B)) = (divide_divide_int @ (semiri2019852685at_int @ A) @ (semiri2019852685at_int @ B)))))). % zdiv_int
thf(fact_81_bot__nat__0_Onot__eq__extremum, axiom,
    ((![A : nat]: ((~ ((A = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ A))))). % bot_nat_0.not_eq_extremum
thf(fact_82_less__nat__zero__code, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_nat_zero_code
thf(fact_83_neq0__conv, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) = (ord_less_nat @ zero_zero_nat @ N))))). % neq0_conv
thf(fact_84_mult__cancel2, axiom,
    ((![M : nat, K : nat, N : nat]: (((times_times_nat @ M @ K) = (times_times_nat @ N @ K)) = (((M = N)) | ((K = zero_zero_nat))))))). % mult_cancel2
thf(fact_85_mult__cancel1, axiom,
    ((![K : nat, M : nat, N : nat]: (((times_times_nat @ K @ M) = (times_times_nat @ K @ N)) = (((M = N)) | ((K = zero_zero_nat))))))). % mult_cancel1
thf(fact_86_mult__0__right, axiom,
    ((![M : nat]: ((times_times_nat @ M @ zero_zero_nat) = zero_zero_nat)))). % mult_0_right
thf(fact_87_mult__is__0, axiom,
    ((![M : nat, N : nat]: (((times_times_nat @ M @ N) = zero_zero_nat) = (((M = zero_zero_nat)) | ((N = zero_zero_nat))))))). % mult_is_0
thf(fact_88_complex__cnj__zero__iff, axiom,
    ((![Z : complex]: (((cnj @ Z) = zero_zero_complex) = (Z = zero_zero_complex))))). % complex_cnj_zero_iff
thf(fact_89_complex__cnj__zero, axiom,
    (((cnj @ zero_zero_complex) = zero_zero_complex))). % complex_cnj_zero
thf(fact_90_not__gr__zero, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr_zero
thf(fact_91_division__ring__divide__zero, axiom,
    ((![A : complex]: ((divide1210191872omplex @ A @ zero_zero_complex) = zero_zero_complex)))). % division_ring_divide_zero
thf(fact_92_divide__cancel__right, axiom,
    ((![A : complex, C : complex, B : complex]: (((divide1210191872omplex @ A @ C) = (divide1210191872omplex @ B @ C)) = (((C = zero_zero_complex)) | ((A = B))))))). % divide_cancel_right
thf(fact_93_divide__cancel__left, axiom,
    ((![C : complex, A : complex, B : complex]: (((divide1210191872omplex @ C @ A) = (divide1210191872omplex @ C @ B)) = (((C = zero_zero_complex)) | ((A = B))))))). % divide_cancel_left
thf(fact_94_divide__eq__0__iff, axiom,
    ((![A : complex, B : complex]: (((divide1210191872omplex @ A @ B) = zero_zero_complex) = (((A = zero_zero_complex)) | ((B = zero_zero_complex))))))). % divide_eq_0_iff
thf(fact_95_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri356525583omplex @ M) = zero_zero_complex) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_96_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri2019852685at_int @ M) = zero_zero_int) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_97_of__nat__eq__0__iff, axiom,
    ((![M : nat]: (((semiri1382578993at_nat @ M) = zero_zero_nat) = (M = zero_zero_nat))))). % of_nat_eq_0_iff
thf(fact_98_of__nat__0__eq__iff, axiom,
    ((![N : nat]: ((zero_zero_complex = (semiri356525583omplex @ N)) = (zero_zero_nat = N))))). % of_nat_0_eq_iff
thf(fact_99_of__nat__0__eq__iff, axiom,
    ((![N : nat]: ((zero_zero_int = (semiri2019852685at_int @ N)) = (zero_zero_nat = N))))). % of_nat_0_eq_iff
thf(fact_100_of__nat__0__eq__iff, axiom,
    ((![N : nat]: ((zero_zero_nat = (semiri1382578993at_nat @ N)) = (zero_zero_nat = N))))). % of_nat_0_eq_iff
thf(fact_101_of__nat__0, axiom,
    (((semiri356525583omplex @ zero_zero_nat) = zero_zero_complex))). % of_nat_0
thf(fact_102_of__nat__0, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % of_nat_0
thf(fact_103_of__nat__0, axiom,
    (((semiri1382578993at_nat @ zero_zero_nat) = zero_zero_nat))). % of_nat_0
thf(fact_104_inverse__nonzero__iff__nonzero, axiom,
    ((![A : complex]: (((invers502456322omplex @ A) = zero_zero_complex) = (A = zero_zero_complex))))). % inverse_nonzero_iff_nonzero
thf(fact_105_inverse__zero, axiom,
    (((invers502456322omplex @ zero_zero_complex) = zero_zero_complex))). % inverse_zero
thf(fact_106_nat__0__less__mult__iff, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ zero_zero_nat @ (times_times_nat @ M @ N)) = (((ord_less_nat @ zero_zero_nat @ M)) & ((ord_less_nat @ zero_zero_nat @ N))))))). % nat_0_less_mult_iff
thf(fact_107_mult__less__cancel2, axiom,
    ((![M : nat, K : nat, N : nat]: ((ord_less_nat @ (times_times_nat @ M @ K) @ (times_times_nat @ N @ K)) = (((ord_less_nat @ zero_zero_nat @ K)) & ((ord_less_nat @ M @ N))))))). % mult_less_cancel2
thf(fact_108_div__less, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => ((divide_divide_nat @ M @ N) = zero_zero_nat))))). % div_less
thf(fact_109_euclidean__size__eq__0__iff, axiom,
    ((![B : nat]: (((euclid1226173669ze_nat @ B) = zero_zero_nat) = (B = zero_zero_nat))))). % euclidean_size_eq_0_iff
thf(fact_110_euclidean__size__eq__0__iff, axiom,
    ((![B : int]: (((euclid1863447361ze_int @ B) = zero_zero_nat) = (B = zero_zero_int))))). % euclidean_size_eq_0_iff
thf(fact_111_size__0, axiom,
    (((euclid1226173669ze_nat @ zero_zero_nat) = zero_zero_nat))). % size_0
thf(fact_112_size__0, axiom,
    (((euclid1863447361ze_int @ zero_zero_int) = zero_zero_nat))). % size_0
thf(fact_113_div__mult__mult1__if, axiom,
    ((![C : nat, A : nat, B : nat]: (((C = zero_zero_nat) => ((divide_divide_nat @ (times_times_nat @ C @ A) @ (times_times_nat @ C @ B)) = zero_zero_nat)) & ((~ ((C = zero_zero_nat))) => ((divide_divide_nat @ (times_times_nat @ C @ A) @ (times_times_nat @ C @ B)) = (divide_divide_nat @ A @ B))))))). % div_mult_mult1_if
thf(fact_114_div__mult__mult1__if, axiom,
    ((![C : int, A : int, B : int]: (((C = zero_zero_int) => ((divide_divide_int @ (times_times_int @ C @ A) @ (times_times_int @ C @ B)) = zero_zero_int)) & ((~ ((C = zero_zero_int))) => ((divide_divide_int @ (times_times_int @ C @ A) @ (times_times_int @ C @ B)) = (divide_divide_int @ A @ B))))))). % div_mult_mult1_if
thf(fact_115_div__mult__mult2, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => ((divide_divide_nat @ (times_times_nat @ A @ C) @ (times_times_nat @ B @ C)) = (divide_divide_nat @ A @ B)))))). % div_mult_mult2
thf(fact_116_div__mult__mult2, axiom,
    ((![C : int, A : int, B : int]: ((~ ((C = zero_zero_int))) => ((divide_divide_int @ (times_times_int @ A @ C) @ (times_times_int @ B @ C)) = (divide_divide_int @ A @ B)))))). % div_mult_mult2
thf(fact_117_div__mult__mult1, axiom,
    ((![C : nat, A : nat, B : nat]: ((~ ((C = zero_zero_nat))) => ((divide_divide_nat @ (times_times_nat @ C @ A) @ (times_times_nat @ C @ B)) = (divide_divide_nat @ A @ B)))))). % div_mult_mult1
thf(fact_118_div__mult__mult1, axiom,
    ((![C : int, A : int, B : int]: ((~ ((C = zero_zero_int))) => ((divide_divide_int @ (times_times_int @ C @ A) @ (times_times_int @ C @ B)) = (divide_divide_int @ A @ B)))))). % div_mult_mult1
thf(fact_119_nonzero__mult__divide__mult__cancel__right2, axiom,
    ((![C : complex, A : complex, B : complex]: ((~ ((C = zero_zero_complex))) => ((divide1210191872omplex @ (times_times_complex @ A @ C) @ (times_times_complex @ C @ B)) = (divide1210191872omplex @ A @ B)))))). % nonzero_mult_divide_mult_cancel_right2
thf(fact_120_nonzero__mult__divide__mult__cancel__right, axiom,
    ((![C : complex, A : complex, B : complex]: ((~ ((C = zero_zero_complex))) => ((divide1210191872omplex @ (times_times_complex @ A @ C) @ (times_times_complex @ B @ C)) = (divide1210191872omplex @ A @ B)))))). % nonzero_mult_divide_mult_cancel_right
thf(fact_121_nonzero__mult__divide__mult__cancel__left2, axiom,
    ((![C : complex, A : complex, B : complex]: ((~ ((C = zero_zero_complex))) => ((divide1210191872omplex @ (times_times_complex @ C @ A) @ (times_times_complex @ B @ C)) = (divide1210191872omplex @ A @ B)))))). % nonzero_mult_divide_mult_cancel_left2
thf(fact_122_nonzero__mult__divide__mult__cancel__left, axiom,
    ((![C : complex, A : complex, B : complex]: ((~ ((C = zero_zero_complex))) => ((divide1210191872omplex @ (times_times_complex @ C @ A) @ (times_times_complex @ C @ B)) = (divide1210191872omplex @ A @ B)))))). % nonzero_mult_divide_mult_cancel_left
thf(fact_123_mult__divide__mult__cancel__left__if, axiom,
    ((![C : complex, A : complex, B : complex]: (((C = zero_zero_complex) => ((divide1210191872omplex @ (times_times_complex @ C @ A) @ (times_times_complex @ C @ B)) = zero_zero_complex)) & ((~ ((C = zero_zero_complex))) => ((divide1210191872omplex @ (times_times_complex @ C @ A) @ (times_times_complex @ C @ B)) = (divide1210191872omplex @ A @ B))))))). % mult_divide_mult_cancel_left_if
thf(fact_124_euclidean__size__greater__0__iff, axiom,
    ((![B : nat]: ((ord_less_nat @ zero_zero_nat @ (euclid1226173669ze_nat @ B)) = (~ ((B = zero_zero_nat))))))). % euclidean_size_greater_0_iff
thf(fact_125_euclidean__size__greater__0__iff, axiom,
    ((![B : int]: ((ord_less_nat @ zero_zero_nat @ (euclid1863447361ze_int @ B)) = (~ ((B = zero_zero_int))))))). % euclidean_size_greater_0_iff
thf(fact_126_div__mult__self1__is__m, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((divide_divide_nat @ (times_times_nat @ N @ M) @ N) = M))))). % div_mult_self1_is_m
thf(fact_127_div__mult__self__is__m, axiom,
    ((![N : nat, M : nat]: ((ord_less_nat @ zero_zero_nat @ N) => ((divide_divide_nat @ (times_times_nat @ M @ N) @ N) = M))))). % div_mult_self_is_m
thf(fact_128_of__nat__0__less__iff, axiom,
    ((![N : nat]: ((ord_less_int @ zero_zero_int @ (semiri2019852685at_int @ N)) = (ord_less_nat @ zero_zero_nat @ N))))). % of_nat_0_less_iff
thf(fact_129_of__nat__0__less__iff, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ (semiri1382578993at_nat @ N)) = (ord_less_nat @ zero_zero_nat @ N))))). % of_nat_0_less_iff
thf(fact_130_int__ops_I1_J, axiom,
    (((semiri2019852685at_int @ zero_zero_nat) = zero_zero_int))). % int_ops(1)
thf(fact_131_times__int__code_I2_J, axiom,
    ((![L : int]: ((times_times_int @ zero_zero_int @ L) = zero_zero_int)))). % times_int_code(2)
thf(fact_132_times__int__code_I1_J, axiom,
    ((![K : int]: ((times_times_int @ K @ zero_zero_int) = zero_zero_int)))). % times_int_code(1)
thf(fact_133_pos__int__cases, axiom,
    ((![K : int]: ((ord_less_int @ zero_zero_int @ K) => (~ ((![N2 : nat]: ((K = (semiri2019852685at_int @ N2)) => (~ ((ord_less_nat @ zero_zero_nat @ N2))))))))))). % pos_int_cases
thf(fact_134_zero__reorient, axiom,
    ((![X : nat]: ((zero_zero_nat = X) = (X = zero_zero_nat))))). % zero_reorient
thf(fact_135_zero__reorient, axiom,
    ((![X : complex]: ((zero_zero_complex = X) = (X = zero_zero_complex))))). % zero_reorient
thf(fact_136_zero__reorient, axiom,
    ((![X : int]: ((zero_zero_int = X) = (X = zero_zero_int))))). % zero_reorient
thf(fact_137_zmult__zless__mono2, axiom,
    ((![I : int, J : int, K : int]: ((ord_less_int @ I @ J) => ((ord_less_int @ zero_zero_int @ K) => (ord_less_int @ (times_times_int @ K @ I) @ (times_times_int @ K @ J))))))). % zmult_zless_mono2
thf(fact_138_zero__less__imp__eq__int, axiom,
    ((![K : int]: ((ord_less_int @ zero_zero_int @ K) => (?[N2 : nat]: ((ord_less_nat @ zero_zero_nat @ N2) & (K = (semiri2019852685at_int @ N2)))))))). % zero_less_imp_eq_int
thf(fact_139_div__neg__pos__less0, axiom,
    ((![A : int, B : int]: ((ord_less_int @ A @ zero_zero_int) => ((ord_less_int @ zero_zero_int @ B) => (ord_less_int @ (divide_divide_int @ A @ B) @ zero_zero_int)))))). % div_neg_pos_less0
thf(fact_140_neg__imp__zdiv__neg__iff, axiom,
    ((![B : int, A : int]: ((ord_less_int @ B @ zero_zero_int) => ((ord_less_int @ (divide_divide_int @ A @ B) @ zero_zero_int) = (ord_less_int @ zero_zero_int @ A)))))). % neg_imp_zdiv_neg_iff
thf(fact_141_pos__imp__zdiv__neg__iff, axiom,
    ((![B : int, A : int]: ((ord_less_int @ zero_zero_int @ B) => ((ord_less_int @ (divide_divide_int @ A @ B) @ zero_zero_int) = (ord_less_int @ A @ zero_zero_int)))))). % pos_imp_zdiv_neg_iff
thf(fact_142_zmult__zless__mono2__lemma, axiom,
    ((![I : int, J : int, K : nat]: ((ord_less_int @ I @ J) => ((ord_less_nat @ zero_zero_nat @ K) => (ord_less_int @ (times_times_int @ (semiri2019852685at_int @ K) @ I) @ (times_times_int @ (semiri2019852685at_int @ K) @ J))))))). % zmult_zless_mono2_lemma
thf(fact_143_zero__less__iff__neq__zero, axiom,
    ((![N : nat]: ((ord_less_nat @ zero_zero_nat @ N) = (~ ((N = zero_zero_nat))))))). % zero_less_iff_neq_zero
thf(fact_144_gr__implies__not__zero, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (~ ((N = zero_zero_nat))))))). % gr_implies_not_zero
thf(fact_145_not__less__zero, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % not_less_zero
thf(fact_146_gr__zeroI, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N))))). % gr_zeroI
thf(fact_147_Euclidean__Division_Odiv__eq__0__iff, axiom,
    ((![M : nat, N : nat]: (((divide_divide_nat @ M @ N) = zero_zero_nat) = (((ord_less_nat @ M @ N)) | ((N = zero_zero_nat))))))). % Euclidean_Division.div_eq_0_iff
thf(fact_148_bot__nat__0_Oextremum__strict, axiom,
    ((![A : nat]: (~ ((ord_less_nat @ A @ zero_zero_nat)))))). % bot_nat_0.extremum_strict
thf(fact_149_infinite__descent0, axiom,
    ((![P : nat > $o, N : nat]: ((P @ zero_zero_nat) => ((![N2 : nat]: ((ord_less_nat @ zero_zero_nat @ N2) => ((~ ((P @ N2))) => (?[M2 : nat]: ((ord_less_nat @ M2 @ N2) & (~ ((P @ M2)))))))) => (P @ N)))))). % infinite_descent0
thf(fact_150_gr__implies__not0, axiom,
    ((![M : nat, N : nat]: ((ord_less_nat @ M @ N) => (~ ((N = zero_zero_nat))))))). % gr_implies_not0
thf(fact_151_less__zeroE, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % less_zeroE
thf(fact_152_not__less0, axiom,
    ((![N : nat]: (~ ((ord_less_nat @ N @ zero_zero_nat)))))). % not_less0
thf(fact_153_not__gr0, axiom,
    ((![N : nat]: ((~ ((ord_less_nat @ zero_zero_nat @ N))) = (N = zero_zero_nat))))). % not_gr0
thf(fact_154_gr0I, axiom,
    ((![N : nat]: ((~ ((N = zero_zero_nat))) => (ord_less_nat @ zero_zero_nat @ N))))). % gr0I
thf(fact_155_nonzero__imp__inverse__nonzero, axiom,
    ((![A : complex]: ((~ ((A = zero_zero_complex))) => (~ (((invers502456322omplex @ A) = zero_zero_complex))))))). % nonzero_imp_inverse_nonzero
thf(fact_156_nonzero__inverse__inverse__eq, axiom,
    ((![A : complex]: ((~ ((A = zero_zero_complex))) => ((invers502456322omplex @ (invers502456322omplex @ A)) = A))))). % nonzero_inverse_inverse_eq
thf(fact_157_nonzero__inverse__eq__imp__eq, axiom,
    ((![A : complex, B : complex]: (((invers502456322omplex @ A) = (invers502456322omplex @ B)) => ((~ ((A = zero_zero_complex))) => ((~ ((B = zero_zero_complex))) => (A = B))))))). % nonzero_inverse_eq_imp_eq
thf(fact_158_inverse__zero__imp__zero, axiom,
    ((![A : complex]: (((invers502456322omplex @ A) = zero_zero_complex) => (A = zero_zero_complex))))). % inverse_zero_imp_zero
thf(fact_159_field__class_Ofield__inverse__zero, axiom,
    (((invers502456322omplex @ zero_zero_complex) = zero_zero_complex))). % field_class.field_inverse_zero
thf(fact_160_mult__0, axiom,
    ((![N : nat]: ((times_times_nat @ zero_zero_nat @ N) = zero_zero_nat)))). % mult_0
thf(fact_161_nat__int__comparison_I2_J, axiom,
    ((ord_less_nat = (^[A2 : nat]: (^[B2 : nat]: (ord_less_int @ (semiri2019852685at_int @ A2) @ (semiri2019852685at_int @ B2))))))). % nat_int_comparison(2)
thf(fact_162_division__segment__not__0, axiom,
    ((![A : nat]: (~ (((euclid1293761147nt_nat @ A) = zero_zero_nat)))))). % division_segment_not_0
thf(fact_163_division__segment__not__0, axiom,
    ((![A : int]: (~ (((euclid1931034839nt_int @ A) = zero_zero_int)))))). % division_segment_not_0

% Helper facts (3)
thf(help_If_3_1_If_001t__Nat__Onat_T, axiom,
    ((![P : $o]: ((P = $true) | (P = $false))))).
thf(help_If_2_1_If_001t__Nat__Onat_T, axiom,
    ((![X : nat, Y : nat]: ((if_nat @ $false @ X @ Y) = Y)))).
thf(help_If_1_1_If_001t__Nat__Onat_T, axiom,
    ((![X : nat, Y : nat]: ((if_nat @ $true @ X @ Y) = X)))).

% Conjectures (1)
thf(conj_0, conjecture,
    (((fFT_Mirabelle_IDFT @ n @ (fFT_Mirabelle_DFT @ n @ a) @ i) = (times_times_complex @ (semiri356525583omplex @ n) @ (a @ i))))).
