{ 
[k,L:Top].
    (rec-case(L) of
     [] => ff
     a::_ =>
      r.case a
     of inl(pa) =>
      case k
      of inl(qa) =>
       let x,y = pa 
       in let x1,y1 = x 
          in let x,y2 = qa 
             in let x2,y3 = x 
                in if x1=2 x2
                    then let x@0,y2@0 = y1 
                         in let x,y4 = y3 
                            in if x@0=2 x
                                then if y2@0=2 y4
                                      then if y=2 y2
                                            then tt
                                            else r
                                      else r
                                else r
                    else r
       | inr(_) =>
       r
      | inr(pb) =>
      case k of inl(_) => r | inr(qb) => if pb=2 qb then tt else r 
    ~ deq-member(KindDeq;k;L)) }
{ Proof }
Definitions occuring in Statement : 
Kind-deq: KindDeq, 
bfalse: ff, 
btrue: tt, 
uall:
[x:A]. B[x], 
top: Top, 
spread: spread def, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
list_ind: list_ind def, 
sqequal: s ~ t, 
deq-member: deq-member(eq;x;L), 
atom_eq: atomeqn def
Definitions : 
atom_eq: atomeqn def, 
spread: spread def, 
decide: case b of inl(x) => s[x] | inr(y) => t[y], 
inr: inr x , 
deq-member: deq-member(eq;x;L), 
strong-subtype: strong-subtype(A;B), 
le: A 
 B, 
ge: i 
 j , 
not:
A, 
less_than: a < b, 
product: x:A 
 B[x], 
and: P 
 Q, 
uiff: uiff(P;Q), 
guard: {T}, 
implies: P 
 Q, 
bool:
, 
bfalse: ff, 
list_ind: list_ind def, 
sq_type: SQType(T), 
uimplies: b supposing a, 
universe: Type, 
subtype_rel: A 
r B, 
isect:
x:A. B[x], 
uall:
[x:A]. B[x], 
top: Top, 
all:
x:A. B[x], 
function: x:A 
 B[x], 
equal: s = t, 
sqequal: s ~ t, 
member: t 
 T, 
lambda:
x.A[x], 
eqof: eqof(d), 
id-deq: IdDeq, 
product-deq: product-deq(A;B;a;b), 
CollapseTHEN: Error :CollapseTHEN, 
tactic: Error :tactic
Lemmas : 
top_wf, 
bfalse_wf, 
deq-member_wf, 
bool_subtype_base, 
bool_wf, 
subtype_base_sq
\mforall{}[k,L:Top].
    (rec-case(L)  of
      []  =>  ff
      a::$_{}$  =>
        r.case  a
      of  inl(pa)  =>
        case  k
        of  inl(qa)  =>
          let  x,y  =  pa 
          in  let  x1,y1  =  x 
                in  let  x,y2  =  qa 
                      in  let  x2,y3  =  x 
                            in  if  x1=2  x2
                                    then  let  x@0,y2@0  =  y1 
                                              in  let  x,y4  =  y3 
                                                    in  if  x@0=2  x
                                                            then  if  y2@0=2  y4
                                                                        then  if  y=2  y2
                                                                                    then  tt
                                                                                    else  r
                                                                        else  r
                                                            else  r
                                    else  r
          |  inr($_{}$)  =>
          r
        |  inr(pb)  =>
        case  k  of  inl($_{}$)  =>  r  |  inr(qb)  =>  if  pb=2  qb  then  tt  else  r  \msim{}  deq-membe\000Cr(KindDeq;k;L))
Date html generated:
2011_08_10-AM-07_52_45
Last ObjectModification:
2011_06_18-AM-08_14_44
Home
Index