Step
*
1
3
3
2
1
2
of Lemma
permutation-s-group_wf
1. rv : SeparationSpace
2. <λx.x, λx.x> ∈ Point(permutation-ss(rv))
3. λfg.let f,g = fg 
       in <g, f> ∈ Point(permutation-ss(rv)) ⟶ Point(permutation-ss(rv))
4. λfg,fg'. let f,g = fg in let f',g' = fg' in <f o f', g' o g> ∈ Point(permutation-ss(rv))
   ⟶ Point(permutation-ss(rv))
   ⟶ Point(permutation-ss(rv))
5. sepw : x:Point(rv) ⟶ y:{y:Point(rv)| x # y}  ⟶ x # y
6. ∀r1:SeparationSpace. ∀s1:x:Point(r1) ⟶ y:{y:Point(r1)| x # y}  ⟶ x # y.
     (∀x,x',y,y':Point(permutation-ss(r1)).
        (let f,g = x 
         in let f',g' = y 
            in <f o f', g' o g> # let f,g = x' 
                                  in let f',g' = y' 
                                     in <f o f', g' o g>
        
⇒ (x # x' ∨ y # y')) ∈ ℙ)
7. v : ∀rv:SeparationSpace. ∀sepw:x:Point(rv) ⟶ y:{y:Point(rv)| x # y}  ⟶ x # y. ∀x,x',y,y':Point(permutation-ss(rv)).
         (let f,g = x 
          in let f',g' = y 
             in <f o f', g' o g> # let f,g = x' 
                                   in let f',g' = y' 
                                      in <f o f', g' o g>
         
⇒ (x # x' ∨ y # y'))
8. TERMOF{permutation-s-group-sep-or:o, 1:l, i:l}
= v
∈ (∀rv:SeparationSpace. ∀sepw:x:Point(rv) ⟶ y:{y:Point(rv)| x # y}  ⟶ x # y. ∀x,x',y,y':Point(permutation-ss(rv)).
     (let f,g = x 
      in let f',g' = y 
         in <f o f', g' o g> # let f,g = x' 
                               in let f',g' = y' 
                                  in <f o f', g' o g>
     
⇒ (x # x' ∨ y # y')))
⊢ v rv sepw ∈ ∀x,x',y,y':Point(permutation-ss(rv)).
                (let f,g = x 
                 in let f',g' = y 
                    in <f o f', g' o g> # let f,g = x' 
                                          in let f',g' = y' 
                                             in <f o f', g' o g>
                
⇒ (x # x' ∨ y # y'))
BY
{ (InstHyp [⌜rv⌝;⌜sepw⌝] (-3)⋅ THEN Auto) }
Latex:
Latex:
1.  rv  :  SeparationSpace
2.  <\mlambda{}x.x,  \mlambda{}x.x>  \mmember{}  Point(permutation-ss(rv))
3.  \mlambda{}fg.let  f,g  =  fg 
              in  <g,  f>  \mmember{}  Point(permutation-ss(rv))  {}\mrightarrow{}  Point(permutation-ss(rv))
4.  \mlambda{}fg,fg'.  let  f,g  =  fg  in  let  f',g'  =  fg'  in  <f  o  f',  g'  o  g>  \mmember{}  Point(permutation-ss(rv))
      {}\mrightarrow{}  Point(permutation-ss(rv))
      {}\mrightarrow{}  Point(permutation-ss(rv))
5.  sepw  :  x:Point(rv)  {}\mrightarrow{}  y:\{y:Point(rv)|  x  \#  y\}    {}\mrightarrow{}  x  \#  y
6.  \mforall{}r1:SeparationSpace.  \mforall{}s1:x:Point(r1)  {}\mrightarrow{}  y:\{y:Point(r1)|  x  \#  y\}    {}\mrightarrow{}  x  \#  y.
          (\mforall{}x,x',y,y':Point(permutation-ss(r1)).
                (let  f,g  =  x 
                  in  let  f',g'  =  y 
                        in  <f  o  f',  g'  o  g>  \#  let  f,g  =  x' 
                                                                    in  let  f',g'  =  y' 
                                                                          in  <f  o  f',  g'  o  g>
                {}\mRightarrow{}  (x  \#  x'  \mvee{}  y  \#  y'))  \mmember{}  \mBbbP{})
7.  v  :  \mforall{}rv:SeparationSpace.  \mforall{}sepw:x:Point(rv)  {}\mrightarrow{}  y:\{y:Point(rv)|  x  \#  y\}    {}\mrightarrow{}  x  \#  y.
              \mforall{}x,x',y,y':Point(permutation-ss(rv)).
                  (let  f,g  =  x 
                    in  let  f',g'  =  y 
                          in  <f  o  f',  g'  o  g>  \#  let  f,g  =  x' 
                                                                      in  let  f',g'  =  y' 
                                                                            in  <f  o  f',  g'  o  g>
                  {}\mRightarrow{}  (x  \#  x'  \mvee{}  y  \#  y'))
8.  TERMOF\{permutation-s-group-sep-or:o,  1:l,  i:l\}  =  v
\mvdash{}  v  rv  sepw  \mmember{}  \mforall{}x,x',y,y':Point(permutation-ss(rv)).
                                (let  f,g  =  x 
                                  in  let  f',g'  =  y 
                                        in  <f  o  f',  g'  o  g>  \#  let  f,g  =  x' 
                                                                                    in  let  f',g'  =  y' 
                                                                                          in  <f  o  f',  g'  o  g>
                                {}\mRightarrow{}  (x  \#  x'  \mvee{}  y  \#  y'))
By
Latex:
(InstHyp  [\mkleeneopen{}rv\mkleeneclose{};\mkleeneopen{}sepw\mkleeneclose{}]  (-3)\mcdot{}  THEN  Auto)
Home
Index