This is to see if the 8D ZD subspaces intersect themselves when an inner automorphism is applied. (Evaluate x∩φ(x) for whatever automorphisms we can think of.) Use these definitions (recursively), and these.
```(define lzd4 (C+ C1 g0123))
(define rzd4 (-- C1 g0123))
; (C* lzd4 rzd4) => C0
(define lzd4s (minspan (BB lzd4)))
(define (BBx T) (map numlist
(map (lambda (p) (C* T p)) (map lm (map reverse Pb)))))
(define rzd4s (minspan (BBx rzd4)))
(define (T m vl) (map numlist (map (lambda (x) (nc m x)) (map treestr vl))))
(define om1 '((4/5 3/5 0 0)(-3/5 4/5 0 0)(0 0 1 0)(0 0 0 1)))
(define om2 '((4/5 0 3/5 0)(0 1 0 0)(-3/5 0 4/5 0)(0 0 0 1)))
(define om3 '((4/5 0 0 3/5)(0 1 0 0)(0 0 1 0)(-3/5 0 0 4/5)))
(define om4 '((1 0 0 0)(0 5/13 0 12/13)(0 0 1 0)(0 -12/13 0 5/13)))
; Here is a random rational orthognal matrix generator.
(define (Gom) (Om (C* (C* (Vr) (Vr)) (C* (Vr) (Vr)))))
(define om5 '((1/2 1/2 1/2 1/2)(1/2 1/2 -1/2 -1/2)(1/2 -1/2 1/2 -1/2)(1/2 -1/2 -1/2 1/2)))
(define (T4 m) (inter lzd4s (T m lzd4s)))

(length (T4 om1)) ; => 8
(length (T4 om2)) ; => 8
(length (T4 om3)) ; => 8
(length (T4 om4)) ; => 8
(length (T4 om5)) ; => 0 (!) ; det(om5) = -1
(T4 (Om g0)) ; => ()   det(Om g0) = -1
(length (T4 (Gom))) ; => 8
```
This strongly suggests that automorphisms from SO(4) (det=1) leave this ZD subspace invariant. This surprises me! Gom presumably produces a typical orthogonal matrix with det = 1.

I think that in Cl(4), 1+γ0γ1γ2γ3 generates just the one 8D sub-space S4 and the corresponding right zero divisor subspace is the transpose of S4.

We try the other subspace:

```(define lzd3s (minspan (BB (C+ C1 g012))))
(define (T3 m) (inter lzd3s (T m lzd3s)))

(T3 om1) ;=> 8 long
(T3 (mm om2 om1)) ;=> 8 long ; (mm om2 om1) is in SO(3)
(inter lzd3s (T (mm om4 om1) lzd3s)) ;=> ()
(map (lambda (x) (length (T3 x))) (list om1 om2 om3 om4 om5 (Gom))) ;=> (8 8 0 0 0 0)
(T3 (mm om4 om1)) ;=> ()
```
The obvious conjecture is that an automorphism of Cl(4) that leaves γ3 fixed, maps the ZD space holding 1+γ0γ1γ2 to itself.
(T3 x) => () ; unless x in O(3)
```(minspan (append (perp lzd3s)(perp (T om1 lzd3s)))) => 8 long list
(map (lambda (y) (map (lambda (x) (C= C0 (C* x y))) (map treestr lzd4s))) (map treestr rzd4s))
```
Explain:
```(C* (treestr (cadr lzd4s))(tr (treestr (cadddr lzd4s)))) ;=> ((((0 . 0) 0 . 0) (2 . 0) 0 . 0) ((0 . 0) 0 . -2) (0 . 0) 0 . 0) !!
(length (inter lzd4s rzd4s)) ; => 4
; This is relavant:
(length (inter lzd4s (map trl lzd4s))) ;=> 4```