Nuprl Lemma : binary_map-induction

[T,Key:Type]. ∀[P:binary_map(T;Key) ⟶ ℙ].
  (P[bm_E()]
   (∀key:Key. ∀value:T. ∀cnt:ℤ. ∀left,right:binary_map(T;Key).
        (P[left]  P[right]  P[bm_T(key;value;cnt;left;right)]))
   {∀v:binary_map(T;Key). P[v]})


Proof




Definitions occuring in Statement :  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: guard: {T} so_apply: x[s] all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] int: universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] implies:  Q guard: {T} so_lambda: λ2x.t[x] member: t ∈ T uimplies: supposing a subtype_rel: A ⊆B nat: prop: so_apply: x[s] all: x:A. B[x] le: A ≤ B and: P ∧ Q not: ¬A false: False ext-eq: A ≡ B bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) sq_type: SQType(T) eq_atom: =a y ifthenelse: if then else fi  bm_E: bm_E() binary_map_size: binary_map_size(p) bfalse: ff exists: x:A. B[x] or: P ∨ Q bnot: ¬bb assert: b bm_T: bm_T(key;value;cnt;left;right) spreadn: let a,b,c,d,e in v[a; b; c; d; e] cand: c∧ B ge: i ≥  decidable: Dec(P) satisfiable_int_formula: satisfiable_int_formula(fmla) top: Top int_seg: {i..j-} lelt: i ≤ j < k less_than: a < b squash: T

Latex:
\mforall{}[T,Key:Type].  \mforall{}[P:binary\_map(T;Key)  {}\mrightarrow{}  \mBbbP{}].
    (P[bm\_E()]
    {}\mRightarrow{}  (\mforall{}key:Key.  \mforall{}value:T.  \mforall{}cnt:\mBbbZ{}.  \mforall{}left,right:binary\_map(T;Key).
                (P[left]  {}\mRightarrow{}  P[right]  {}\mRightarrow{}  P[bm\_T(key;value;cnt;left;right)]))
    {}\mRightarrow{}  \{\mforall{}v:binary\_map(T;Key).  P[v]\})



Date html generated: 2016_05_17-PM-01_37_40
Last ObjectModification: 2016_01_17-AM-11_21_08

Theory : binary-map


Home Index