Step
*
1
1
of Lemma
dM-lift-sq
1. I' : Top
2. J' : Top
3. I : Top
4. J : Top
5. f : Top
6. ac : Base
7. xs : Base
8. p : Base
9. a : Base
10. v : Base
⊢ let h,t = v 
  in fix((λlist_accum,y,L. eval v = L in
                           if v is a pair
                           then let h,t = v 
                                in list_accum 
                                   y ⋃ {(λxs./\(λz.case z of inl(a) => {{inr a }} | inr(a) => {{inl a}}"(xs))) h} 
                                   t otherwise if v = Ax then y otherwise ⊥)) 
     [] ⋃ {(λxs./\(λz.case z of inl(a) => {{inr a }} | inr(a) => {{inl a}}"(xs))) h} 
     t ~ let h,t = v 
         in fix((λlist_accum,y,L. eval v = L in
                                  if v is a pair then let h,t = v 
                                                      in list_accum 
                                                         y ⋃ {(λxs./\(λz.case z
                                                                          of inl(a) =>
                                                                          {{inr a }}
                                                                          | inr(a) =>
                                                                          {{inl a}}"(xs))) 
                                                              h} 
                                                         t otherwise if v = Ax then y otherwise ⊥)) 
            [] ⋃ {(λxs./\(λz.case z of inl(a) => {{inr a }} | inr(a) => {{inl a}}"(xs))) h} 
            t
BY
{ (RepUR ``union-deq`` 0 THEN RepeatFor 5 ((EqCD THEN Try (Trivial)))) }
1
1. I' : Top
2. J' : Top
3. I : Top
4. J : Top
5. f : Top
6. ac : Base
7. xs : Base
8. p : Base
9. a : Base
10. v : Base
11. h : Base
12. t : Base
13. list_accum : Base
⊢ λy,L. eval v = L in
        if v is a pair then let h,t = v 
                            in list_accum y ⋃ {/\(λz.case z of inl(a) => {{inr a }} | inr(a) => {{inl a}}"(h))} t
        otherwise if v = Ax then y otherwise ⊥ ~ λy,L. eval v = L in
                                                  if v is a pair then let h,t = v 
                                                                      in list_accum 
                                                                         y ⋃ {/\(λz.case z
                                                                                     of inl(a) =>
                                                                                     {{inr a }}
                                                                                     | inr(a) =>
                                                                                     {{inl a}}"(h))} 
                                                                         t otherwise if v = Ax then y otherwise ⊥
2
1. I' : Top
2. J' : Top
3. I : Top
4. J : Top
5. f : Top
6. ac : Base
7. xs : Base
8. p : Base
9. a : Base
10. v : Base
11. h : Base
12. t : Base
⊢ /\(λz.case z of inl(a) => {{inr a }} | inr(a) => {{inl a}}"(h)) ~ /\(λz.case z
                                                                           of inl(a) =>
                                                                           {{inr a }}
                                                                           | inr(a) =>
                                                                           {{inl a}}"(h))
Latex:
Latex:
1.  I'  :  Top
2.  J'  :  Top
3.  I  :  Top
4.  J  :  Top
5.  f  :  Top
6.  ac  :  Base
7.  xs  :  Base
8.  p  :  Base
9.  a  :  Base
10.  v  :  Base
\mvdash{}  let  h,t  =  v 
    in  fix((\mlambda{}list$_{accum}$,y,L.  eval  v  =  L  in
                                                    if  v  is  a  pair  then  let  h,t  =  v 
                                                                                            in  list$_{accum}$ 
                                                                                                  y  \mcup{}  \{(\mlambda{}xs./\mbackslash{}(\mlambda{}z.case  z
                                                                                                                                    of  inl(a)  =>
                                                                                                                                    \{\{inr  a  \}\}
                                                                                                                                    |  inr(a)  =>
                                                                                                                                    \{\{inl  a\}\}"(xs))) 
                                                                                                            h\} 
                                                                                                  t  otherwise  if  v  =  Ax  then  y  otherwise  \mbot{})) 
          []  \mcup{}  \{(\mlambda{}xs./\mbackslash{}(\mlambda{}z.case  z  of  inl(a)  =>  \{\{inr  a  \}\}  |  inr(a)  =>  \{\{inl  a\}\}"(xs)))  h\} 
          t  \msim{}  let  h,t  =  v 
                  in  fix((\mlambda{}list$_{accum}$,y,L.  eval  v  =  L  in
                                                                  if  v  is  a  pair  then  let  h,t  =  v 
                                                                                                          in  list$_{accum}$ 
                                                                                                                y  \mcup{}  \{(\mlambda{}xs./\mbackslash{}(\mlambda{}z.case  z
                                                                                                                                                  of  inl(a)  =>
                                                                                                                                                  \{\{inr  a  \}\}
                                                                                                                                                  |  inr(a)  =>
                                                                                                                                                  \{\{inl  a\}\}"(xs))) 
                                                                                                                          h\} 
                                                                                                                t  otherwise  if  v  =  Ax  then  y  otherwise  \mbot{})) 
                        []  \mcup{}  \{(\mlambda{}xs./\mbackslash{}(\mlambda{}z.case  z  of  inl(a)  =>  \{\{inr  a  \}\}  |  inr(a)  =>  \{\{inl  a\}\}"(xs)))  h\} 
                        t
By
Latex:
(RepUR  ``union-deq``  0  THEN  RepeatFor  5  ((EqCD  THEN  Try  (Trivial))))
Home
Index