Built with Alectryon, running Coq+SerAPI v8.18.0+0.18.3. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑Ctrl+↓ to navigate, Ctrl+🖱️ to focus. On Mac, use ⌘ instead of Ctrl.
[Loading ML file number_string_notation_plugin.cmxs (using legacy method) ... done]
Require Import Cubical.Require Import Pointed.Core Pointed.pSusp.Require Import Homotopy.HSpace.Core.Require Import Homotopy.Suspension.Require Import Homotopy.Join.Core.LocalOpen Scope pointed_scope.LocalOpen Scope mc_mult_scope.(** A Cayley-Dickson Spheroid is a pointed type X which is an H-space, with two operations called negation and conjugation, satisfying the seven following laws. --x=x x**=x 1*=1 (-x)*=-x* x(-y)=-(xy) (xy)* = y* x* x* x=1 *)ClassCayleyDicksonSpheroid (X : pType) := {
cds_hspace : IsHSpace X;
cds_negate : Negate X;
cds_conjug : Conjugate X;
cds_negate_inv : Involutive cds_negate;
cds_conjug_inv : Involutive cds_conjug;
cds_conjug_unit_pres : IsUnitPreserving cds_conjug;
cds_conjug_left_inv : LeftInverse (.*.) cds_conjug mon_unit;
cds_conjug_distr : DistrOpp (.*.) cds_conjug;
cds_swapop : SwapOp (-) cds_conjug;
cds_factorneg_r : FactorNegRight (-) (.*.);
}.#[export] Existing Instances
cds_hspace
cds_negate
cds_conjug
cds_negate_inv
cds_conjug_inv
cds_conjug_unit_pres
cds_conjug_left_inv
cds_conjug_distr
cds_swapop
cds_factorneg_r.SectionCayleyDicksonSpheroid_Properties.Context {X : pType} `(CayleyDicksonSpheroid X).
X: pType H: CayleyDicksonSpheroid X
FactorNegLeft negate sg_op
X: pType H: CayleyDicksonSpheroid X
FactorNegLeft negate sg_op
X: pType H: CayleyDicksonSpheroid X x, y: X
- x * y = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
- x * y = conj (conj (- x * y))
X: pType H: CayleyDicksonSpheroid X x, y: X
conj (conj (- x * y)) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
conj (conj (- x * y)) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
conj (conj y * conj (- x)) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
conj (conj y * - conj x) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
conj (- (conj y * conj x)) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
- conj (conj y * conj x) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
- conj (conj (x * y)) = - (x * y)
X: pType H: CayleyDicksonSpheroid X x, y: X
- (x * y) = - (x * y)
reflexivity.Defined.
X: pType H: CayleyDicksonSpheroid X
RightInverse sg_op cds_conjug mon_unit
X: pType H: CayleyDicksonSpheroid X
RightInverse sg_op cds_conjug mon_unit
X: pType H: CayleyDicksonSpheroid X x: X
x * cds_conjug x = mon_unit
X: pType H: CayleyDicksonSpheroid X x: X p:= cds_conjug x: X
x * p = mon_unit
X: pType H: CayleyDicksonSpheroid X x: X p:= cds_conjug x: X
forallx : A,
transport
(funy : Susp A =>
negate_susp A cdi_negate
(negate_susp A cdi_negate y) = y) (merid x)
1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
transport
(funy : Susp A =>
negate_susp A cdi_negate
(negate_susp A cdi_negate y) = y) (merid x)
1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
((ap (negate_susp A cdi_negate)
(ap (negate_susp A cdi_negate) (merid x)))^ @ 1) @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap (negate_susp A cdi_negate)
(ap (negate_susp A cdi_negate) (merid x)))^ @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap (negate_susp A cdi_negate) (merid (- x))^)^ @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
((ap (negate_susp A cdi_negate) (merid (- x)))^)^ @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(((merid (- - x))^)^)^ @ merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(merid (- - x))^ @ merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(merid x)^ @ merid x = 1%path
apply concat_Vp.Defined.
A: Type H: CayleyDicksonImaginaroid A
Involutive (conjugate_susp A cdi_negate)
A: Type H: CayleyDicksonImaginaroid A
Involutive (conjugate_susp A cdi_negate)
A: Type H: CayleyDicksonImaginaroid A
forallx : A,
transport
(funy : Susp A =>
conjugate_susp A cdi_negate
(conjugate_susp A cdi_negate y) = y) (merid x)
1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
transport
(funy : Susp A =>
conjugate_susp A cdi_negate
(conjugate_susp A cdi_negate y) = y) (merid x)
1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
((ap (conjugate_susp A cdi_negate)
(ap (conjugate_susp A cdi_negate) (merid x)))^ @ 1) @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap (conjugate_susp A cdi_negate)
(ap (conjugate_susp A cdi_negate) (merid x)))^ @
merid x = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(merid x)^ @ merid x = 1%path
apply concat_Vp.Defined.
A: Type H: CayleyDicksonImaginaroid A
IsUnitPreserving (conjugate_susp A cdi_negate)
A: Type H: CayleyDicksonImaginaroid A
IsUnitPreserving (conjugate_susp A cdi_negate)
reflexivity.Defined.
A: Type H: CayleyDicksonImaginaroid A
SwapOp negate (conjugate_susp A cdi_negate)
A: Type H: CayleyDicksonImaginaroid A
SwapOp negate (conjugate_susp A cdi_negate)
A: Type H: CayleyDicksonImaginaroid A
forallx : A,
transport (funy : Susp A => conj (- y) = - conj y)
(merid x) 1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
transport (funy : Susp A => conj (- y) = - conj y)
(merid x) 1%path = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
((ap (funx : Susp A => conj (- x)) (merid x))^ @ 1) @
ap (funx : Susp A => - conj x) (merid x) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap (funx : Susp A => conj (- x)) (merid x))^ @
ap (funx : Susp A => - conj x) (merid x) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap conj (ap negate (merid x)))^ @
ap (funx : Susp A => - conj x) (merid x) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap conj (ap negate (merid x)))^ @
ap negate (ap negate (merid x)) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
(ap conj (merid (- x))^)^ @
ap negate (ap negate (merid x)) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
((ap conj (merid (- x)))^)^ @
ap negate (ap negate (merid x)) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
ap conj (merid (- x)) @
ap negate (ap negate (merid x)) = 1%path
A: Type H: CayleyDicksonImaginaroid A x: A
merid (- x) @ (merid (- x))^ = 1%path
apply concat_pV.Defined.(** Every suspension of a Cayley-Dickson imaginaroid gives a Cayley-Dickson spheroid. *)Global Instancecds_susp_cdi {A} `(CayleyDicksonImaginaroid A)
: CayleyDicksonSpheroid (psusp A) := {}.
A: Type H: CayleyDicksonImaginaroid A
LeftInverse hspace_op (conjugate_susp A cdi_negate)
mon_unit
A: Type H: CayleyDicksonImaginaroid A
LeftInverse hspace_op (conjugate_susp A cdi_negate)
mon_unit
srapply cds_conjug_left_inv.Defined.
A: Type H: CayleyDicksonImaginaroid A
RightInverse hspace_op (conjugate_susp A cdi_negate)
mon_unit
A: Type H: CayleyDicksonImaginaroid A
RightInverse hspace_op (conjugate_susp A cdi_negate)
mon_unit
srapply cds_conjug_right_inv.Defined.
A: Type H: CayleyDicksonImaginaroid A
LeftIdentity hspace_op mon_unit
A: Type H: CayleyDicksonImaginaroid A
LeftIdentity hspace_op mon_unit
exact _.Defined.
A: Type H: CayleyDicksonImaginaroid A
RightIdentity hspace_op mon_unit
A: Type H: CayleyDicksonImaginaroid A
RightIdentity hspace_op mon_unit
exact _.Defined.
A: Type H: CayleyDicksonImaginaroid A
FactorNegLeft (negate_susp A cdi_negate) hspace_op
A: Type H: CayleyDicksonImaginaroid A
FactorNegLeft (negate_susp A cdi_negate) hspace_op
srapply cds_factorneg_l.Defined.(** A Cayley-Dickson imaginaroid A whose multiplciation on the suspension is associative gives rise to a H-space structure on the join of the suspension of A with itself. *)SectionImaginaroidHSpace.(* Let A be a Cayley-Dickson imaginaroid with associative H-space multiplication on Susp A *)Context {A} `(CayleyDicksonImaginaroid A)
`(!Associative hspace_op).(** Declaring these as local instances so that they can be found *)Local Instancehspace_op' : SgOp (Susp A) := hspace_op.Local Instancehspace_unit' : MonUnit (Susp A) := hspace_mon_unit.(** First we make some observations with the context we have. *)SectionLemmata.Context (abcd : Susp A).Local Definitionf := (funx => a * (c * -x)).Local Definitiong := (funy => c * (y * b)).
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
f (- mon_unit) = a * c
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
f (- mon_unit) = a * c
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * - - mon_unit = c
exact (hspace_right_identity c).Defined.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
f (conj c * conj a * d * conj b) = - d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
f (conj c * conj a * d * conj b) = - d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
a * (c * - (conj c * conj a * d * conj b)) =
- d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- (a * (c * (conj c * conj a * d * conj b))) =
- d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- (a * c * (conj c * conj a) * d * conj b) =
- d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- (a * c * conj (a * c) * d * conj b) = - d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- (mon_unit * d * conj b) = - d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- (d * conj b) = - d * conj b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
- d * conj b = - (d * conj b)
apply factorneg_l.Defined.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
g mon_unit = c * b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
g mon_unit = c * b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
mon_unit * b = b
apply left_identity.Defined.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
g (conj c * conj a * d * conj b) = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
g (conj c * conj a * d * conj b) = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * (conj c * conj a * d * conj b * b) = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * (conj c * conj a * d) * conj b * b = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * (conj c * conj a * d) * (conj b * b) = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * (conj c * conj a * d) * mon_unit = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * (conj c * conj a * d) = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
c * conj c * conj a * d = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
mon_unit * conj a * d = conj a * d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
mon_unit * (conj a * d) = conj a * d
apply left_identity.Defined.EndLemmata.Arguments f {_ _}.Arguments g {_ _}.(** Here is the multiplication map in algebraic form: (a,b) * (c,d) = (a * c - d * b*, a* * d + c * b) the following is the spherical form. *)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
SgOp (pjoin (psusp A) (psusp A))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
SgOp (pjoin (psusp A) (psusp A))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
SgOp (Join (Susp A) (Susp A))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Join (Susp A) (Susp A) -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
forallab : Susp A, ?Goal a = ?Goal0 b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A) a: Susp A
Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
Join (Susp A) (Susp A) -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
foralla0b : Susp A, ?Goal1 a0 = ?Goal2 b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, c: Susp A
Join (Susp A) (Susp A)
exact (joinl (a * c)).
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, d: Susp A
Join (Susp A) (Susp A)
exact (joinr (conj a * d)).
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: Susp A
foralla0b : Susp A,
(func : Susp A => joinl (a * c)) a0 =
(fund : Susp A => joinr (conj a * d)) b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, x, y: Susp A
(func : Susp A => joinl (a * c)) x =
(fund : Susp A => joinr (conj a * d)) y
apply jglue.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
forallab : Susp A,
(funa0 : Susp A =>
Join_rec
((func : Susp A => joinl (a0 * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a0 * d))
:
Susp A -> Join (Susp A) (Susp A))
((funxy : Susp A => jglue (a0 * x) (conj a0 * y))
:
foralla1b0 : Susp A,
((func : Susp A => joinl (a0 * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a0 * d))
:
Susp A -> Join (Susp A) (Susp A)) b0) y) a =
?Goal b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A) b: Susp A
Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
Join (Susp A) (Susp A) -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
forallab0 : Susp A, ?Goal0 a = ?Goal1 b0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b, c: Susp A
Join (Susp A) (Susp A)
exact (joinr (c * b)).
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
Susp A -> Join (Susp A) (Susp A)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b, d: Susp A
Join (Susp A) (Susp A)
exact (joinl ((-d) * conj b)).
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b: Susp A
forallab0 : Susp A,
(func : Susp A => joinr (c * b)) a =
(fund : Susp A => joinl (- d * conj b)) b0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b, x, y: Susp A
(func : Susp A => joinr (c * b)) x =
(fund : Susp A => joinl (- d * conj b)) y
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op b, x, y: Susp A
(fund : Susp A => joinl (- d * conj b)) y =
(func : Susp A => joinr (c * b)) x
apply jglue.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A)
forallab : Susp A,
(funa0 : Susp A =>
Join_rec
((func : Susp A => joinl (a0 * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a0 * d))
:
Susp A -> Join (Susp A) (Susp A))
((funxy : Susp A => jglue (a0 * x) (conj a0 * y))
:
foralla1b0 : Susp A,
((func : Susp A => joinl (a0 * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a0 * d))
:
Susp A -> Join (Susp A) (Susp A)) b0) y) a =
(funb0 : Susp A =>
Join_rec
((func : Susp A => joinr (c * b0))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b0))
:
Susp A -> Join (Susp A) (Susp A))
((funxy : Susp A =>
(jglue (- y * conj b0) (x * b0))^)
:
foralla0b1 : Susp A,
((func : Susp A => joinr (c * b0))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinl (- d * conj b0))
:
Susp A -> Join (Susp A) (Susp A)) b1) y) b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op y: Join (Susp A) (Susp A) a, b: Susp A
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funxy : Susp A => jglue (a * x) (conj a * y))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) y) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funxy : Susp A =>
(jglue (- y * conj b) (x * b))^)
:
forallab0 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b0) y) b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
forally : Join (Susp A) (Susp A),
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funxy0 : Susp A => jglue (a * x) (conj a * y0))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) y) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funxy0 : Susp A =>
(jglue (- y0 * conj b) (x * b))^)
:
forallab0 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b0) y) b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
foralla0 : Susp A,
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A => jglue (a * x0) (conj a * y))
:
foralla1b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab0 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b0) x) b)
(joinl a0)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
forallb0 : Susp A,
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A => jglue (a * x0) (conj a * y))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(joinr b0)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
foralla0b0 : Susp A,
transport
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla1b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(jglue a0 b0) (?P_A a0) =
?P_B b0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
forallb0 : Susp A,
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A => jglue (a * x0) (conj a * y))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(joinr b0)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
foralla0b0 : Susp A,
transport
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla1b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(jglue a0 b0)
((funa1 : Susp A => jglue (a * a1) (a1 * b)) a0) =
?P_B b0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: Susp A
foralla0b0 : Susp A,
transport
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla1b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(jglue a0 b0)
((funa1 : Susp A => jglue (a * a1) (a1 * b)) a0) =
(funb1 : Susp A =>
(jglue (- b1 * conj b) (conj a * b1))^
:
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla1b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a1 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab2 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b2) x) b)
(joinr b1)) b0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
transport
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab0 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b0) x) b)
(jglue c d)
((funa0 : Susp A => jglue (a * a0) (a0 * b)) c) =
(funb0 : Susp A =>
(jglue (- b0 * conj b) (conj a * b0))^
:
(funx : Join (Susp A) (Susp A) =>
(funa : Susp A =>
Join_rec
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
jglue (a * x0) (conj a * y))
:
foralla0b : Susp A,
((func : Susp A => joinl (a * c))
:
Susp A -> Join (Susp A) (Susp A)) a0 =
((fund : Susp A => joinr (conj a * d))
:
Susp A -> Join (Susp A) (Susp A)) b) x) a =
(funb : Susp A =>
Join_rec
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A))
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A))
((funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^)
:
forallab1 : Susp A,
((func : Susp A => joinr (c * b))
:
Susp A -> Join (Susp A) (Susp A)) a =
((fund : Susp A => joinl (- d * conj b))
:
Susp A -> Join (Susp A) (Susp A)) b1) x) b)
(joinr b0)) d
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (a * c) (c * b))
(jglue (- d * conj b) (conj a * d))^
(ap
(funx : Join (Susp A) (Susp A) =>
Join_rec (func : Susp A => joinl (a * c))
(fund : Susp A => joinr (conj a * d))
(funx0y : Susp A =>
jglue (a * x0) (conj a * y)) x) (jglue c d))
(ap
(funx : Join (Susp A) (Susp A) =>
Join_rec (func : Susp A => joinr (c * b))
(fund : Susp A => joinl (- d * conj b))
(funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^) x)
(jglue c d))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
ap
(funx : Join (Susp A) (Susp A) =>
Join_rec (func : Susp A => joinl (a * c))
(fund : Susp A => joinr (conj a * d))
(funx0y : Susp A => jglue (a * x0) (conj a * y))
x) (jglue c d) = ?Goal
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
ap
(funx : Join (Susp A) (Susp A) =>
Join_rec (func : Susp A => joinr (c * b))
(fund : Susp A => joinl (- d * conj b))
(funx0y : Susp A =>
(jglue (- y * conj b) (x0 * b))^) x)
(jglue c d) = ?Goal0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (a * c) (c * b))
(jglue (- d * conj b) (conj a * d))^
?Goal?Goal0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (a * c) (c * b))
(jglue (- d * conj b) (conj a * d))^
(jglue (a * c) (conj a * d))
(jglue (- d * conj b) (c * b))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (a * c) (c * b))
(jglue (- d * conj b) (conj a * d))^
(jglue (a * c) (conj a * d))
(jglue (- d * conj b) (c * b))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (f (- mon_unit)) (g mon_unit))
(jglue (f (conj c * conj a * d * conj b))
(g (conj c * conj a * d * conj b)))^
(jglue (f (- mon_unit))
(g (conj c * conj a * d * conj b)))
(jglue (f (conj c * conj a * d * conj b))
(g mon_unit))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal = jglue (f (- mon_unit)) (g mon_unit)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal0 =
(jglue (f (conj c * conj a * d * conj b))
(g (conj c * conj a * d * conj b)))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal1 =
jglue (f (- mon_unit))
(g (conj c * conj a * d * conj b))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal2 =
(jglue (f (conj c * conj a * d * conj b)) (g mon_unit))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare ?Goal?Goal0?Goal1?Goal2
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal = jglue (f (- mon_unit)) (g mon_unit)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?x =
jglue (f (conj c * conj a * d * conj b))
(g (conj c * conj a * d * conj b))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?x0 =
jglue (f (conj c * conj a * d * conj b)) (g mon_unit)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal0 =
jglue (f (- mon_unit))
(g (conj c * conj a * d * conj b))
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare ?Goal?x^ ?Goal0?x0^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit) mon_unit))
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b)
(conj c * conj a * d * conj b)))^
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit)
(conj c * conj a * d * conj b)))
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b) mon_unit))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal =
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b)
(conj c * conj a * d * conj b)))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
?Goal0 =
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b) mon_unit))^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit) mon_unit))
?Goal
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit)
(conj c * conj a * d * conj b)))
?Goal0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit) mon_unit))
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b)
(conj c * conj a * d * conj b))^)
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (- mon_unit)
(conj c * conj a * d * conj b)))
(ap
(Join_rec (funa0 : Susp A => joinl (f a0))
(funb0 : Susp A => joinr (g b0))
(funa0b0 : Susp A => jglue (f a0) (g b0)))
(jglue (conj c * conj a * d * conj b) mon_unit)^)
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
PathSquare (jglue (- mon_unit) mon_unit)
(jglue (conj c * conj a * d * conj b)
(conj c * conj a * d * conj b))^
(jglue (- mon_unit) (conj c * conj a * d * conj b))
(jglue (conj c * conj a * d * conj b) mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b, c, d: Susp A
foralls : Susp A,
PathSquare (jglue (- mon_unit) mon_unit) (jglue s s)^
(jglue (- mon_unit) s) (jglue s mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
foralls : Susp A,
PathSquare (jglue (- mon_unit) mon_unit) (jglue s s)^
(jglue (- mon_unit) s) (jglue s mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
foralls : Susp A, Diamond (- mon_unit) s mon_unit s
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
PathSquare (jglue (- mon_unit) mon_unit)
(jglue North North)^ (jglue (- mon_unit) North)
(jglue North mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
PathSquare (jglue (- mon_unit) mon_unit)
(jglue South South)^
(jglue (- mon_unit) South)
(jglue South mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallx : A,
transport
(funy : Susp A => Diamond (- mon_unit) y mon_unit y)
(merid x) ?Goal = ?Goal0
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
PathSquare (jglue (- mon_unit) mon_unit)
(jglue South South)^ (jglue (- mon_unit) South)
(jglue South mon_unit)^
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallx : A,
transport
(funy : Susp A => Diamond (- mon_unit) y mon_unit y)
(merid x) (diamond_v_sq (- mon_unit) North 1) =
?Goal
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallx : A,
transport
(funy : Susp A => Diamond (- mon_unit) y mon_unit y)
(merid x) (diamond_v_sq (- mon_unit) North 1) =
diamond_h_sq mon_unit South 1
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a: A
transport
(funy : Susp A => Diamond (- mon_unit) y mon_unit y)
(merid a) (diamond_v_sq (- mon_unit) North 1) =
diamond_h_sq mon_unit South 1
apply diamond_twist.Defined.
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
LeftIdentity cd_op pt
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
LeftIdentity cd_op pt
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
foralla : psusp A,
cd_op pt (idmap (joinl a)) = joinl a
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallb : psusp A,
cd_op pt (idmap (joinr b)) = joinr b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallab : psusp A,
ap (cd_op pt) (ap idmap (jglue a b)) @ ?Hr b =
?Hl a @ jglue a b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op
forallab : psusp A,
ap (cd_op pt) (ap idmap (jglue a b)) @
(funb0 : psusp A =>
ap joinr (hspace_left_identity b0)) b =
(funa0 : psusp A =>
ap joinl (hspace_left_identity a0)) a @ jglue a b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: psusp A
ap (cd_op pt) (ap idmap (jglue a b)) @
(funb : psusp A => ap joinr (hspace_left_identity b))
b =
(funa : psusp A => ap joinl (hspace_left_identity a))
a @ jglue a b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: psusp A
ap (cd_op pt) (ap idmap (jglue a b)) = ?Goal
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: psusp A
?Goal @ ap joinr (hspace_left_identity b) =
ap joinl (hspace_left_identity a) @ jglue a b
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: psusp A
ap (cd_op pt) (ap idmap (jglue a b)) = ?Goal
A: Type H: CayleyDicksonImaginaroid A Associative0: Associative hspace_op a, b: psusp A