{ [T:Type]. [A:i:Id  {k:Knd| hasloc(k;i)}   T]. [B:Id  Id  T].
  [n:MaName].
    (name-case(n;i,k.A[i;k];j,x.B[j;x])  T) }

{ Proof }



Definitions occuring in Statement :  name-case: name-case(n;i,k.A[i; k];j,x.B[j; x]) MaName: MaName hasloc: hasloc(k;i) Knd: Knd Id: Id assert: b uall: [x:A]. B[x] so_apply: x[s1;s2] member: t  T set: {x:A| B[x]}  function: x:A  B[x] universe: Type
Definitions :  uall: [x:A]. B[x] member: t  T name-case: name-case(n;i,k.A[i; k];j,x.B[j; x]) so_apply: x[s1;s2] so_lambda: x y.t[x; y] prop: MaName: MaName
Lemmas :  locknd-spread_wf2 Knd_wf assert_wf hasloc_wf MaName_wf Id_wf

\mforall{}[T:Type].  \mforall{}[A:i:Id  {}\mrightarrow{}  \{k:Knd|  \muparrow{}hasloc(k;i)\}    {}\mrightarrow{}  T].  \mforall{}[B:Id  {}\mrightarrow{}  Id  {}\mrightarrow{}  T].  \mforall{}[n:MaName].
    (name-case(n;i,k.A[i;k];j,x.B[j;x])  \mmember{}  T)


Date html generated: 2011_08_10-AM-07_52_12
Last ObjectModification: 2011_06_18-AM-08_14_27

Home Index