Beginning of Section SurOctonions
Proof: Let z be given.
Assume Hz .
Apply Sing_nat_fresh_extension 4 nat_4 In_1_4 z to the current goal.
We will prove ExtendedSNoElt_ 4 z .
An exact proof term for the current goal is HSNo_ExtendedSNoElt_4 z Hz .
∎
Definition. We define
HSNo_pair to be
pair_tag {4 } of type
set → set → set .
Definition. We define
OSNo to be
CD_carr {4 } HSNo of type
set → prop .
Proof: An
exact proof term for the current goal is
CD_carr_0ext {4 } HSNo octonion_tag_fresh HSNo_0 .
∎
Proof:
An exact proof term for the current goal is HSNo_0 .
∎
Proof:
An exact proof term for the current goal is HSNo_1 .
∎
Let ctag : set → set ≝ λalpha ⇒ SetAdjoin alpha {4 }
Notation . We use
'' as a postfix operator with priority 100 corresponding to applying term
ctag .
Proof: Let z be given.
Assume Hz .
Apply OSNo_E z Hz to the current goal.
Let x and y be given.
Assume Hx : HSNo x .
Assume Hy : HSNo y .
Let v be given.
Apply UnionE_impred (HSNo_pair x y ) v Hv to the current goal.
Let u be given.
Apply binunionE x {w '' |w ∈ y } u H2 to the current goal.
We prove the intermediate
claim L1 :
v ∈ ⋃ x .
An exact proof term for the current goal is UnionI x v u H1 H3 .
We will prove ordinal v ∨ ∃i ∈ 5 , v = {i } .
An exact proof term for the current goal is extension_SNoElt_mon 4 5 (ordsuccI1 4 ) x (HSNo_ExtendedSNoElt_4 x Hx ) v L1 .
Apply ReplE_impred y ctag u H3 to the current goal.
Let w be given.
We prove the intermediate
claim L2 :
v ∈ w '' .
rewrite the current goal using H4 (from right to left).
An exact proof term for the current goal is H1 .
Apply binunionE w {{4 } } v L2 to the current goal.
We prove the intermediate
claim L3 :
v ∈ ⋃ y .
An exact proof term for the current goal is UnionI y v w H5 Hw .
An exact proof term for the current goal is extension_SNoElt_mon 4 5 (ordsuccI1 4 ) y (HSNo_ExtendedSNoElt_4 y Hy ) v L3 .
We will prove ordinal v ∨ ∃i ∈ 5 , v = {i } .
Apply orIR to the current goal.
We use 4 to witness the existential quantifier.
Apply andI to the current goal.
An exact proof term for the current goal is In_4_5 .
We will prove v = {4 } .
An exact proof term for the current goal is SingE {4 } v H5 .
∎
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 .
Notation . We use
:/: as an infix operator with priority 353 and no associativity corresponding to applying term
div_HSNo .
Notation . We use
' as a postfix operator with priority 100 corresponding to applying term
conj_HSNo .
Let i ≝ Complex_i
Let j ≝ Quaternion_j
Let k ≝ Quaternion_k
Definition. We define
OSNo_proj0 to be
CD_proj0 {4 } HSNo of type
set → set .
Definition. We define
OSNo_proj1 to be
CD_proj1 {4 } HSNo of type
set → set .
Theorem. (
OSNo_proj0_2 )
∀x y, HSNo x → HSNo y → p0 (pa x y ) = x
Theorem. (
OSNo_proj1_2 )
∀x y, HSNo x → HSNo y → p1 (pa x y ) = y
Proof: An
exact proof term for the current goal is
CD_proj0proj1_eta {4 } HSNo octonion_tag_fresh .
∎
Proof: An
exact proof term for the current goal is
CD_proj0proj1_split {4 } HSNo octonion_tag_fresh .
∎
Definition. We define
OSNoLev to be
λz ⇒ HSNoLev (p0 z ) ∪ HSNoLev (p1 z ) of type
set → set .
Proof: Let z be given.
Assume Hz .
Apply OSNo_E z Hz to the current goal.
Let x and y be given.
Assume Hx Hy .
Assume Hzxy : z = pa x y .
We will prove ordinal (HSNoLev (p0 (pa x y ) ) ∪ HSNoLev (p1 (pa x y ) ) ) .
rewrite the current goal using
OSNo_proj0_2 x y Hx Hy (from left to right).
rewrite the current goal using
OSNo_proj1_2 x y Hx Hy (from left to right).
We will prove ordinal (HSNoLev x ∪ HSNoLev y ) .
An exact proof term for the current goal is ordinal_binunion (HSNoLev x ) (HSNoLev y ) (HSNoLev_ordinal x Hx ) (HSNoLev_ordinal y Hy ) .
∎
Definition. We define
minus_OSNo to be
CD_minus {4 } HSNo minus_HSNo of type
set → set .
Definition. We define
conj_OSNo to be
CD_conj {4 } HSNo minus_HSNo conj_HSNo of type
set → set .
Definition. We define
add_OSNo to be
CD_add {4 } HSNo add_HSNo of type
set → set → set .
Definition. We define
mul_OSNo to be
CD_mul {4 } HSNo minus_HSNo conj_HSNo add_HSNo mul_HSNo of type
set → set → set .
Definition. We define
exp_OSNo_nat to be
CD_exp_nat {4 } HSNo minus_HSNo conj_HSNo add_HSNo mul_HSNo of type
set → set → set .
Notation . We use
:-: as a prefix operator with priority 358 corresponding to applying term
minus_OSNo .
Notation . We use
'' as a postfix operator with priority 100 corresponding to applying term
conj_OSNo .
Notation . We use
+ as an infix operator with priority 360 and which associates to the right corresponding to applying term
add_OSNo .
Notation . We use
⨯ as an infix operator with priority 355 and which associates to the right corresponding to applying term
mul_OSNo .
Notation . We use
:^: as an infix operator with priority 355 and which associates to the right corresponding to applying term
exp_OSNo_nat .
Proof: An
exact proof term for the current goal is
CD_minus_CD {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_minus_proj0 {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_minus_proj1 {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_conj_CD {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo conj_HSNo HSNo_conj_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_conj_proj0 {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo conj_HSNo HSNo_conj_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_conj_proj1 {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo conj_HSNo HSNo_conj_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_add_CD {4 } HSNo octonion_tag_fresh add_HSNo HSNo_add_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_add_proj0 {4 } HSNo octonion_tag_fresh add_HSNo HSNo_add_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_add_proj1 {4 } HSNo octonion_tag_fresh add_HSNo HSNo_add_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_mul_CD {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_mul_proj0 {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_mul_proj1 {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_proj0_F {4 } HSNo octonion_tag_fresh HSNo_0 .
∎
Proof: An
exact proof term for the current goal is
CD_proj1_F {4 } HSNo octonion_tag_fresh HSNo_0 .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj0 i HSNo_Complex_i .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj1 i HSNo_Complex_i .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj0 j HSNo_Quaternion_j .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj1 j HSNo_Quaternion_j .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj0 k HSNo_Quaternion_k .
∎
Proof: An
exact proof term for the current goal is
HSNo_OSNo_proj1 k HSNo_Quaternion_k .
∎
Proof: An
exact proof term for the current goal is
CD_minus_F_eq {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_0 minus_HSNo_0 .
∎
Proof:
An exact proof term for the current goal is minus_HSNo_0 .
∎
Proof: An
exact proof term for the current goal is
CD_conj_F_eq {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_0 minus_HSNo_0 conj_HSNo .
∎
Proof:
An exact proof term for the current goal is conj_HSNo_0 .
∎
Proof:
An exact proof term for the current goal is conj_HSNo_1 .
∎
Proof: An
exact proof term for the current goal is
CD_add_F_eq {4 } HSNo octonion_tag_fresh add_HSNo HSNo_0 (add_HSNo_0L 0 HSNo_0 ) .
∎
Proof: An
exact proof term for the current goal is
CD_mul_F_eq {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_conj_HSNo HSNo_mul_HSNo minus_HSNo_0 add_HSNo_0R mul_HSNo_0L mul_HSNo_0R .
∎
Proof: An
exact proof term for the current goal is
CD_minus_invol {4 } HSNo octonion_tag_fresh minus_HSNo HSNo_minus_HSNo minus_HSNo_invol .
∎
Proof: An
exact proof term for the current goal is
CD_conj_invol {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo HSNo_minus_HSNo HSNo_conj_HSNo minus_HSNo_invol conj_HSNo_invol .
∎
Proof: An
exact proof term for the current goal is
CD_conj_minus {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo HSNo_minus_HSNo HSNo_conj_HSNo conj_minus_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_minus_add {4 } HSNo octonion_tag_fresh minus_HSNo add_HSNo HSNo_minus_HSNo HSNo_add_HSNo minus_add_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_conj_add {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo minus_add_HSNo conj_add_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_add_com {4 } HSNo octonion_tag_fresh add_HSNo add_HSNo_com .
∎
Proof: Apply CD_add_assoc {4 } HSNo octonion_tag_fresh add_HSNo HSNo_add_HSNo add_HSNo_assoc to the current goal.
∎
Proof: An
exact proof term for the current goal is
CD_add_0L {4 } HSNo octonion_tag_fresh add_HSNo HSNo_0 add_HSNo_0L .
∎
Proof: An
exact proof term for the current goal is
CD_add_0R {4 } HSNo octonion_tag_fresh add_HSNo HSNo_0 add_HSNo_0R .
∎
Proof: An
exact proof term for the current goal is
CD_add_minus_linv {4 } HSNo octonion_tag_fresh minus_HSNo add_HSNo HSNo_minus_HSNo add_HSNo_minus_HSNo_linv .
∎
Proof: An
exact proof term for the current goal is
CD_add_minus_rinv {4 } HSNo octonion_tag_fresh minus_HSNo add_HSNo HSNo_minus_HSNo add_HSNo_minus_HSNo_rinv .
∎
Proof: An
exact proof term for the current goal is
CD_mul_0R {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 minus_HSNo_0 conj_HSNo_0 (add_HSNo_0L 0 HSNo_0 ) mul_HSNo_0L mul_HSNo_0R .
∎
Proof: An
exact proof term for the current goal is
CD_mul_0L {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_conj_HSNo minus_HSNo_0 (add_HSNo_0L 0 HSNo_0 ) mul_HSNo_0L mul_HSNo_0R .
∎
Proof: An
exact proof term for the current goal is
CD_mul_1R {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_1 minus_HSNo_0 conj_HSNo_0 conj_HSNo_1 add_HSNo_0L add_HSNo_0R mul_HSNo_0L mul_HSNo_1R .
∎
Proof: An
exact proof term for the current goal is
CD_mul_1L {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_1 HSNo_conj_HSNo minus_HSNo_0 add_HSNo_0R mul_HSNo_0L mul_HSNo_0R mul_HSNo_1L mul_HSNo_1R .
∎
Proof: An
exact proof term for the current goal is
CD_conj_mul {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo minus_HSNo_invol conj_HSNo_invol conj_minus_HSNo conj_add_HSNo minus_add_HSNo add_HSNo_com conj_mul_HSNo minus_mul_HSNo_distrR minus_mul_HSNo_distrL .
∎
Proof: An
exact proof term for the current goal is
CD_add_mul_distrL {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo minus_add_HSNo conj_add_HSNo add_HSNo_assoc add_HSNo_com mul_HSNo_distrL mul_HSNo_distrR .
∎
Proof: An
exact proof term for the current goal is
CD_add_mul_distrR {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo minus_add_HSNo add_HSNo_assoc add_HSNo_com mul_HSNo_distrL mul_HSNo_distrR .
∎
Proof: An
exact proof term for the current goal is
CD_minus_mul_distrR {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo conj_minus_HSNo minus_add_HSNo minus_mul_HSNo_distrR minus_mul_HSNo_distrL .
∎
Proof: An
exact proof term for the current goal is
CD_minus_mul_distrL {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo minus_add_HSNo minus_mul_HSNo_distrR minus_mul_HSNo_distrL .
∎
Proof: An
exact proof term for the current goal is
CD_exp_nat_0 {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_exp_nat_S {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo .
∎
Proof: An
exact proof term for the current goal is
CD_exp_nat_1 {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_1 minus_HSNo_0 conj_HSNo_0 conj_HSNo_1 add_HSNo_0L add_HSNo_0R mul_HSNo_0L mul_HSNo_1R .
∎
Proof: An
exact proof term for the current goal is
CD_exp_nat_2 {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_0 HSNo_1 minus_HSNo_0 conj_HSNo_0 conj_HSNo_1 add_HSNo_0L add_HSNo_0R mul_HSNo_0L mul_HSNo_1R .
∎
Proof: An
exact proof term for the current goal is
CD_exp_nat_CD {4 } HSNo octonion_tag_fresh minus_HSNo conj_HSNo add_HSNo mul_HSNo HSNo_minus_HSNo HSNo_conj_HSNo HSNo_add_HSNo HSNo_mul_HSNo HSNo_0 HSNo_1 .
∎
Proof: Let x, y and z be given.
Assume Hx Hy Hz .
We will
prove (x + y ) + z = (x + z ) + y .
rewrite the current goal using add_HSNo_assoc x y z Hx Hy Hz (from left to right).
We will
prove x + y + z = (x + z ) + y .
rewrite the current goal using add_HSNo_assoc x z y Hx Hz Hy (from left to right).
We will
prove x + y + z = x + z + y .
Use f_equal.
An exact proof term for the current goal is add_HSNo_com y z Hy Hz .
∎
Proof: Let x, y, z and w be given.
Assume Hx Hy Hz Hw .
rewrite the current goal using
add_HSNo_assoc (x + y ) z w (HSNo_add_HSNo x y Hx Hy ) Hz Hw (from right to left).
We will
prove ((x + y ) + z ) + w = (x + z ) + (y + w ) .
We will
prove ((x + z ) + y ) + w = (x + z ) + (y + w ) .
An
exact proof term for the current goal is
add_HSNo_assoc (x + z ) y w (HSNo_add_HSNo x z Hx Hz ) Hy Hw .
∎
Proof: Let x, y, z and w be given.
Assume Hx Hy Hz Hw .
rewrite the current goal using add_HSNo_com z w Hz Hw (from left to right).
We will
prove (x + y ) + (w + z ) = (x + w ) + (y + z ) .
∎
Definition. We define
Octonion_i0 to be
pa 0 1 of type
set .
Definition. We define
Octonion_i3 to be
pa 0 (- Complex_i ) of type
set .
Definition. We define
Octonion_i5 to be
pa 0 (- Quaternion_k ) of type
set .
Definition. We define
Octonion_i6 to be
pa 0 (- Quaternion_j ) of type
set .
Let i1 ≝ Complex_i
Let i2 ≝ Quaternion_j
Let i4 ≝ Quaternion_k
Proof:
An exact proof term for the current goal is HSNo_Complex_i .
∎
Proof:
An exact proof term for the current goal is HSNo_Quaternion_j .
∎
Proof:
An exact proof term for the current goal is HSNo_Quaternion_k .
∎
Proof: An
exact proof term for the current goal is
OSNo_I 0 1 HSNo_0 HSNo_1 .
∎
Proof: An
exact proof term for the current goal is
OSNo_I 0 (- i ) HSNo_0 (HSNo_minus_HSNo i HSNo_Complex_i ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_I 0 (- k ) HSNo_0 (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_I 0 (- j ) HSNo_0 (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj0_2 0 1 HSNo_0 HSNo_1 .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj1_2 0 1 HSNo_0 HSNo_1 .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj0_2 0 (- i ) HSNo_0 (HSNo_minus_HSNo i HSNo_Complex_i ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj1_2 0 (- i ) HSNo_0 (HSNo_minus_HSNo i HSNo_Complex_i ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj0_2 0 (- k ) HSNo_0 (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj1_2 0 (- k ) HSNo_0 (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj0_2 0 (- j ) HSNo_0 (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
∎
Proof: An
exact proof term for the current goal is
OSNo_proj1_2 0 (- j ) HSNo_0 (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
∎
Proof: rewrite the current goal using
mul_OSNo_mul_HSNo i i HSNo_Complex_i HSNo_Complex_i (from left to right).
We will
prove i * i = - 1 .
An exact proof term for the current goal is Quaternion_i_sqr .
∎
Proof: rewrite the current goal using
mul_OSNo_mul_HSNo j j HSNo_Quaternion_j HSNo_Quaternion_j (from left to right).
We will
prove j * j = - 1 .
An exact proof term for the current goal is Quaternion_j_sqr .
∎
Proof: rewrite the current goal using
mul_OSNo_mul_HSNo k k HSNo_Quaternion_k HSNo_Quaternion_k (from left to right).
We will
prove k * k = - 1 .
An exact proof term for the current goal is Quaternion_k_sqr .
∎
Proof:
We prove the intermediate
claim Li0i0 :
OSNo (i0 ⨯ i0 ) .
We will
prove i0 ⨯ i0 = - 1 .
We prove the intermediate
claim L1 :
HSNo (- 1 ) .
An exact proof term for the current goal is HSNo_minus_HSNo 1 HSNo_1 .
We will
prove p0 (i0 ⨯ i0 ) = p0 (- 1 ) .
We will
prove p0 (i0 ⨯ i0 ) = - 1 .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - (1 ' * 1 ) = - 1 .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
We will
prove 0 + - (1 ' * 1 ) = - 1 .
rewrite the current goal using conj_HSNo_id_SNo 1 SNo_1 (from left to right).
We will
prove 0 + - (1 * 1 ) = - 1 .
rewrite the current goal using mul_HSNo_1L 1 HSNo_1 (from left to right).
We will
prove 0 + - 1 = - 1 .
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) L1 .
We will
prove p1 (i0 ⨯ i0 ) = p1 (- 1 ) .
We will
prove p1 (i0 ⨯ i0 ) = 0 .
We will
prove p1 i0 * p0 i0 + p1 i0 * p0 i0 ' = 0 .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 1 * 0 + 1 * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof:
We prove the intermediate
claim Li3i3 :
OSNo (i3 ⨯ i3 ) .
We will
prove i3 ⨯ i3 = - 1 .
We prove the intermediate
claim L1 :
HSNo (- 1 ) .
An exact proof term for the current goal is HSNo_minus_HSNo 1 HSNo_1 .
We will
prove p0 (i3 ⨯ i3 ) = p0 (- 1 ) .
We will
prove p0 (i3 ⨯ i3 ) = - 1 .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
We will
prove 0 + - ((- i ) ' * (- i ) ) = - 1 .
rewrite the current goal using conj_minus_HSNo i HSNo_Complex_i (from left to right).
We will
prove 0 + - ((- i ' ) * (- i ) ) = - 1 .
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
We will
prove 0 + - (i * (- i ) ) = - 1 .
rewrite the current goal using minus_mul_HSNo_distrR i i HSNo_Complex_i HSNo_Complex_i (from left to right).
We will
prove 0 + - - i * i = - 1 .
rewrite the current goal using
minus_HSNo_invol (i * i ) (HSNo_mul_HSNo i i HSNo_Complex_i HSNo_Complex_i ) (from left to right).
rewrite the current goal using Quaternion_i_sqr (from left to right).
We will
prove 0 + - 1 = - 1 .
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) L1 .
We will
prove p1 (i3 ⨯ i3 ) = p1 (- 1 ) .
We will
prove p1 (i3 ⨯ i3 ) = 0 .
We will
prove p1 i3 * p0 i3 + p1 i3 * p0 i3 ' = 0 .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove (- i ) * 0 + (- i ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
We will
prove (- i ) * 0 + (- i ) * 0 = 0 .
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof:
We prove the intermediate
claim Li5i5 :
OSNo (i5 ⨯ i5 ) .
We will
prove i5 ⨯ i5 = - 1 .
We prove the intermediate
claim L1 :
HSNo (- 1 ) .
An exact proof term for the current goal is HSNo_minus_HSNo 1 HSNo_1 .
We will
prove p0 (i5 ⨯ i5 ) = p0 (- 1 ) .
We will
prove p0 (i5 ⨯ i5 ) = - 1 .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
We will
prove 0 + - ((- k ) ' * (- k ) ) = - 1 .
rewrite the current goal using conj_minus_HSNo k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - ((- k ' ) * (- k ) ) = - 1 .
rewrite the current goal using conj_HSNo_k (from left to right).
We will
prove 0 + - ((- - k ) * (- k ) ) = - 1 .
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - (k * (- k ) ) = - 1 .
rewrite the current goal using minus_mul_HSNo_distrR k k HSNo_Quaternion_k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - - (k * k ) = - 1 .
rewrite the current goal using Quaternion_k_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
We will
prove 0 + - 1 = - 1 .
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) L1 .
We will
prove p1 (i5 ⨯ i5 ) = p1 (- 1 ) .
We will
prove p1 (i5 ⨯ i5 ) = 0 .
We will
prove p1 i5 * p0 i5 + p1 i5 * p0 i5 ' = 0 .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove (- k ) * 0 + (- k ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof:
We prove the intermediate
claim Li6i6 :
OSNo (i6 ⨯ i6 ) .
We will
prove i6 ⨯ i6 = - 1 .
We prove the intermediate
claim L1 :
HSNo (- 1 ) .
An exact proof term for the current goal is HSNo_minus_HSNo 1 HSNo_1 .
We will
prove p0 (i6 ⨯ i6 ) = p0 (- 1 ) .
We will
prove p0 (i6 ⨯ i6 ) = - 1 .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
We will
prove 0 + - ((- j ) ' * (- j ) ) = - 1 .
rewrite the current goal using conj_minus_HSNo j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - ((- j ' ) * (- j ) ) = - 1 .
rewrite the current goal using conj_HSNo_j (from left to right).
We will
prove 0 + - ((- - j ) * (- j ) ) = - 1 .
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - (j * (- j ) ) = - 1 .
rewrite the current goal using minus_mul_HSNo_distrR j j HSNo_Quaternion_j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - - (j * j ) = - 1 .
rewrite the current goal using Quaternion_j_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
We will
prove 0 + - 1 = - 1 .
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) L1 .
We will
prove p1 (i6 ⨯ i6 ) = p1 (- 1 ) .
We will
prove p1 (i6 ⨯ i6 ) = 0 .
We will
prove p1 i6 * p0 i6 + p1 i6 * p0 i6 ' = 0 .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove (- j ) * 0 + (- j ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li1i2 :
OSNo (i1 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove i * j + - (0 ' * 0 ) = k .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (i * j ) (HSNo_mul_HSNo i j HSNo_Complex_i HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is Quaternion_i_j .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * i + 0 * j ' = 0 .
rewrite the current goal using
mul_HSNo_0L (j ' ) (HSNo_conj_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li2i1 :
OSNo (i2 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove j * i + - (0 ' * 0 ) = - k .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (j * i ) (HSNo_mul_HSNo j i HSNo_Quaternion_j HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is Quaternion_j_i .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * j + 0 * i ' = - 0 .
rewrite the current goal using
mul_HSNo_0L (i ' ) (HSNo_conj_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li2i4 :
OSNo (i2 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove j * k + - (0 ' * 0 ) = i .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (j * k ) (HSNo_mul_HSNo j k HSNo_Quaternion_j HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is Quaternion_j_k .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * j + 0 * k ' = 0 .
rewrite the current goal using
mul_HSNo_0L (k ' ) (HSNo_conj_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li4i2 :
OSNo (i4 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove k * j + - (0 ' * 0 ) = - i .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (k * j ) (HSNo_mul_HSNo k j HSNo_Quaternion_k HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is Quaternion_k_j .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * k + 0 * j ' = - 0 .
rewrite the current goal using
mul_HSNo_0L (j ' ) (HSNo_conj_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li4i1 :
OSNo (i4 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove k * i + - (0 ' * 0 ) = j .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (k * i ) (HSNo_mul_HSNo k i HSNo_Quaternion_k HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is Quaternion_k_i .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * k + 0 * i ' = 0 .
rewrite the current goal using
mul_HSNo_0L (i ' ) (HSNo_conj_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li1i4 :
OSNo (i1 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove i * k + - (0 ' * 0 ) = - j .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
add_HSNo_0R (i * k ) (HSNo_mul_HSNo i k HSNo_Complex_i HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is Quaternion_i_k .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * i + 0 * k ' = - 0 .
rewrite the current goal using
mul_HSNo_0L (k ' ) (HSNo_conj_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li2i3 :
OSNo (i2 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove j * 0 + - ((- i ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- i ) ' ) (HSNo_conj_HSNo (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove (- i ) * j + 0 * 0 ' = (- k ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL i j HSNo_Complex_i HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_i_j (from left to right).
An
exact proof term for the current goal is
add_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li3i2 :
OSNo (i3 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * j + - (0 ' * (- i ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * 0 + (- i ) * j ' = - (- k ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrL i (- j ) HSNo_Complex_i (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR i j HSNo_Complex_i HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_i_j (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0L k HSNo_Quaternion_k .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li3i5 :
OSNo (i3 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * 0 + - ((- k ) ' * (- i ) ) = j .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo k HSNo_Quaternion_k (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - (k * (- i ) ) = j .
rewrite the current goal using minus_mul_HSNo_distrR k i HSNo_Quaternion_k HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_k_i (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0L j HSNo_Quaternion_j .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove (- k ) * 0 + (- i ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li5i3 :
OSNo (i5 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * 0 + - ((- i ) ' * (- k ) ) = - j .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo i HSNo_Complex_i (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
We will
prove 0 + - (i * (- k ) ) = - j .
rewrite the current goal using minus_mul_HSNo_distrR i k HSNo_Complex_i HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_i_k (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove (- i ) * 0 + (- k ) * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li5i2 :
OSNo (i5 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * j + - (0 ' * (- k ) ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * 0 + (- k ) * j ' = (- i ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrR (- k ) j (HSNo_minus_HSNo k HSNo_Quaternion_k ) HSNo_Quaternion_j (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL k j HSNo_Quaternion_k HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_k_j (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li2i5 :
OSNo (i2 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove j * 0 + - ((- k ) ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- k ) ' ) (HSNo_conj_HSNo (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove (- k ) * j + 0 * 0 ' = - (- i ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL k j HSNo_Quaternion_k HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_k_j (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0R i HSNo_Complex_i .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li3i4 :
OSNo (i3 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * k + - (0 ' * (- i ) ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * 0 + (- i ) * k ' = (- j ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrR (- i ) k (HSNo_minus_HSNo i HSNo_Complex_i ) HSNo_Quaternion_k (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL i k HSNo_Complex_i HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_i_k (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li4i3 :
OSNo (i4 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove k * 0 + - ((- i ) ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- i ) ' ) (HSNo_conj_HSNo (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove (- i ) * k + 0 * 0 ' = - (- j ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL i k HSNo_Complex_i HSNo_Quaternion_k (from left to right).
We will
prove - i * k + 0 = - - j .
rewrite the current goal using Quaternion_i_k (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0R j HSNo_Quaternion_j .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li4i6 :
OSNo (i4 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove k * 0 + - ((- j ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- j ) ' ) (HSNo_conj_HSNo (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove (- j ) * k + 0 * 0 ' = (- i ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL j k HSNo_Quaternion_j HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_j_k (from left to right).
An
exact proof term for the current goal is
add_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li6i4 :
OSNo (i6 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * k + - (0 ' * (- j ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * 0 + (- j ) * k ' = - (- i ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrR (- j ) k (HSNo_minus_HSNo j HSNo_Quaternion_j ) HSNo_Quaternion_k (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL j k HSNo_Quaternion_j HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_j_k (from left to right).
We will
prove 0 + - - i = - - i .
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0L i HSNo_Complex_i .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li6i3 :
OSNo (i6 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * 0 + - ((- i ) ' * (- j ) ) = k .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo i HSNo_Complex_i (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
We will
prove 0 + - (i * (- j ) ) = k .
rewrite the current goal using minus_mul_HSNo_distrR i j HSNo_Complex_i HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_i_j (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0L k HSNo_Quaternion_k .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove (- i ) * 0 + (- j ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li3i6 :
OSNo (i3 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * 0 + - ((- j ) ' * (- i ) ) = - k .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo j HSNo_Quaternion_j (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - (j * (- i ) ) = - k .
rewrite the current goal using minus_mul_HSNo_distrR j i HSNo_Quaternion_j HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_j_i (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove (- j ) * 0 + (- i ) * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li4i5 :
OSNo (i4 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove k * 0 + - ((- k ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- k ) ' ) (HSNo_conj_HSNo (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove (- k ) * k + 0 * 0 ' = 1 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL k k HSNo_Quaternion_k HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_k_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An exact proof term for the current goal is add_HSNo_0R 1 HSNo_1 .
∎
Proof: We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li5i4 :
OSNo (i5 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * k + - (0 ' * (- k ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * 0 + (- k ) * k ' = - 1 .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
We will
prove 0 + (- k ) * (- k ) = - 1 .
rewrite the current goal using
minus_mul_HSNo_distrL k (- k ) HSNo_Quaternion_k (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR k k HSNo_Quaternion_k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - - k * k = - 1 .
rewrite the current goal using Quaternion_k_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) (HSNo_minus_HSNo 1 HSNo_1 ) .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li5i0 :
OSNo (i5 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - (1 ' * (- k ) ) = k .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_id_SNo 1 SNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_1L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
We will
prove 0 + - - k = k .
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0L k HSNo_Quaternion_k .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 1 * 0 + (- k ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li0i5 :
OSNo (i0 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - ((- k ) ' * 1 ) = - k .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo k HSNo_Quaternion_k (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - (k * 1 ) = - k .
rewrite the current goal using mul_HSNo_1R k HSNo_Quaternion_k (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
rewrite the current goal using
OSNo_p1_k (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove (- k ) * 0 + 1 * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li0i4 :
OSNo (i0 ⨯ i4 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i4 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * k + - (0 ' * 1 ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using mul_HSNo_0L 1 HSNo_1 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i4 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 0 * 0 + 1 * k ' = (- k ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_1L (k ' ) (HSNo_conj_HSNo k HSNo_Quaternion_k ) (from left to right).
We will
prove 0 + k ' = (- k ) .
rewrite the current goal using conj_HSNo_k (from left to right).
We will
prove 0 + - k = (- k ) .
An
exact proof term for the current goal is
add_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li4 :
OSNo i4 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li4i0 :
OSNo (i4 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i4 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i4 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove k * 0 + - (1 ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R k HSNo_Quaternion_k (from left to right).
rewrite the current goal using
mul_HSNo_0R (1 ' ) (HSNo_conj_HSNo 1 HSNo_1 ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i4 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_k (from left to right).
rewrite the current goal using
OSNo_p1_k (from left to right).
We will
prove 1 * k + 0 * 0 ' = - (- k ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using mul_HSNo_1L k HSNo_Quaternion_k (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0R k HSNo_Quaternion_k .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li5i6 :
OSNo (i5 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * 0 + - ((- j ) ' * (- k ) ) = i .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo j HSNo_Quaternion_j (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - (j * (- k ) ) = i .
rewrite the current goal using minus_mul_HSNo_distrR j k HSNo_Quaternion_j HSNo_Quaternion_k (from left to right).
rewrite the current goal using Quaternion_j_k (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0L i HSNo_Complex_i .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove (- j ) * 0 + (- k ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li6i5 :
OSNo (i6 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * 0 + - ((- k ) ' * (- j ) ) = - i .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo k HSNo_Quaternion_k (from left to right).
rewrite the current goal using conj_HSNo_k (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
We will
prove 0 + - (k * (- j ) ) = - i .
rewrite the current goal using minus_mul_HSNo_distrR k j HSNo_Quaternion_k HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_k_j (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove (- k ) * 0 + (- j ) * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li6i1 :
OSNo (i6 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * i + - (0 ' * (- j ) ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * 0 + (- j ) * i ' = (- k ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrL j (- i ) HSNo_Quaternion_j (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR j i HSNo_Quaternion_j HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_j_i (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li1i6 :
OSNo (i1 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove i * 0 + - ((- j ) ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- j ) ' ) (HSNo_conj_HSNo (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i5 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove (- j ) * i + 0 * 0 ' = - (- k ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL j i HSNo_Quaternion_j HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_j_i (from left to right).
rewrite the current goal using minus_HSNo_invol k HSNo_Quaternion_k (from left to right).
An exact proof term for the current goal is add_HSNo_0R k HSNo_Quaternion_k .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li1i5 :
OSNo (i1 ⨯ i5 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i5 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove i * 0 + - ((- k ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- k ) ' ) (HSNo_conj_HSNo (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i5 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove (- k ) * i + 0 * 0 ' = (- j ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL k i HSNo_Quaternion_k HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_k_i (from left to right).
An
exact proof term for the current goal is
add_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li5 :
OSNo i5 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li5i1 :
OSNo (i5 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i5 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i5 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * i + - (0 ' * (- k ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0L (- k ) (HSNo_minus_HSNo k HSNo_Quaternion_k ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i5 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i5 (from left to right).
rewrite the current goal using
OSNo_p1_i5 (from left to right).
We will
prove 0 * 0 + (- k ) * i ' = - (- j ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrL k (- i ) HSNo_Quaternion_k (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR k i HSNo_Quaternion_k HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_k_i (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0L j HSNo_Quaternion_j .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li6i0 :
OSNo (i6 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - (1 ' * (- j ) ) = j .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_id_SNo 1 SNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_1L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0L j HSNo_Quaternion_j .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 1 * 0 + (- j ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li0i6 :
OSNo (i0 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - ((- j ) ' * 1 ) = - j .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo j HSNo_Quaternion_j (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
We will
prove 0 + - (j * 1 ) = - j .
rewrite the current goal using mul_HSNo_1R j HSNo_Quaternion_j (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) .
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove (- j ) * 0 + 1 * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li0i2 :
OSNo (i0 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * j + - (0 ' * 1 ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 1 HSNo_1 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 0 * 0 + 1 * j ' = (- j ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_1L (j ' ) (HSNo_conj_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using
add_HSNo_0L (j ' ) (HSNo_conj_HSNo j HSNo_Quaternion_j ) (from left to right).
An exact proof term for the current goal is conj_HSNo_j .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li2i0 :
OSNo (i2 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove j * 0 + - (1 ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0R (1 ' ) (HSNo_conj_HSNo 1 HSNo_1 ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i6 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
We will
prove 1 * j + 0 * 0 ' = - (- j ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_invol j HSNo_Quaternion_j (from left to right).
rewrite the current goal using mul_HSNo_1L j HSNo_Quaternion_j (from left to right).
An exact proof term for the current goal is add_HSNo_0R j HSNo_Quaternion_j .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li2i6 :
OSNo (i2 ⨯ i6 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i2 i6 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i2 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove j * 0 + - ((- j ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- j ) ' ) (HSNo_conj_HSNo (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i2 i6 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove (- j ) * j + 0 * 0 ' = 1 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL j j HSNo_Quaternion_j HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_j_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An exact proof term for the current goal is add_HSNo_0R 1 HSNo_1 .
∎
Proof: We prove the intermediate
claim Li2 :
OSNo i2 .
We prove the intermediate
claim Li6 :
OSNo i6 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li6i2 :
OSNo (i6 ⨯ i2 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i6 i2 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i6 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * j + - (0 ' * (- j ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L j HSNo_Quaternion_j (from left to right).
rewrite the current goal using
mul_HSNo_0L (- j ) (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i6 i2 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_j (from left to right).
rewrite the current goal using
OSNo_p1_j (from left to right).
rewrite the current goal using
OSNo_p0_i6 (from left to right).
rewrite the current goal using
OSNo_p1_i6 (from left to right).
We will
prove 0 * 0 + (- j ) * j ' = - 1 .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_j (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrL j (- j ) HSNo_Quaternion_j (HSNo_minus_HSNo j HSNo_Quaternion_j ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR j j HSNo_Quaternion_j HSNo_Quaternion_j (from left to right).
rewrite the current goal using Quaternion_j_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) (HSNo_minus_HSNo 1 HSNo_1 ) .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li0i1 :
OSNo (i0 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * i + - (0 ' * 1 ) = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 1 HSNo_1 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 0 * 0 + 1 * i ' = (- i ) .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_1L (i ' ) (HSNo_conj_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using
add_HSNo_0L (i ' ) (HSNo_conj_HSNo i HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is conj_HSNo_i .
∎
Proof: We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li1i0 :
OSNo (i1 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove i * 0 + - (1 ' * 0 ) = - 0 .
rewrite the current goal using mul_HSNo_0R i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0R (1 ' ) (HSNo_conj_HSNo 1 HSNo_1 ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
We will
prove 1 * i + 0 * 0 ' = - (- i ) .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
rewrite the current goal using mul_HSNo_1L i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0R i HSNo_Complex_i .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li1i3 :
OSNo (i1 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i1 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i1 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove i * 0 + - ((- i ) ' * 0 ) = 0 .
rewrite the current goal using mul_HSNo_0R i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0R ((- i ) ' ) (HSNo_conj_HSNo (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i1 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove (- i ) * i + 0 * 0 ' = 1 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using minus_mul_HSNo_distrL i i HSNo_Complex_i HSNo_Complex_i (from left to right).
We will
prove - i * i + 0 = 1 .
rewrite the current goal using Quaternion_i_sqr (from left to right).
We will
prove - - 1 + 0 = 1 .
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An exact proof term for the current goal is add_HSNo_0R 1 HSNo_1 .
∎
Proof: We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li3i1 :
OSNo (i3 ⨯ i1 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i1 ?? ?? .
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * i + - (0 ' * (- i ) ) = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0L i HSNo_Complex_i (from left to right).
rewrite the current goal using
mul_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
rewrite the current goal using
OSNo_p1_i0 (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i1 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
We will
prove 0 * 0 + (- i ) * i ' = - 1 .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using
minus_mul_HSNo_distrL i (- i ) HSNo_Complex_i (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_mul_HSNo_distrR i i HSNo_Complex_i HSNo_Complex_i (from left to right).
rewrite the current goal using Quaternion_i_sqr (from left to right).
rewrite the current goal using minus_HSNo_invol 1 HSNo_1 (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- 1 ) (HSNo_minus_HSNo 1 HSNo_1 ) .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li3i0 :
OSNo (i3 ⨯ i0 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i3 i0 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i3 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - (1 ' * (- i ) ) = i .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_HSNo_id_SNo 1 SNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_1L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
An exact proof term for the current goal is add_HSNo_0L i HSNo_Complex_i .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i3 i0 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 1 * 0 + (- i ) * 0 ' = 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
Proof: We prove the intermediate
claim Li3 :
OSNo i3 .
We prove the intermediate
claim Li0 :
OSNo i0 .
We prove the intermediate
claim Li1 :
OSNo i1 .
We prove the intermediate
claim Li0i3 :
OSNo (i0 ⨯ i3 ) .
An
exact proof term for the current goal is
OSNo_mul_OSNo i0 i3 ?? ?? .
rewrite the current goal using
OSNo_p0_i (from left to right).
rewrite the current goal using
mul_OSNo_proj0 i0 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove 0 * 0 + - ((- i ) ' * 1 ) = - i .
rewrite the current goal using mul_HSNo_0L 0 HSNo_0 (from left to right).
rewrite the current goal using conj_minus_HSNo i HSNo_Complex_i (from left to right).
rewrite the current goal using conj_HSNo_i (from left to right).
rewrite the current goal using minus_HSNo_invol i HSNo_Complex_i (from left to right).
We will
prove 0 + - (i * 1 ) = - i .
rewrite the current goal using mul_HSNo_1R i HSNo_Complex_i (from left to right).
An
exact proof term for the current goal is
add_HSNo_0L (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) .
rewrite the current goal using
OSNo_p1_i (from left to right).
rewrite the current goal using
mul_OSNo_proj1 i0 i3 ?? ?? (from left to right).
rewrite the current goal using
OSNo_p0_i3 (from left to right).
rewrite the current goal using
OSNo_p1_i3 (from left to right).
rewrite the current goal using
OSNo_p0_i0 (from left to right).
rewrite the current goal using
OSNo_p1_i0 (from left to right).
We will
prove (- i ) * 0 + 1 * 0 ' = - 0 .
rewrite the current goal using conj_HSNo_id_SNo 0 SNo_0 (from left to right).
rewrite the current goal using mul_HSNo_0R 1 HSNo_1 (from left to right).
rewrite the current goal using minus_HSNo_0 (from left to right).
rewrite the current goal using
mul_HSNo_0R (- i ) (HSNo_minus_HSNo i HSNo_Complex_i ) (from left to right).
An exact proof term for the current goal is add_HSNo_0L 0 HSNo_0 .
∎
End of Section SurOctonions
Beginning of Section Octonions
Notation . We use
- as a prefix operator with priority 358 corresponding to applying term
minus_OSNo .
Notation . We use
+ as an infix operator with priority 360 and which associates to the right corresponding to applying term
add_OSNo .
Notation . We use
* as an infix operator with priority 355 and which associates to the right corresponding to applying term
mul_OSNo .
Let i1 ≝ Complex_i
Let i2 ≝ Quaternion_j
Let i4 ≝ Quaternion_k
Let i ≝ Complex_i
Let j ≝ Quaternion_j
Let k ≝ Quaternion_k
Definition. We define
octonion to be
{pa (u 0 ) (u 1 ) |u ∈ quaternion ⨯ quaternion } of type
set .
Proof: Let x be given.
Assume Hx .
Let y be given.
Assume Hy .
rewrite the current goal using tuple_2_0_eq x y (from right to left).
rewrite the current goal using tuple_2_1_eq x y (from right to left) at position 2.
We will
prove pa ((x ,y ) 0 ) ((x ,y ) 1 ) ∈ octonion .
Apply ReplI (quaternion ⨯ quaternion ) (λu ⇒ pa (u 0 ) (u 1 ) ) to the current goal.
We will
prove (x ,y ) ∈ quaternion ⨯ quaternion .
An exact proof term for the current goal is tuple_2_setprod quaternion quaternion x Hx y Hy .
∎
Proof: Let z be given.
Assume Hz .
Let p be given.
Assume Hp .
Apply ReplE_impred (quaternion ⨯ quaternion ) (λu ⇒ pa (u 0 ) (u 1 ) ) z Hz to the current goal.
Let u be given.
Assume Hzu : z = pa (u 0 ) (u 1 ) .
An exact proof term for the current goal is Hp (u 0 ) (ap0_Sigma quaternion (λ_ ⇒ quaternion ) u Hu ) (u 1 ) (ap1_Sigma quaternion (λ_ ⇒ quaternion ) u Hu ) Hzu .
∎
Proof: Let z be given.
Assume Hz .
Let x be given.
Assume Hx .
Let y be given.
Assume Hy .
Assume Hzxy : z = pa x y .
rewrite the current goal using Hzxy (from left to right).
Apply OSNo_I to the current goal.
An exact proof term for the current goal is quaternion_HSNo x Hx .
An exact proof term for the current goal is quaternion_HSNo y Hy .
∎
Proof: Let x be given.
rewrite the current goal using
HSNo_pair_0 x (from right to left).
An exact proof term for the current goal is Hx .
An exact proof term for the current goal is quaternion_0 .
∎
Proof:
An exact proof term for the current goal is quaternion_0 .
An exact proof term for the current goal is quaternion_1 .
∎
Proof: We will
prove pa 0 (minus_HSNo i ) ∈ octonion .
An exact proof term for the current goal is quaternion_0 .
Apply quaternion_minus_HSNo to the current goal.
An exact proof term for the current goal is quaternion_i .
∎
Proof: We will
prove pa 0 (minus_HSNo k ) ∈ octonion .
An exact proof term for the current goal is quaternion_0 .
Apply quaternion_minus_HSNo to the current goal.
An exact proof term for the current goal is quaternion_k .
∎
Proof: We will
prove pa 0 (minus_HSNo j ) ∈ octonion .
An exact proof term for the current goal is quaternion_0 .
Apply quaternion_minus_HSNo to the current goal.
An exact proof term for the current goal is quaternion_j .
∎
Proof: Let x be given.
Assume Hx .
Let y be given.
Assume Hy .
An
exact proof term for the current goal is
OSNo_proj0_2 x y (quaternion_HSNo x Hx ) (quaternion_HSNo y Hy ) .
∎
Proof: Let x be given.
Assume Hx .
Let y be given.
Assume Hy .
An
exact proof term for the current goal is
OSNo_proj1_2 x y (quaternion_HSNo x Hx ) (quaternion_HSNo y Hy ) .
∎
Proof: Let z be given.
Assume Hz .
Let x be given.
Assume Hx .
Let y be given.
Assume Hy Hzxy .
rewrite the current goal using Hzxy (from left to right).
We will
prove p0 (pa x y ) ∈ quaternion .
rewrite the current goal using
octonion_p0_eq x Hx y Hy (from left to right).
We will
prove x ∈ quaternion .
An exact proof term for the current goal is Hx .
∎
Proof: Let z be given.
Assume Hz .
Let x be given.
Assume Hx .
Let y be given.
Assume Hy Hzxy .
rewrite the current goal using Hzxy (from left to right).
We will
prove p1 (pa x y ) ∈ quaternion .
rewrite the current goal using
octonion_p1_eq x Hx y Hy (from left to right).
We will
prove y ∈ quaternion .
An exact proof term for the current goal is Hy .
∎
Proof: Let z be given.
Assume Hz .
Let w be given.
Assume Hw .
∎
Proof: Let z be given.
Assume Hz .
We will
prove pa (minus_HSNo (p0 z ) ) (minus_HSNo (p1 z ) ) ∈ octonion .
Apply quaternion_minus_HSNo to the current goal.
Apply quaternion_minus_HSNo to the current goal.
∎
Proof: Let z be given.
Assume Hz .
We will
prove pa (conj_HSNo (p0 z ) ) (minus_HSNo (p1 z ) ) ∈ octonion .
Apply quaternion_conj_HSNo to the current goal.
Apply quaternion_minus_HSNo to the current goal.
∎
Proof: Let z be given.
Assume Hz .
Let w be given.
Assume Hw .
We will
prove pa (add_HSNo (p0 z ) (p0 w ) ) (add_HSNo (p1 z ) (p1 w ) ) ∈ octonion .
Apply quaternion_add_HSNo to the current goal.
Apply quaternion_add_HSNo to the current goal.
∎
Proof: Let z be given.
Assume Hz .
Let w be given.
Assume Hw .
We will
prove pa (add_HSNo (mul_HSNo (p0 z ) (p0 w ) ) (minus_HSNo (mul_HSNo (conj_HSNo (p1 w ) ) (p1 z ) ) ) ) (add_HSNo (mul_HSNo (p1 w ) (p0 z ) ) (mul_HSNo (p1 z ) (conj_HSNo (p0 w ) ) ) ) ∈ octonion .
We prove the intermediate
claim Lz0 :
p0 z ∈ quaternion .
We prove the intermediate
claim Lz1 :
p1 z ∈ quaternion .
We prove the intermediate
claim Lw0 :
p0 w ∈ quaternion .
We prove the intermediate
claim Lw1 :
p1 w ∈ quaternion .
Apply quaternion_add_HSNo to the current goal.
Apply quaternion_mul_HSNo to the current goal.
An exact proof term for the current goal is ?? .
An exact proof term for the current goal is ?? .
Apply quaternion_minus_HSNo to the current goal.
Apply quaternion_mul_HSNo to the current goal.
Apply quaternion_conj_HSNo to the current goal.
An exact proof term for the current goal is ?? .
An exact proof term for the current goal is ?? .
Apply quaternion_add_HSNo to the current goal.
Apply quaternion_mul_HSNo to the current goal.
An exact proof term for the current goal is ?? .
An exact proof term for the current goal is ?? .
Apply quaternion_mul_HSNo to the current goal.
An exact proof term for the current goal is ?? .
Apply quaternion_conj_HSNo to the current goal.
An exact proof term for the current goal is ?? .
∎
Proof: Let x be given.
Assume Hx .
rewrite the current goal using
HSNo_pair_0 x (from right to left) at position 1.
An
exact proof term for the current goal is
octonion_p0_eq x Hx 0 quaternion_0 .
∎
Proof: Let x be given.
Assume Hx .
rewrite the current goal using
HSNo_pair_0 x (from right to left).
An
exact proof term for the current goal is
octonion_p1_eq x Hx 0 quaternion_0 .
∎
End of Section Octonions