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

.....subterm..... T:t
4: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
⊢ λfg,fg'. let f,g fg in let f',g' fg' in <f', g' g> ∈ {f:Point ⟶ Point ⟶ Point| 
                                                           (∀x,y,z:Point.  (f z) ≡ (f y) z)
                                                           ∧ (∀x:Point. x <λx.x, λx.x> ≡ x)
                                                           ∧ (∀x:Point
                                                                ((λfg.let f,g fg in <g, f>x) ≡ <λx.x, λx.x>)} 
BY
((MemTypeCD THENW Auto)
   THEN Try (Trivial)
   THEN Reduce 0
   THEN SplitAndConcl
   THEN Repeat ((Intro THEN (RWO  "permutation-ss-point" (-1) THENA Auto) THEN -1 THEN -2 THEN All Reduce))
   THEN BLemma `permutation-ss-eq-iff`
   THEN Auto
   THEN RepUR ``compose`` 0
   THEN Auto) }


Latex:


Latex:
.....subterm.....  T:t
4: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{}fg,fg'.  let  f,g  =  fg  in  let  f',g'  =  fg'  in  <f  o  f',  g'  o  g>  \mmember{}  \{f:Point  {}\mrightarrow{}  Point  {}\mrightarrow{}  Point| 
                                                                                                                      (\mforall{}x,y,z:Point.
                                                                                                                            f  x  (f  y  z)  \mequiv{}  f  (f  x  y)  z)
                                                                                                                      \mwedge{}  (\mforall{}x:Point.  f  x  <\mlambda{}x.x,  \mlambda{}x.x>  \mequiv{}  x)
                                                                                                                      \mwedge{}  (\mforall{}x:Point
                                                                                                                                f  x 
                                                                                                                                ((\mlambda{}fg.let  f,g  =  fg 
                                                                                                                                            in  <g,  f>) 
                                                                                                                                  x)  \mequiv{}  <\mlambda{}x.x,  \mlambda{}x.x>)\} 


By


Latex:
((MemTypeCD  THENW  Auto)
  THEN  Try  (Trivial)
  THEN  Reduce  0
  THEN  SplitAndConcl
  THEN  Repeat  ((Intro
                              THEN  (RWO    "permutation-ss-point"  (-1)  THENA  Auto)
                              THEN  D  -1
                              THEN  D  -2
                              THEN  All  Reduce))
  THEN  BLemma  `permutation-ss-eq-iff`
  THEN  Auto
  THEN  RepUR  ``compose``  0
  THEN  Auto)




Home Index