{ [T:Type]. [cp:ClassProgram(T)]. [i:{i:Id| (i  cp-domain(cp))} ].
    (cp-test(cp;i)  k:{k:Knd| (k  cp-kinds(cp) i)} 
                      cp-ktype(cp;i;k)
                      cp-state-type(cp;i)
                      (T + Top)) }

{ Proof }



Definitions occuring in Statement :  cp-test: cp-test(cp;i) cp-state-type: cp-state-type(cp;i) cp-ktype: cp-ktype(cp;i;k) cp-kinds: cp-kinds(cp) cp-domain: cp-domain(cp) class-program: ClassProgram(T) Knd: Knd Id: Id uall: [x:A]. B[x] top: Top member: t  T set: {x:A| B[x]}  apply: f a function: x:A  B[x] union: left + right universe: Type l_member: (x  l)
Definitions :  uall: [x:A]. B[x] class-program: ClassProgram(T) cp-domain: cp-domain(cp) member: t  T cp-kinds: cp-kinds(cp) cp-ktype: cp-ktype(cp;i;k) cp-state-type: cp-state-type(cp;i) cp-test: cp-test(cp;i) spreadn: spread6 ifthenelse: if b then t else f fi  all: x:A. B[x] implies: P  Q btrue: tt prop: so_lambda: x.t[x] subtype: S  T bfalse: ff bool: unit: Unit iff: P  Q and: P  Q rev_implies: P  Q so_apply: x[s] uimplies: b supposing a fpf-domain: fpf-domain(f) it:
Lemmas :  fpf-dom_wf Id_wf id-deq_wf bool_wf iff_weakening_uiff assert_wf eqtt_to_assert fpf-ap_wf Knd_wf hasloc_wf l_member_wf top_wf not_wf uiff_transitivity bnot_wf eqff_to_assert assert_of_bnot member-fpf-dom subtype_rel_dep_function subtype_rel_self subtype_rel_function fpf-domain_wf fpf-trivial-subtype-top fpf_wf

\mforall{}[T:Type].  \mforall{}[cp:ClassProgram(T)].  \mforall{}[i:\{i:Id|  (i  \mmember{}  cp-domain(cp))\}  ].
    (cp-test(cp;i)  \mmember{}  k:\{k:Knd|  (k  \mmember{}  cp-kinds(cp)  i)\} 
                                      {}\mrightarrow{}  cp-ktype(cp;i;k)
                                      {}\mrightarrow{}  cp-state-type(cp;i)
                                      {}\mrightarrow{}  (T  +  Top))


Date html generated: 2011_08_16-AM-11_02_00
Last ObjectModification: 2011_06_18-AM-09_35_25

Home Index