Beginning of Section Tags
Variable tagn : set
Hypothesis tagn_nat : nat_p tagn
Hypothesis tagn_1 : 1 tagn
Axiom. (not_TransSet_Sing_tagn) We take the following as an axiom:
¬ TransSet {tagn}
Axiom. (not_ordinal_Sing_tagn) We take the following as an axiom:
¬ ordinal {tagn}
End of Section Tags
Beginning of Section ExtendedSNo
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
Definition. We define ExtendedSNoElt_ to be λn x ⇒ ∀v x, ordinal v∃i ∈ n, v = {i} of type setsetprop.
Axiom. (extension_SNoElt_mon) We take the following as an axiom:
∀M N, M N∀x, ExtendedSNoElt_ M xExtendedSNoElt_ N x
Axiom. (Sing_nat_fresh_extension) We take the following as an axiom:
∀n, nat_p n1 n∀x, ExtendedSNoElt_ n x∀ux, {n}u
Axiom. (SNo_ExtendedSNoElt_2) We take the following as an axiom:
∀x, SNo xExtendedSNoElt_ 2 x
End of Section ExtendedSNo
Beginning of Section SurComplex
Let tag : setsetλalpha ⇒ SetAdjoin alpha {1}
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term tag.
Axiom. (complex_tag_fresh) We take the following as an axiom:
∀x, SNo x∀ux, {2}u
Definition. We define SNo_pair to be pair_tag {2} of type setsetset.
Axiom. (SNo_pair_0) We take the following as an axiom:
∀x, SNo_pair x 0 = x
Axiom. (SNo_pair_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1SNo x2SNo_pair x1 y1 = SNo_pair x2 y2x1 = x2
Axiom. (SNo_pair_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, SNo x1SNo y1SNo x2SNo y2SNo_pair x1 y1 = SNo_pair x2 y2y1 = y2
Definition. We define CSNo to be CD_carr {2} SNo of type setprop.
Axiom. (CSNo_I) We take the following as an axiom:
∀x y, SNo xSNo yCSNo (SNo_pair x y)
Axiom. (CSNo_E) We take the following as an axiom:
∀z, CSNo z∀p : setprop, (∀x y, SNo xSNo yz = SNo_pair x yp (SNo_pair x y))p z
Axiom. (SNo_CSNo) We take the following as an axiom:
∀x, SNo xCSNo x
Axiom. (CSNo_0) We take the following as an axiom:
Axiom. (CSNo_1) We take the following as an axiom:
Let ctag : setsetλalpha ⇒ SetAdjoin alpha {2}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
Axiom. (CSNo_ExtendedSNoElt_3) We take the following as an axiom:
∀z, CSNo zExtendedSNoElt_ 3 z
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_SNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_SNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_SNo.
Notation. We use :/: as an infix operator with priority 353 and no associativity corresponding to applying term div_SNo.
Notation. We use ^ as an infix operator with priority 342 and which associates to the right corresponding to applying term exp_SNo_nat.
Definition. We define Complex_i to be SNo_pair 0 1 of type set.
Definition. We define CSNo_Re to be CD_proj0 {2} SNo of type setset.
Definition. We define CSNo_Im to be CD_proj1 {2} SNo of type setset.
Let i ≝ Complex_i
Let Re : setsetCSNo_Re
Let Im : setsetCSNo_Im
Let pa : setsetsetSNo_pair
Axiom. (CSNo_Re1) We take the following as an axiom:
∀z, CSNo zSNo (Re z)∃y, SNo yz = pa (Re z) y
Axiom. (CSNo_Re2) We take the following as an axiom:
∀x y, SNo xSNo yRe (pa x y) = x
Axiom. (CSNo_Im1) We take the following as an axiom:
∀z, CSNo zSNo (Im z)z = pa (Re z) (Im z)
Axiom. (CSNo_Im2) We take the following as an axiom:
∀x y, SNo xSNo yIm (pa x y) = y
Axiom. (CSNo_ReR) We take the following as an axiom:
∀z, CSNo zSNo (Re z)
Axiom. (CSNo_ImR) We take the following as an axiom:
∀z, CSNo zSNo (Im z)
Axiom. (CSNo_ReIm) We take the following as an axiom:
∀z, CSNo zz = pa (Re z) (Im z)
Axiom. (CSNo_ReIm_split) We take the following as an axiom:
∀z w, CSNo zCSNo wRe z = Re wIm z = Im wz = w
Definition. We define CSNoLev to be λz ⇒ SNoLev (Re z)SNoLev (Im z) of type setset.
Axiom. (CSNoLev_ordinal) We take the following as an axiom:
∀z, CSNo zordinal (CSNoLev z)
Let conj : setsetλx ⇒ x
Definition. We define minus_CSNo to be CD_minus {2} SNo minus_SNo of type setset.
Definition. We define conj_CSNo to be CD_conj {2} SNo minus_SNo conj of type setset.
Definition. We define add_CSNo to be CD_add {2} SNo add_SNo of type setsetset.
Definition. We define mul_CSNo to be CD_mul {2} SNo minus_SNo conj add_SNo mul_SNo of type setsetset.
Definition. We define exp_CSNo_nat to be CD_exp_nat {2} SNo minus_SNo conj add_SNo mul_SNo of type setsetset.
Definition. We define abs_sqr_CSNo to be λz ⇒ Re z ^ 2 + Im z ^ 2 of type setset.
Definition. We define recip_CSNo to be λz ⇒ pa (Re z :/: abs_sqr_CSNo z) (- (Im z :/: abs_sqr_CSNo z)) of type setset.
Let plus' ≝ add_CSNo
Let mult' ≝ mul_CSNo
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term minus_CSNo.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term conj_CSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_CSNo.
Notation. We use as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_CSNo.
Notation. We use :^: as an infix operator with priority 355 and which associates to the right corresponding to applying term exp_CSNo_nat.
Definition. We define div_CSNo to be λz w ⇒ z recip_CSNo w of type setsetset.
Axiom. (CSNo_Complex_i) We take the following as an axiom:
Axiom. (CSNo_minus_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (minus_CSNo z)
Axiom. (minus_CSNo_CRe) We take the following as an axiom:
∀z, CSNo zRe (:-: z) = - Re z
Axiom. (minus_CSNo_CIm) We take the following as an axiom:
∀z, CSNo zIm (:-: z) = - Im z
Axiom. (CSNo_conj_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (conj_CSNo z)
Axiom. (conj_CSNo_CRe) We take the following as an axiom:
∀z, CSNo zRe (z ') = Re z
Axiom. (conj_CSNo_CIm) We take the following as an axiom:
∀z, CSNo zIm (z ') = - Im z
Axiom. (CSNo_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (add_CSNo z w)
Axiom. (CSNo_add_CSNo_3) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vCSNo (z + w + v)
Axiom. (add_CSNo_CRe) We take the following as an axiom:
∀z w, CSNo zCSNo wRe (plus' z w) = Re z + Re w
Axiom. (add_CSNo_CIm) We take the following as an axiom:
∀z w, CSNo zCSNo wIm (plus' z w) = Im z + Im w
Axiom. (CSNo_mul_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (z w)
Axiom. (CSNo_mul_CSNo_3) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vCSNo (z w v)
Axiom. (mul_CSNo_CRe) We take the following as an axiom:
∀z w, CSNo zCSNo wRe (mult' z w) = Re z * Re w + - (Im w * Im z)
Axiom. (mul_CSNo_CIm) We take the following as an axiom:
∀z w, CSNo zCSNo wIm (mult' z w) = Im w * Re z + Im z * Re w
Axiom. (SNo_Re) We take the following as an axiom:
∀x, SNo xRe x = x
Axiom. (SNo_Im) We take the following as an axiom:
∀x, SNo xIm x = 0
Axiom. (Re_0) We take the following as an axiom:
Re 0 = 0
Axiom. (Im_0) We take the following as an axiom:
Im 0 = 0
Axiom. (Re_1) We take the following as an axiom:
Re 1 = 1
Axiom. (Im_1) We take the following as an axiom:
Im 1 = 0
Axiom. (Re_i) We take the following as an axiom:
Re i = 0
Axiom. (Im_i) We take the following as an axiom:
Im i = 1
Axiom. (conj_CSNo_id_SNo) We take the following as an axiom:
∀x, SNo xx ' = x
Axiom. (conj_CSNo_0) We take the following as an axiom:
0 ' = 0
Axiom. (conj_CSNo_1) We take the following as an axiom:
1 ' = 1
Axiom. (conj_CSNo_i) We take the following as an axiom:
i ' = :-: i
Axiom. (minus_CSNo_minus_SNo) We take the following as an axiom:
∀x, SNo x:-: x = - x
Axiom. (minus_CSNo_0) We take the following as an axiom:
:-: 0 = 0
Axiom. (add_CSNo_add_SNo) We take the following as an axiom:
∀x y, SNo xSNo yx + y = x + y
Axiom. (mul_CSNo_mul_SNo) We take the following as an axiom:
∀x y, SNo xSNo yx y = x * y
Axiom. (minus_CSNo_invol) We take the following as an axiom:
∀z, CSNo z:-: :-: z = z
Axiom. (conj_CSNo_invol) We take the following as an axiom:
∀z, CSNo zz ' ' = z
Axiom. (conj_minus_CSNo) We take the following as an axiom:
∀z, CSNo z(:-: z) ' = :-: (z ')
Axiom. (minus_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w:-: (z + w) = :-: z + :-: w
Axiom. (conj_add_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w(z + w) ' = z ' + w '
Axiom. (add_CSNo_com) We take the following as an axiom:
∀z w, CSNo zCSNo wz + w = w + z
Axiom. (add_CSNo_assoc) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo v(z + w) + v = z + (w + v)
Axiom. (add_CSNo_0L) We take the following as an axiom:
∀z, CSNo zadd_CSNo 0 z = z
Axiom. (add_CSNo_0R) We take the following as an axiom:
∀z, CSNo zadd_CSNo z 0 = z
Axiom. (add_CSNo_minus_CSNo_linv) We take the following as an axiom:
∀z, CSNo zadd_CSNo (minus_CSNo z) z = 0
Axiom. (add_CSNo_minus_CSNo_rinv) We take the following as an axiom:
∀z, CSNo zadd_CSNo z (minus_CSNo z) = 0
Axiom. (mul_CSNo_0R) We take the following as an axiom:
∀z, CSNo zz 0 = 0
Axiom. (mul_CSNo_0L) We take the following as an axiom:
∀z, CSNo z0 z = 0
Axiom. (mul_CSNo_1R) We take the following as an axiom:
∀z, CSNo zz 1 = z
Axiom. (mul_CSNo_1L) We take the following as an axiom:
∀z, CSNo z1 z = z
Axiom. (conj_mul_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo w(z w) ' = w ' z '
Axiom. (mul_CSNo_distrL) We take the following as an axiom:
∀z w u, CSNo zCSNo wCSNo uz (w + u) = z w + z u
Axiom. (mul_CSNo_distrR) We take the following as an axiom:
∀z w u, CSNo zCSNo wCSNo u(z + w) u = z u + w u
Axiom. (minus_mul_CSNo_distrR) We take the following as an axiom:
∀z w, CSNo zCSNo wz (:-: w) = :-: z w
Axiom. (minus_mul_CSNo_distrL) We take the following as an axiom:
∀z w, CSNo zCSNo w(:-: z) w = :-: z w
Axiom. (exp_CSNo_nat_0) We take the following as an axiom:
∀z, z0 = 1
Axiom. (exp_CSNo_nat_S) We take the following as an axiom:
∀z n, nat_p nz(ordsucc n) = z zn
Axiom. (exp_CSNo_nat_1) We take the following as an axiom:
∀z, CSNo zz1 = z
Axiom. (exp_CSNo_nat_2) We take the following as an axiom:
∀z, CSNo zz2 = z z
Axiom. (CSNo_exp_CSNo_nat) We take the following as an axiom:
∀z, CSNo z∀n, nat_p nCSNo (zn)
Axiom. (add_SNo_rotate_4_0312) We take the following as an axiom:
∀x y z w, SNo xSNo ySNo zSNo w(x + y) + (z + w) = (x + w) + (y + z)
Axiom. (mul_CSNo_com) We take the following as an axiom:
∀z w, CSNo zCSNo wz w = w z
Axiom. (mul_CSNo_assoc) We take the following as an axiom:
∀z w v, CSNo zCSNo wCSNo vz (w v) = (z w) v
Axiom. (Complex_i_sqr) We take the following as an axiom:
i i = :-: 1
Axiom. (SNo_abs_sqr_CSNo) We take the following as an axiom:
∀z, CSNo zSNo (abs_sqr_CSNo z)
Axiom. (abs_sqr_CSNo_nonneg) We take the following as an axiom:
∀z, CSNo z0abs_sqr_CSNo z
Axiom. (abs_sqr_CSNo_zero) We take the following as an axiom:
∀z, CSNo zabs_sqr_CSNo z = 0z = 0
Axiom. (CSNo_recip_CSNo) We take the following as an axiom:
∀z, CSNo zCSNo (recip_CSNo z)
Axiom. (CSNo_relative_recip) We take the following as an axiom:
∀z, CSNo z∀u, SNo u(Re z ^ 2 + Im z ^ 2) * u = 1z (u Re z + :-: i u Im z) = 1
Axiom. (recip_CSNo_invR) We take the following as an axiom:
∀z, CSNo zz0z recip_CSNo z = 1
Axiom. (recip_CSNo_invL) We take the following as an axiom:
∀z, CSNo zz0recip_CSNo z z = 1
Axiom. (CSNo_div_CSNo) We take the following as an axiom:
∀z w, CSNo zCSNo wCSNo (div_CSNo z w)
Axiom. (mul_div_CSNo_invL) We take the following as an axiom:
∀z w, CSNo zCSNo ww0(div_CSNo z w) w = z
Axiom. (mul_div_CSNo_invR) We take the following as an axiom:
∀z w, CSNo zCSNo ww0w (div_CSNo z w) = z
Axiom. (sqrt_SNo_nonneg_sqr_id) We take the following as an axiom:
∀x, SNo x0xsqrt_SNo_nonneg (x ^ 2) = x
Axiom. (sqrt_SNo_nonneg_mon_strict) We take the following as an axiom:
∀x y, SNo xSNo y0xx < ysqrt_SNo_nonneg x < sqrt_SNo_nonneg y
Axiom. (sqrt_SNo_nonneg_mon) We take the following as an axiom:
∀x y, SNo xSNo y0xxysqrt_SNo_nonneg xsqrt_SNo_nonneg y
Axiom. (sqrt_SNo_nonneg_mul_SNo) We take the following as an axiom:
∀x y, SNo xSNo y0x0ysqrt_SNo_nonneg (x * y) = sqrt_SNo_nonneg x * sqrt_SNo_nonneg y
Definition. We define modulus_CSNo to be λz ⇒ sqrt_SNo_nonneg (abs_sqr_CSNo z) of type setset.
Axiom. (SNo_modulus_CSNo) We take the following as an axiom:
∀z, CSNo zSNo (modulus_CSNo z)
Axiom. (modulus_CSNo_nonneg) We take the following as an axiom:
∀z, CSNo z0modulus_CSNo z
Definition. We define sqrt_CSNo to be λz ⇒ if Im z < 0Im z = 0Re z < 0 then pa (sqrt_SNo_nonneg (eps_ 1 * (Re z + modulus_CSNo z))) (- sqrt_SNo_nonneg (eps_ 1 * (- Re z + modulus_CSNo z))) else pa (sqrt_SNo_nonneg (eps_ 1 * (Re z + modulus_CSNo z))) (sqrt_SNo_nonneg (eps_ 1 * (- Re z + modulus_CSNo z))) of type setset.
Axiom. (sqrt_CSNo_sqrt) We take the following as an axiom:
∀z, CSNo zsqrt_CSNo z2 = z
End of Section SurComplex
Beginning of Section Complex
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_CSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_CSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_CSNo.
Notation. We use < as an infix operator with priority 490 and no associativity corresponding to applying term SNoLt.
Notation. We use as an infix operator with priority 490 and no associativity corresponding to applying term SNoLe.
Let i ≝ Complex_i
Let Re : setsetCSNo_Re
Let Im : setsetCSNo_Im
Let pa : setsetsetSNo_pair
Definition. We define complex to be {pa (u 0) (u 1)|u ∈ realreal} of type set.
Axiom. (complex_I) We take the following as an axiom:
∀x yreal, pa x y complex
Axiom. (complex_E) We take the following as an axiom:
∀zcomplex, ∀p : prop, (∀x yreal, z = pa x yp)p
Axiom. (complex_CSNo) We take the following as an axiom:
Axiom. (real_complex) We take the following as an axiom:
Axiom. (complex_0) We take the following as an axiom:
Axiom. (complex_1) We take the following as an axiom:
Axiom. (complex_i) We take the following as an axiom:
Axiom. (complex_Re_eq) We take the following as an axiom:
∀x yreal, Re (pa x y) = x
Axiom. (complex_Im_eq) We take the following as an axiom:
∀x yreal, Im (pa x y) = y
Axiom. (complex_Re_real) We take the following as an axiom:
∀zcomplex, Re z real
Axiom. (complex_Im_real) We take the following as an axiom:
∀zcomplex, Im z real
Axiom. (complex_ReIm_split) We take the following as an axiom:
∀z wcomplex, Re z = Re wIm z = Im wz = w
Axiom. (complex_minus_CSNo) We take the following as an axiom:
Axiom. (complex_conj_CSNo) We take the following as an axiom:
Axiom. (complex_add_CSNo) We take the following as an axiom:
Axiom. (complex_mul_CSNo) We take the following as an axiom:
Axiom. (real_Re_eq) We take the following as an axiom:
∀xreal, Re x = x
Axiom. (real_Im_eq) We take the following as an axiom:
∀xreal, Im x = 0
Axiom. (mul_i_real_eq) We take the following as an axiom:
∀xreal, i * x = pa 0 x
Axiom. (real_Re_i_eq) We take the following as an axiom:
∀xreal, Re (i * x) = 0
Axiom. (real_Im_i_eq) We take the following as an axiom:
∀xreal, Im (i * x) = x
Axiom. (complex_eta) We take the following as an axiom:
∀zcomplex, z = Re z + i * Im z
Beginning of Section ComplexDiv
Axiom. (complex_recip_CSNo) We take the following as an axiom:
Axiom. (complex_div_CSNo) We take the following as an axiom:
End of Section ComplexDiv
Axiom. (complex_real_set_eq) We take the following as an axiom:
real = {z ∈ complex|Re z = z}
End of Section Complex