Beginning of Section SurQuaternions
(*** $I sig/Part1.mgs ***)
(*** $I sig/Part2.mgs ***)
(*** $I sig/Part3.mgs ***)
(*** $I sig/Part4.mgs ***)
(*** $I sig/Part5.mgs ***)
(*** $I sig/Part6.mgs ***)
(*** $I sig/Part7.mgs ***)
(*** $I sig/Part8.mgs ***)
(*** $I sig/Part9.mgs ***)
(*** $I sig/Part10.mgs ***)
(*** $I sig/Part11.mgs ***)
(*** $I sig/Part12.mgs ***)
L15
Theorem. (quaternion_tag_fresh)
∀z, CSNo z∀uz, {3}u
Proof:
Proof not loaded.
(*** Part 13 ***)
L22
Definition. We define CSNo_pair to be pair_tag {3} of type setsetset.
L24
Theorem. (CSNo_pair_0)
∀x, CSNo_pair x 0 = x
Proof:
Proof not loaded.
L28
Theorem. (CSNo_pair_prop_1)
∀x1 y1 x2 y2, CSNo x1CSNo x2CSNo_pair x1 y1 = CSNo_pair x2 y2x1 = x2
Proof:
Proof not loaded.
L32
Theorem. (CSNo_pair_prop_2)
∀x1 y1 x2 y2, CSNo x1CSNo y1CSNo x2CSNo y2CSNo_pair x1 y1 = CSNo_pair x2 y2y1 = y2
Proof:
Proof not loaded.
L36
Definition. We define HSNo to be CD_carr {3} CSNo of type setprop.
L38
Theorem. (HSNo_I)
∀x y, CSNo xCSNo yHSNo (CSNo_pair x y)
Proof:
Proof not loaded.
L42
Theorem. (HSNo_E)
∀z, HSNo z∀p : setprop, (∀x y, CSNo xCSNo yz = CSNo_pair x yp (CSNo_pair x y))p z
Proof:
Proof not loaded.
L49
Theorem. (CSNo_HSNo)
∀x, CSNo xHSNo x
Proof:
Proof not loaded.
L53
Theorem. (HSNo_0)
Proof:
Proof not loaded.
L57
Theorem. (HSNo_1)
Proof:
Proof not loaded.
L61
Let ctag : setsetλalpha ⇒ SetAdjoin alpha {3}
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term ctag.
L64
Theorem. (HSNo_ExtendedSNoElt_4)
∀z, HSNo zExtendedSNoElt_ 4 z
Proof:
Proof not loaded.
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 353 and no associativity corresponding to applying term div_CSNo.
Notation. We use ' as a postfix operator with priority 100 corresponding to applying term conj_CSNo.
L109
Let i ≝ Complex_i
L111
Definition. We define Quaternion_j to be CSNo_pair 0 1 of type set.
L112
Definition. We define Quaternion_k to be CSNo_pair 0 i of type set.
L113
Let j ≝ Quaternion_j
L115
Let k ≝ Quaternion_k
L116
Definition. We define HSNo_proj0 to be CD_proj0 {3} CSNo of type setset.
L118
Definition. We define HSNo_proj1 to be CD_proj1 {3} CSNo of type setset.
L119
Let p0 : setsetHSNo_proj0
L121
Let p1 : setsetHSNo_proj1
L122
Let pa : setsetsetCSNo_pair
L123
Theorem. (HSNo_proj0_1)
∀z, HSNo zCSNo (p0 z)∃y, CSNo yz = pa (p0 z) y
Proof:
Proof not loaded.
L127
Theorem. (HSNo_proj0_2)
∀x y, CSNo xCSNo yp0 (pa x y) = x
Proof:
Proof not loaded.
L131
Theorem. (HSNo_proj1_1)
∀z, HSNo zCSNo (p1 z)z = pa (p0 z) (p1 z)
Proof:
Proof not loaded.
L135
Theorem. (HSNo_proj1_2)
∀x y, CSNo xCSNo yp1 (pa x y) = y
Proof:
Proof not loaded.
L139
Theorem. (HSNo_proj0R)
∀z, HSNo zCSNo (p0 z)
Proof:
Proof not loaded.
L143
Theorem. (HSNo_proj1R)
∀z, HSNo zCSNo (p1 z)
Proof:
Proof not loaded.
L147
Theorem. (HSNo_proj0p1)
∀z, HSNo zz = pa (p0 z) (p1 z)
Proof:
Proof not loaded.
L151
Theorem. (HSNo_proj0proj1_split)
∀z w, HSNo zHSNo wp0 z = p0 wp1 z = p1 wz = w
Proof:
Proof not loaded.
L155
Definition. We define HSNoLev to be λz ⇒ CSNoLev (p0 z)CSNoLev (p1 z) of type setset.
L157
Theorem. (HSNoLev_ordinal)
∀z, HSNo zordinal (HSNoLev z)
Proof:
Proof not loaded.
L170
Definition. We define minus_HSNo to be CD_minus {3} CSNo minus_CSNo of type setset.
L172
Definition. We define conj_HSNo to be CD_conj {3} CSNo minus_CSNo conj_CSNo of type setset.
L173
Definition. We define add_HSNo to be CD_add {3} CSNo add_CSNo of type setsetset.
L174
Definition. We define mul_HSNo to be CD_mul {3} CSNo minus_CSNo conj_CSNo add_CSNo mul_CSNo of type setsetset.
L175
Definition. We define exp_HSNo_nat to be CD_exp_nat {3} CSNo minus_CSNo conj_CSNo add_CSNo mul_CSNo of type setsetset.
L176
Let plus' ≝ add_HSNo
L178
Let mult' ≝ mul_HSNo
Notation. We use :-: as a prefix operator with priority 358 corresponding to applying term minus_HSNo.
Notation. We use '' as a postfix operator with priority 100 corresponding to applying term conj_HSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_HSNo.
Notation. We use as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_HSNo.
Notation. We use :^: as an infix operator with priority 355 and which associates to the right corresponding to applying term exp_HSNo_nat.
L185
Theorem. (HSNo_Complex_i)
Proof:
Proof not loaded.
L189
Theorem. (HSNo_Quaternion_j)
Proof:
Proof not loaded.
L196
Theorem. (HSNo_Quaternion_k)
Proof:
Proof not loaded.
L203
Theorem. (HSNo_minus_HSNo)
∀z, HSNo zHSNo (minus_HSNo z)
Proof:
Proof not loaded.
L207
Theorem. (minus_HSNo_proj0)
∀z, HSNo zp0 (:-: z) = - p0 z
Proof:
Proof not loaded.
L211
Theorem. (minus_HSNo_proj1)
∀z, HSNo zp1 (:-: z) = - p1 z
Proof:
Proof not loaded.
L215
Theorem. (HSNo_conj_HSNo)
∀z, HSNo zHSNo (conj_HSNo z)
Proof:
Proof not loaded.
L219
Theorem. (conj_HSNo_proj0)
∀z, HSNo zp0 (z '') = (p0 z) '
Proof:
Proof not loaded.
L223
Theorem. (conj_HSNo_proj1)
∀z, HSNo zp1 (z '') = - p1 z
Proof:
Proof not loaded.
L227
Theorem. (HSNo_add_HSNo)
∀z w, HSNo zHSNo wHSNo (add_HSNo z w)
Proof:
Proof not loaded.
L231
Theorem. (add_HSNo_proj0)
∀z w, HSNo zHSNo wp0 (plus' z w) = p0 z + p0 w
Proof:
Proof not loaded.
L235
Theorem. (add_HSNo_proj1)
∀z w, HSNo zHSNo wp1 (plus' z w) = p1 z + p1 w
Proof:
Proof not loaded.
L239
Theorem. (HSNo_mul_HSNo)
∀z w, HSNo zHSNo wHSNo (z w)
Proof:
Proof not loaded.
L243
Theorem. (mul_HSNo_proj0)
∀z w, HSNo zHSNo wp0 (mult' z w) = p0 z * p0 w + - (p1 w ' * p1 z)
Proof:
Proof not loaded.
L247
Theorem. (mul_HSNo_proj1)
∀z w, HSNo zHSNo wp1 (mult' z w) = p1 w * p0 z + p1 z * p0 w '
Proof:
Proof not loaded.
L251
Theorem. (CSNo_HSNo_proj0)
∀x, CSNo xp0 x = x
Proof:
Proof not loaded.
L255
Theorem. (CSNo_HSNo_proj1)
∀x, CSNo xp1 x = 0
Proof:
Proof not loaded.
L259
Theorem. (HSNo_p0_0)
p0 0 = 0
Proof:
Proof not loaded.
L263
Theorem. (HSNo_p1_0)
p1 0 = 0
Proof:
Proof not loaded.
L267
Theorem. (HSNo_p0_1)
p0 1 = 1
Proof:
Proof not loaded.
L271
Theorem. (HSNo_p1_1)
p1 1 = 0
Proof:
Proof not loaded.
L275
Theorem. (HSNo_p0_i)
p0 i = i
Proof:
Proof not loaded.
L279
Theorem. (HSNo_p1_i)
p1 i = 0
Proof:
Proof not loaded.
L283
Theorem. (HSNo_p0_j)
p0 j = 0
Proof:
Proof not loaded.
L287
Theorem. (HSNo_p1_j)
p1 j = 1
Proof:
Proof not loaded.
L291
Theorem. (HSNo_p0_k)
p0 k = 0
Proof:
Proof not loaded.
L295
Theorem. (HSNo_p1_k)
p1 k = i
Proof:
Proof not loaded.
L299
Theorem. (minus_HSNo_minus_CSNo)
∀x, CSNo x:-: x = - x
Proof:
Proof not loaded.
L303
Theorem. (minus_HSNo_0)
:-: 0 = 0
Proof:
Proof not loaded.
L308
Theorem. (conj_HSNo_conj_CSNo)
∀x, CSNo xx '' = x '
Proof:
Proof not loaded.
L312
Theorem. (conj_HSNo_id_SNo)
∀x, SNo xx '' = x
Proof:
Proof not loaded.
L319
Theorem. (conj_HSNo_0)
0 '' = 0
Proof:
Proof not loaded.
L324
Theorem. (conj_HSNo_1)
1 '' = 1
Proof:
Proof not loaded.
L329
Theorem. (add_HSNo_add_CSNo)
∀x y, CSNo xCSNo yx + y = x + y
Proof:
Proof not loaded.
L333
Theorem. (mul_HSNo_mul_CSNo)
∀x y, CSNo xCSNo yx y = x * y
Proof:
Proof not loaded.
L337
Theorem. (minus_HSNo_invol)
∀z, HSNo z:-: :-: z = z
Proof:
Proof not loaded.
L341
Theorem. (conj_HSNo_invol)
∀z, HSNo zz '' '' = z
Proof:
Proof not loaded.
L345
Theorem. (conj_minus_HSNo)
∀z, HSNo z(:-: z) '' = :-: (z '')
Proof:
Proof not loaded.
L349
Theorem. (minus_add_HSNo)
∀z w, HSNo zHSNo w:-: (z + w) = :-: z + :-: w
Proof:
Proof not loaded.
L353
Theorem. (conj_add_HSNo)
∀z w, HSNo zHSNo w(z + w) '' = z '' + w ''
Proof:
Proof not loaded.
L357
Theorem. (add_HSNo_com)
∀z w, HSNo zHSNo wz + w = w + z
Proof:
Proof not loaded.
L361
Theorem. (add_HSNo_assoc)
∀z w v, HSNo zHSNo wHSNo v(z + w) + v = z + (w + v)
Proof:
Proof not loaded.
L365
Theorem. (add_HSNo_0L)
∀z, HSNo zadd_HSNo 0 z = z
Proof:
Proof not loaded.
L369
Theorem. (add_HSNo_0R)
∀z, HSNo zadd_HSNo z 0 = z
Proof:
Proof not loaded.
L373
Theorem. (add_HSNo_minus_HSNo_linv)
∀z, HSNo zadd_HSNo (minus_HSNo z) z = 0
Proof:
Proof not loaded.
L377
Theorem. (add_HSNo_minus_HSNo_rinv)
∀z, HSNo zadd_HSNo z (minus_HSNo z) = 0
Proof:
Proof not loaded.
L381
Theorem. (mul_HSNo_0R)
∀z, HSNo zz 0 = 0
Proof:
Proof not loaded.
L385
Theorem. (mul_HSNo_0L)
∀z, HSNo z0 z = 0
Proof:
Proof not loaded.
L389
Theorem. (mul_HSNo_1R)
∀z, HSNo zz 1 = z
Proof:
Proof not loaded.
L393
Theorem. (mul_HSNo_1L)
∀z, HSNo z1 z = z
Proof:
Proof not loaded.
L397
Theorem. (conj_mul_HSNo)
∀z w, HSNo zHSNo w(z w) '' = w '' z ''
Proof:
Proof not loaded.
L401
Theorem. (mul_HSNo_distrL)
∀z w u, HSNo zHSNo wHSNo uz (w + u) = z w + z u
Proof:
Proof not loaded.
L405
Theorem. (mul_HSNo_distrR)
∀z w u, HSNo zHSNo wHSNo u(z + w) u = z u + w u
Proof:
Proof not loaded.
L409
Theorem. (minus_mul_HSNo_distrR)
∀z w, HSNo zHSNo wz (:-: w) = :-: z w
Proof:
Proof not loaded.
L413
Theorem. (minus_mul_HSNo_distrL)
∀z w, HSNo zHSNo w(:-: z) w = :-: z w
Proof:
Proof not loaded.
L417
Theorem. (exp_HSNo_nat_0)
∀z, z0 = 1
Proof:
Proof not loaded.
L421
Theorem. (exp_HSNo_nat_S)
∀z n, nat_p nz(ordsucc n) = z zn
Proof:
Proof not loaded.
L425
Theorem. (exp_HSNo_nat_1)
∀z, HSNo zz1 = z
Proof:
Proof not loaded.
L429
Theorem. (exp_HSNo_nat_2)
∀z, HSNo zz2 = z z
Proof:
Proof not loaded.
L433
Theorem. (HSNo_exp_HSNo_nat)
∀z, HSNo z∀n, nat_p nHSNo (zn)
Proof:
Proof not loaded.
L437
Theorem. (add_CSNo_com_3b_1_2)
∀x y z, CSNo xCSNo yCSNo z(x + y) + z = (x + z) + y
Proof:
Proof not loaded.
L450
Theorem. (add_CSNo_com_4_inner_mid)
∀x y z w, CSNo xCSNo yCSNo zCSNo w(x + y) + (z + w) = (x + z) + (y + w)
Proof:
Proof not loaded.
L461
Theorem. (add_CSNo_rotate_4_0312)
∀x y z w, CSNo xCSNo yCSNo zCSNo w(x + y) + (z + w) = (x + w) + (y + z)
Proof:
Proof not loaded.
L468
Theorem. (Quaternion_i_sqr)
i i = :-: 1
Proof:
Proof not loaded.
L475
Theorem. (Quaternion_j_sqr)
j j = :-: 1
Proof:
Proof not loaded.
L507
Theorem. (Quaternion_k_sqr)
k k = :-: 1
Proof:
Proof not loaded.
L544
Theorem. (Quaternion_i_j)
i j = k
Proof:
Proof not loaded.
L571
Theorem. (Quaternion_j_k)
j k = i
Proof:
Proof not loaded.
L600
Theorem. (Quaternion_k_i)
k i = j
Proof:
Proof not loaded.
L633
Theorem. (Quaternion_j_i)
j i = :-: k
Proof:
Proof not loaded.
L663
Theorem. (Quaternion_k_j)
k j = :-: i
Proof:
Proof not loaded.
L693
Theorem. (Quaternion_i_k)
i k = :-: j
Proof:
Proof not loaded.
L721
Theorem. (add_CSNo_rotate_3_1)
∀x y z, CSNo xCSNo yCSNo zx + y + z = z + x + y
Proof:
Proof not loaded.
L735
Theorem. (mul_CSNo_rotate_3_1)
∀x y z, CSNo xCSNo yCSNo zx * y * z = z * x * y
Proof:
Proof not loaded.
L749
Theorem. (mul_HSNo_assoc)
∀z w v, HSNo zHSNo wHSNo vz (w v) = (z w) v
Proof:
Proof not loaded.
L1325
Theorem. (conj_HSNo_i)
i '' = :-: i
Proof:
Proof not loaded.
L1332
Theorem. (conj_HSNo_j)
j '' = :-: j
Proof:
Proof not loaded.
L1349
Theorem. (conj_HSNo_k)
k '' = :-: k
Proof:
Proof not loaded.
End of Section SurQuaternions
Beginning of Section Quaternions
Notation. We use - as a prefix operator with priority 358 corresponding to applying term minus_HSNo.
Notation. We use + as an infix operator with priority 360 and which associates to the right corresponding to applying term add_HSNo.
Notation. We use * as an infix operator with priority 355 and which associates to the right corresponding to applying term mul_HSNo.
L1374
Let i ≝ Complex_i
L1376
Let j ≝ Quaternion_j
L1377
Let k ≝ Quaternion_k
L1378
Let p0 : setsetHSNo_proj0
L1379
Let p1 : setsetHSNo_proj1
L1380
Let pa : setsetsetCSNo_pair
L1381
Definition. We define quaternion to be {pa (u 0) (u 1)|u ∈ complexcomplex} of type set.
L1383
Theorem. (quaternion_I)
∀x ycomplex, pa x y quaternion
Proof:
Proof not loaded.
L1394
Theorem. (quaternion_E)
∀zquaternion, ∀p : prop, (∀x ycomplex, z = pa x yp)p
Proof:
Proof not loaded.
L1407
Proof:
Proof not loaded.
L1418
Theorem. (complex_quaternion)
complex quaternion
Proof:
Proof not loaded.
L1428
Proof:
Proof not loaded.
L1432
Proof:
Proof not loaded.
L1436
Proof:
Proof not loaded.
L1440
Proof:
Proof not loaded.
L1447
Proof:
Proof not loaded.
L1454
Theorem. (quaternion_p0_eq)
∀x ycomplex, p0 (pa x y) = x
Proof:
Proof not loaded.
L1459
Theorem. (quaternion_p1_eq)
∀x ycomplex, p1 (pa x y) = y
Proof:
Proof not loaded.
L1464
Theorem. (quaternion_p0_complex)
∀zquaternion, p0 z complex
Proof:
Proof not loaded.
L1473
Theorem. (quaternion_p1_complex)
∀zquaternion, p1 z complex
Proof:
Proof not loaded.
L1482
Theorem. (quaternion_proj0proj1_split)
∀z wquaternion, p0 z = p0 wp1 z = p1 wz = w
Proof:
Proof not loaded.
L1487
Proof:
Proof not loaded.
L1495
Proof:
Proof not loaded.
L1503
Proof:
Proof not loaded.
L1515
Proof:
Proof not loaded.
L1545
Theorem. (complex_p0_eq)
∀xcomplex, p0 x = x
Proof:
Proof not loaded.
L1551
Theorem. (complex_p1_eq)
∀xcomplex, p1 x = 0
Proof:
Proof not loaded.
End of Section Quaternions