Nuprl Lemma : binary_map_ind_wf

[T,Key,A:Type]. ∀[R:A ─→ binary_map(T;Key) ─→ ℙ]. ∀[v:binary_map(T;Key)]. ∀[E:{x:A| R[x;bm_E()]} ].
[T:key:Key
    ─→ value:T
    ─→ cnt:ℤ
    ─→ left:binary_map(T;Key)
    ─→ right:binary_map(T;Key)
    ─→ {x:A| R[x;left]} 
    ─→ {x:A| R[x;right]} 
    ─→ {x:A| R[x;bm_T(key;value;cnt;left;right)]} ].
  (binary_map_ind(v;E;key,value,cnt,left,right,rec1,rec2.T[key;value;cnt;left;right;rec1;rec2]) ∈ {x:A| R[x;v]} )


Proof




Definitions occuring in Statement :  binary_map_ind: binary_map_ind(v;E;key,value,cnt,left,right,rec1,rec2.T[key;value;cnt;left;right;rec1;rec2]) bm_T: bm_T(key;value;cnt;left;right) bm_E: bm_E() binary_map: binary_map(T;Key) uall: [x:A]. B[x] prop: so_apply: x[a;b;c;d;e;f;g] so_apply: x[s1;s2] member: t ∈ T set: {x:A| B[x]}  function: x:A ─→ B[x] int: universe: Type
Lemmas :  top_wf has-value_wf_base lifting-strict-atom_eq base_wf binary_map_wf bm_E_wf bm_T_wf all_wf set_wf subtype_rel-equal
\mforall{}[T,Key,A:Type].  \mforall{}[R:A  {}\mrightarrow{}  binary\_map(T;Key)  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:binary\_map(T;Key)].  \mforall{}[E:\{x:A|  R[x;bm\_E()]\}  ].
\mforall{}[T:key:Key
        {}\mrightarrow{}  value:T
        {}\mrightarrow{}  cnt:\mBbbZ{}
        {}\mrightarrow{}  left:binary\_map(T;Key)
        {}\mrightarrow{}  right:binary\_map(T;Key)
        {}\mrightarrow{}  \{x:A|  R[x;left]\} 
        {}\mrightarrow{}  \{x:A|  R[x;right]\} 
        {}\mrightarrow{}  \{x:A|  R[x;bm\_T(key;value;cnt;left;right)]\}  ].
    (binary\_map\_ind(v;E;key,value,cnt,left,right,rec1,rec2.T[key;value;cnt;left;right;rec1;rec2])
      \mmember{}  \{x:A|  R[x;v]\}  )



Date html generated: 2015_07_17-AM-08_17_55
Last ObjectModification: 2015_01_29-PM-04_40_27

Home Index