Beginning of Section Alg
Variable extension_tag : set
Let ctag : setsetλalpha ⇒ SetAdjoin alpha extension_tag
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
Definition. We define pair_tag to be λx y ⇒ x{u ''|u ∈ y} of type setsetset.
Variable F : setprop
Hypothesis extension_tag_fresh : ∀x, F x∀ux, extension_tagu
Axiom. (ctagged_notin_F) We take the following as an axiom:
∀x y, F x(y '')x
Axiom. (ctagged_eqE_Subq) We take the following as an axiom:
∀x y, F x∀ux, ∀v, u '' = v ''u v
Axiom. (ctagged_eqE_eq) We take the following as an axiom:
∀x y, F xF y∀ux, ∀vy, u '' = v ''u = v
Axiom. (pair_tag_prop_1_Subq) We take the following as an axiom:
∀x1 y1 x2 y2, F x1pair_tag x1 y1 = pair_tag x2 y2x1 x2
Axiom. (pair_tag_prop_1) We take the following as an axiom:
∀x1 y1 x2 y2, F x1F x2pair_tag x1 y1 = pair_tag x2 y2x1 = x2
Axiom. (pair_tag_prop_2_Subq) We take the following as an axiom:
∀x1 y1 x2 y2, F y1F x2F y2pair_tag x1 y1 = pair_tag x2 y2y1 y2
Axiom. (pair_tag_prop_2) We take the following as an axiom:
∀x1 y1 x2 y2, F x1F y1F x2F y2pair_tag x1 y1 = pair_tag x2 y2y1 = y2
Axiom. (pair_tag_0) We take the following as an axiom:
∀x, pair_tag x 0 = x
Primitive. The name CD_carr is a term of type setprop.
Axiom. (CD_carr_I) We take the following as an axiom:
∀x y, F xF yCD_carr (pair_tag x y)
Axiom. (CD_carr_E) We take the following as an axiom:
∀z, CD_carr z∀p : setprop, (∀x y, F xF yz = pair_tag x yp (pair_tag x y))p z
Axiom. (CD_carr_0ext) We take the following as an axiom:
F 0∀x, F xCD_carr x
Definition. We define CD_proj0 to be λz ⇒ Eps_i (λx ⇒ F x∃y, F yz = pair_tag x y) of type setset.
Definition. We define CD_proj1 to be λz ⇒ Eps_i (λy ⇒ F yz = pair_tag (CD_proj0 z) y) of type setset.
Let proj0 ≝ CD_proj0
Let proj1 ≝ CD_proj1
Let pa : setsetsetpair_tag
Axiom. (CD_proj0_1) We take the following as an axiom:
∀z, CD_carr zF (proj0 z)∃y, F yz = pa (proj0 z) y
Axiom. (CD_proj0_2) We take the following as an axiom:
∀x y, F xF yproj0 (pa x y) = x
Axiom. (CD_proj1_1) We take the following as an axiom:
∀z, CD_carr zF (proj1 z)z = pa (proj0 z) (proj1 z)
Axiom. (CD_proj1_2) We take the following as an axiom:
∀x y, F xF yproj1 (pa x y) = y
Axiom. (CD_proj0R) We take the following as an axiom:
∀z, CD_carr zF (proj0 z)
Axiom. (CD_proj1R) We take the following as an axiom:
∀z, CD_carr zF (proj1 z)
Axiom. (CD_proj0proj1_eta) We take the following as an axiom:
∀z, CD_carr zz = pa (proj0 z) (proj1 z)
Axiom. (CD_proj0proj1_split) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 z = proj0 wproj1 z = proj1 wz = w
Axiom. (CD_proj0_F) We take the following as an axiom:
F 0∀x, F xCD_proj0 x = x
Axiom. (CD_proj1_F) We take the following as an axiom:
F 0∀x, F xCD_proj1 x = 0
Beginning of Section CD_minus_conj
Variable minus : setset
Definition. We define CD_minus to be λz ⇒ pa (- proj0 z) (- proj1 z) of type setset.
Variable conj : setset
Definition. We define CD_conj to be λz ⇒ pa (conj (proj0 z)) (- proj1 z) of type setset.
End of Section CD_minus_conj
Beginning of Section CD_add
Variable add : setsetset
Definition. We define CD_add to be λz w ⇒ pa (proj0 z + proj0 w) (proj1 z + proj1 w) of type setsetset.
End of Section CD_add
Beginning of Section CD_mul
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Definition. We define CD_mul to be λz w ⇒ pa (proj0 z * proj0 w + - conj (proj1 w) * proj1 z) (proj1 w * proj0 z + proj1 z * conj (proj0 w)) of type setsetset.
Definition. We define CD_exp_nat to be λz m ⇒ nat_primrec 1 (λ_ r ⇒ z r) m of type setsetset.
End of Section CD_mul
Beginning of Section CD_minus_conj_clos
Variable minus : setset
Hypothesis F_minus : ∀x, F xF (- x)
Axiom. (CD_minus_CD) We take the following as an axiom:
∀z, CD_carr zCD_carr (:-: z)
Axiom. (CD_minus_proj0) We take the following as an axiom:
∀z, CD_carr zproj0 (:-: z) = - proj0 z
Axiom. (CD_minus_proj1) We take the following as an axiom:
∀z, CD_carr zproj1 (:-: z) = - proj1 z
Variable conj : setset
Hypothesis F_conj : ∀x, F xF (conj x)
Axiom. (CD_conj_CD) We take the following as an axiom:
∀z, CD_carr zCD_carr (z ')
Axiom. (CD_conj_proj0) We take the following as an axiom:
∀z, CD_carr zproj0 (z ') = conj (proj0 z)
Axiom. (CD_conj_proj1) We take the following as an axiom:
∀z, CD_carr zproj1 (z ') = - proj1 z
End of Section CD_minus_conj_clos
Beginning of Section CD_add_clos
Variable add : setsetset
Hypothesis F_add : ∀x y, F xF yF (x + y)
Axiom. (CD_add_CD) We take the following as an axiom:
∀z w, CD_carr zCD_carr wCD_carr (z + w)
Axiom. (CD_add_proj0) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 (z + w) = proj0 z + proj0 w
Axiom. (CD_add_proj1) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj1 (z + w) = proj1 z + proj1 w
End of Section CD_add_clos
Beginning of Section CD_mul_clos
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Axiom. (CD_mul_CD) We take the following as an axiom:
∀z w, CD_carr zCD_carr wCD_carr (z w)
Axiom. (CD_mul_proj0) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj0 (z w) = proj0 z * proj0 w + - conj (proj1 w) * proj1 z
Axiom. (CD_mul_proj1) We take the following as an axiom:
∀z w, CD_carr zCD_carr wproj1 (z w) = proj1 w * proj0 z + proj1 z * conj (proj0 w)
End of Section CD_mul_clos
Beginning of Section CD_minus_conj_F
Variable minus : setset
Hypothesis F_0 : F 0
Hypothesis F_minus_0 : - 0 = 0
Axiom. (CD_minus_F_eq) We take the following as an axiom:
∀x, F x:-: x = - x
Variable conj : setset
Axiom. (CD_conj_F_eq) We take the following as an axiom:
∀x, F xx ' = conj x
End of Section CD_minus_conj_F
Beginning of Section CD_add_F
Variable add : setsetset
Hypothesis F_0 : F 0
Hypothesis F_add_0_0 : 0 + 0 = 0
Axiom. (CD_add_F_eq) We take the following as an axiom:
∀x y, F xF yx + y = x + y
End of Section CD_add_F
Beginning of Section CD_mul_F
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_0 : F 0
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_add_0R : ∀x, F xx + 0 = x
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
Axiom. (CD_mul_F_eq) We take the following as an axiom:
∀x y, F xF yx y = x * y
End of Section CD_mul_F
Beginning of Section CD_minus_invol
Variable minus : setset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_minus_invol : ∀x, F x- - x = x
Axiom. (CD_minus_invol) We take the following as an axiom:
∀z, CD_carr z:-: :-: z = z
End of Section CD_minus_invol
Beginning of Section CD_conj_invol
Variable minus : setset
Variable conj : setset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_minus_invol : ∀x, F x- - x = x
Hypothesis F_conj_invol : ∀x, F xconj (conj x) = x
Axiom. (CD_conj_invol) We take the following as an axiom:
∀z, CD_carr zz ' ' = z
End of Section CD_conj_invol
Beginning of Section CD_conj_minus
Variable minus : setset
Variable conj : setset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
Axiom. (CD_conj_minus) We take the following as an axiom:
∀z, CD_carr z(:-: z) ' = :-: (z ')
End of Section CD_conj_minus
Beginning of Section CD_minus_add
Variable minus : setset
Variable add : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Axiom. (CD_minus_add) We take the following as an axiom:
∀z w, CD_carr zCD_carr w:-: (z + w) = :-: z + :-: w
End of Section CD_minus_add
Beginning of Section CD_conj_add
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
Axiom. (CD_conj_add) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(z + w) ' = z ' + w '
End of Section CD_conj_add
Beginning of Section CD_add_com
Variable add : setsetset
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
Axiom. (CD_add_com) We take the following as an axiom:
∀z w, CD_carr zCD_carr wz + w = w + z
End of Section CD_add_com
Beginning of Section CD_add_assoc
Variable add : setsetset
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
Axiom. (CD_add_assoc) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr u(z + w) + u = z + (w + u)
End of Section CD_add_assoc
Beginning of Section CD_add_0R
Variable add : setsetset
Hypothesis F_0 : F 0
Hypothesis F_add_0R : ∀x, F xx + 0 = x
Axiom. (CD_add_0R) We take the following as an axiom:
∀z, CD_carr zz + 0 = z
End of Section CD_add_0R
Beginning of Section CD_add_0L
Variable add : setsetset
Hypothesis F_0 : F 0
Hypothesis F_add_0L : ∀x, F x0 + x = x
Axiom. (CD_add_0L) We take the following as an axiom:
∀z, CD_carr z0 + z = z
End of Section CD_add_0L
Beginning of Section CD_add_minus_linv
Variable minus : setset
Variable add : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_add_minus_linv : ∀x, F x- x + x = 0
Axiom. (CD_add_minus_linv) We take the following as an axiom:
∀z, CD_carr z:-: z + z = 0
End of Section CD_add_minus_linv
Beginning of Section CD_add_minus_rinv
Variable minus : setset
Variable add : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_add_minus_rinv : ∀x, F xx + - x = 0
Axiom. (CD_add_minus_rinv) We take the following as an axiom:
∀z, CD_carr zz + :-: z = 0
End of Section CD_add_minus_rinv
Beginning of Section CD_mul_0R
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_0 : F 0
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_conj_0 : conj 0 = 0
Hypothesis F_add_0_0 : 0 + 0 = 0
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
Axiom. (CD_mul_0R) We take the following as an axiom:
∀z, CD_carr zz 0 = 0
End of Section CD_mul_0R
Beginning of Section CD_mul_0L
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_0 : F 0
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_add_0_0 : 0 + 0 = 0
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
Axiom. (CD_mul_0L) We take the following as an axiom:
∀z, CD_carr z0 z = 0
End of Section CD_mul_0L
Beginning of Section CD_mul_1R
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_0 : F 0
Hypothesis F_1 : F 1
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_conj_0 : conj 0 = 0
Hypothesis F_conj_1 : conj 1 = 1
Hypothesis F_add_0L : ∀x, F x0 + x = x
Hypothesis F_add_0R : ∀x, F xx + 0 = x
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
Axiom. (CD_mul_1R) We take the following as an axiom:
∀z, CD_carr zz 1 = z
End of Section CD_mul_1R
Beginning of Section CD_mul_1L
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_0 : F 0
Hypothesis F_1 : F 1
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_add_0R : ∀x, F xx + 0 = x
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_0R : ∀x, F xx * 0 = 0
Hypothesis F_mul_1L : ∀x, F x1 * x = x
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
Axiom. (CD_mul_1L) We take the following as an axiom:
∀z, CD_carr z1 z = z
End of Section CD_mul_1L
Beginning of Section CD_conj_mul
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_minus_invol : ∀x, F x- - x = x
Hypothesis F_conj_invol : ∀x, F xconj (conj x) = x
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
Hypothesis F_conj_mul : ∀x y, F xF yconj (x * y) = conj y * conj x
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
Axiom. (CD_conj_mul) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(z w) ' = w ' z '
End of Section CD_conj_mul
Beginning of Section CD_add_mul_distrR
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
Hypothesis F_add_mul_distrL : ∀x y z, F xF yF zx * (y + z) = x * y + x * z
Hypothesis F_add_mul_distrR : ∀x y z, F xF yF z(x + y) * z = x * z + y * z
Axiom. (CD_add_mul_distrR) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr u(z + w) u = z u + w u
End of Section CD_add_mul_distrR
Beginning of Section CD_add_mul_distrL
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_conj_add : ∀x y, F xF yconj (x + y) = conj x + conj y
Hypothesis F_add_assoc : ∀x y z, F xF yF z(x + y) + z = x + (y + z)
Hypothesis F_add_com : ∀x y, F xF yx + y = y + x
Hypothesis F_add_mul_distrL : ∀x y z, F xF yF zx * (y + z) = x * y + x * z
Hypothesis F_add_mul_distrR : ∀x y z, F xF yF z(x + y) * z = x * z + y * z
Axiom. (CD_add_mul_distrL) We take the following as an axiom:
∀z w u, CD_carr zCD_carr wCD_carr uz (w + u) = z w + z u
End of Section CD_add_mul_distrL
Beginning of Section CD_minus_mul_distrR
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_conj_minus : ∀x, F xconj (- x) = - conj x
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
Axiom. (CD_minus_mul_distrR) We take the following as an axiom:
∀z w, CD_carr zCD_carr wz (:-: w) = :-: z w
End of Section CD_minus_mul_distrR
Beginning of Section CD_minus_mul_distrL
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_minus_add : ∀x y, F xF y- (x + y) = - x + - y
Hypothesis F_minus_mul_distrR : ∀x y, F xF yx * (- y) = - (x * y)
Hypothesis F_minus_mul_distrL : ∀x y, F xF y(- x) * y = - (x * y)
Axiom. (CD_minus_mul_distrL) We take the following as an axiom:
∀z w, CD_carr zCD_carr w(:-: z) w = :-: z w
End of Section CD_minus_mul_distrL
Beginning of Section CD_exp_nat
Variable minus : setset
Variable conj : setset
Variable add : setsetset
Variable mul : setsetset
Axiom. (CD_exp_nat_0) We take the following as an axiom:
∀z, z ^ 0 = 1
Axiom. (CD_exp_nat_S) We take the following as an axiom:
∀z n, nat_p nz ^ (ordsucc n) = z z ^ n
Beginning of Section CD_exp_nat_1_2
Hypothesis F_0 : F 0
Hypothesis F_1 : F 1
Hypothesis F_minus_0 : - 0 = 0
Hypothesis F_conj_0 : conj 0 = 0
Hypothesis F_conj_1 : conj 1 = 1
Hypothesis F_add_0L : ∀x, F x0 + x = x
Hypothesis F_add_0R : ∀x, F xx + 0 = x
Hypothesis F_mul_0L : ∀x, F x0 * x = 0
Hypothesis F_mul_1R : ∀x, F xx * 1 = x
Axiom. (CD_exp_nat_1) We take the following as an axiom:
∀z, CD_carr zz ^ 1 = z
Axiom. (CD_exp_nat_2) We take the following as an axiom:
∀z, CD_carr zz ^ 2 = z z
End of Section CD_exp_nat_1_2
Hypothesis F_minus : ∀x, F xF (- x)
Hypothesis F_conj : ∀x, F xF (conj x)
Hypothesis F_add : ∀x y, F xF yF (x + y)
Hypothesis F_mul : ∀x y, F xF yF (x * y)
Hypothesis F_0 : F 0
Hypothesis F_1 : F 1
Axiom. (CD_exp_nat_CD) We take the following as an axiom:
∀z, CD_carr z∀n, nat_p nCD_carr (z ^ n)
End of Section CD_exp_nat
End of Section Alg