Step * 1 3 2 of Lemma permutation-s-group_wf

.....subterm..... T:t
5:n
1. rv SeparationSpace
2. <λx.x, λx.x> ∈ Point
3. λfg.let f,g fg 
       in <g, f> ∈ Point ⟶ Point
4. λfg,fg'. let f,g fg in let f',g' fg' in <f', g' g> ∈ Point ⟶ Point ⟶ Point
5. sepw x:Point ⟶ y:{y:Point| y}  ⟶ y
⊢ λx,y,z,w,d. case d
              of inl(asep) =>
              let a,sep asep 
              in inl inl <(fst(z)) a, sep>
              inr(asep) =>
              let a,sep asep 
              in inl (inr <a, sepw ((snd(x)) a) ((snd(y)) a)> ) ∈ ∀x,x',y,y':Point.
                                                 ((λfg,fg'. let f,g fg in let f',g' fg' in <f', g' g>
                                                  fg,fg'. let f,g fg in let f',g' fg' in <f', g' g>x' \000Cy
                                                  (x x' ∨ y'))
BY
(Reduce 0
   THEN RepeatFor (((MemCD THENA Auto)
                      THEN (RWO  "permutation-ss-point" (-1) THENA Auto)
                      THEN -1
                      THEN -2
                      THEN All Reduce))
   THEN (RWO "permutation-ss-sep" THENA Auto)
   THEN RepUR ``fun-sep`` 0
   THEN (MemCD THENA Auto)
   THEN RepeatFor (D -1)
   THEN Reduce 0) }

1
1. rv SeparationSpace
2. <λx.x, λx.x> ∈ Point
3. λfg.let f,g fg 
       in <g, f> ∈ Point ⟶ Point
4. λfg,fg'. let f,g fg in let f',g' fg' in <f', g' g> ∈ Point ⟶ Point ⟶ Point
5. sepw x:Point ⟶ y:{y:Point| y}  ⟶ y
6. x1 Point ⟶ Point
7. x2 Point ⟶ Point
8. (∀x:Point. x1 (x2 x) ≡ x)
∧ (∀x:Point. x2 (x1 x) ≡ x)
∧ (∀x,y:Point.  (x1 x1  y))
∧ (∀x,y:Point.  (x2 x2  y))
9. y1 Point ⟶ Point
10. y2 Point ⟶ Point
11. (∀x:Point. y1 (y2 x) ≡ x)
∧ (∀x:Point. y2 (y1 x) ≡ x)
∧ (∀x,y:Point.  (y1 y1  y))
∧ (∀x,y:Point.  (y2 y2  y))
12. z1 Point ⟶ Point
13. z2 Point ⟶ Point
14. (∀x:Point. z1 (z2 x) ≡ x)
∧ (∀x:Point. z2 (z1 x) ≡ x)
∧ (∀x,y:Point.  (z1 z1  y))
∧ (∀x,y:Point.  (z2 z2  y))
15. w1 Point ⟶ Point
16. w2 Point ⟶ Point
17. (∀x:Point. w1 (w2 x) ≡ x)
∧ (∀x:Point. w2 (w1 x) ≡ x)
∧ (∀x,y:Point.  (w1 w1  y))
∧ (∀x,y:Point.  (w2 w2  y))
18. Point
19. x3 x1 (z1 a) y1 (z1 a)
⊢ inl inl <z1 a, x3> ∈ ((∃a:Point. x1 y1 a) ∨ (∃a:Point. x2 y2 a)) ∨ (∃a:Point. z1 w1 a) ∨ (∃a:Point. z2 #\000C w2 a)

2
1. rv SeparationSpace
2. <λx.x, λx.x> ∈ Point
3. λfg.let f,g fg 
       in <g, f> ∈ Point ⟶ Point
4. λfg,fg'. let f,g fg in let f',g' fg' in <f', g' g> ∈ Point ⟶ Point ⟶ Point
5. sepw x:Point ⟶ y:{y:Point| y}  ⟶ y
6. x1 Point ⟶ Point
7. x2 Point ⟶ Point
8. (∀x:Point. x1 (x2 x) ≡ x)
∧ (∀x:Point. x2 (x1 x) ≡ x)
∧ (∀x,y:Point.  (x1 x1  y))
∧ (∀x,y:Point.  (x2 x2  y))
9. y1 Point ⟶ Point
10. y2 Point ⟶ Point
11. (∀x:Point. y1 (y2 x) ≡ x)
∧ (∀x:Point. y2 (y1 x) ≡ x)
∧ (∀x,y:Point.  (y1 y1  y))
∧ (∀x,y:Point.  (y2 y2  y))
12. z1 Point ⟶ Point
13. z2 Point ⟶ Point
14. (∀x:Point. z1 (z2 x) ≡ x)
∧ (∀x:Point. z2 (z1 x) ≡ x)
∧ (∀x,y:Point.  (z1 z1  y))
∧ (∀x,y:Point.  (z2 z2  y))
15. w1 Point ⟶ Point
16. w2 Point ⟶ Point
17. (∀x:Point. w1 (w2 x) ≡ x)
∧ (∀x:Point. w2 (w1 x) ≡ x)
∧ (∀x,y:Point.  (w1 w1  y))
∧ (∀x,y:Point.  (w2 w2  y))
18. Point
19. y3 z2 (x2 a) z2 (y2 a)
⊢ inl (inr <a, sepw (x2 a) (y2 a)> ) ∈ ((∃a:Point. x1 y1 a) ∨ (∃a:Point. x2 y2 a))
  ∨ (∃a:Point. z1 w1 a)
  ∨ (∃a:Point. z2 w2 a)


Latex:


Latex:
.....subterm.....  T:t
5:n
1.  rv  :  SeparationSpace
2.  <\mlambda{}x.x,  \mlambda{}x.x>  \mmember{}  Point
3.  \mlambda{}fg.let  f,g  =  fg 
              in  <g,  f>  \mmember{}  Point  {}\mrightarrow{}  Point
4.  \mlambda{}fg,fg'.  let  f,g  =  fg  in  let  f',g'  =  fg'  in  <f  o  f',  g'  o  g>  \mmember{}  Point  {}\mrightarrow{}  Point  {}\mrightarrow{}  Point
5.  sepw  :  x:Point  {}\mrightarrow{}  y:\{y:Point|  x  \#  y\}    {}\mrightarrow{}  x  \#  y
\mvdash{}  \mlambda{}x,y,z,w,d.  case  d
                            of  inl(asep)  =>
                            let  a,sep  =  asep 
                            in  inl  inl  <(fst(z))  a,  sep>
                            |  inr(asep)  =>
                            let  a,sep  =  asep 
                            in  inl  (inr  <a,  sepw  ((snd(x))  a)  ((snd(y))  a)>  )  \mmember{}  \mforall{}x,x',y,y':Point.
                                                                                                  ((\mlambda{}fg,fg'.  let  f,g  =  fg 
                                                                                                                        in  let  f',g'  =  fg' 
                                                                                                                              in  <f  o  f',  g'  o  g>) 
                                                                                                    x 
                                                                                                    y  \#  (\mlambda{}fg,fg'.  let  f,g  =  fg 
                                                                                                                                in  let  f',g'  =  fg' 
                                                                                                                                      in  <f  o  f',  g'  o  g>) 
                                                                                                            x' 
                                                                                                            y
                                                                                                  {}\mRightarrow{}  (x  \#  x'  \mvee{}  y  \#  y'))


By


Latex:
(Reduce  0
  THEN  RepeatFor  4  (((MemCD  THENA  Auto)
                                        THEN  (RWO    "permutation-ss-point"  (-1)  THENA  Auto)
                                        THEN  D  -1
                                        THEN  D  -2
                                        THEN  All  Reduce))
  THEN  (RWO  "permutation-ss-sep"  0  THENA  Auto)
  THEN  RepUR  ``fun-sep``  0
  THEN  (MemCD  THENA  Auto)
  THEN  RepeatFor  2  (D  -1)
  THEN  Reduce  0)




Home Index