Nuprl Lemma : C_LVALUE-induction

[P:C_LVALUE() ─→ ℙ]
  ((∀loc:C_LOCATION(). P[LV_Ground(loc)])
   (∀lval:C_LVALUE(). ∀idx:ℤ.  (P[lval]  P[LV_Index(lval;idx)]))
   (∀lval:C_LVALUE(). ∀comp:Atom.  (P[lval]  P[LV_Scomp(lval;comp)]))
   {∀v:C_LVALUE(). P[v]})


Proof




Definitions occuring in Statement :  LV_Scomp: LV_Scomp(lval;comp) LV_Index: LV_Index(lval;idx) LV_Ground: LV_Ground(loc) C_LVALUE: C_LVALUE() C_LOCATION: C_LOCATION() 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: atom: Atom
Lemmas :  uniform-comp-nat-induction all_wf isect_wf le_wf C_LVALUE_size_wf nat_wf less_than_wf C_LVALUE-ext eq_atom_wf bool_wf eqtt_to_assert assert_of_eq_atom subtype_base_sq atom_subtype_base eqff_to_assert equal_wf bool_cases_sqequal bool_subtype_base assert-bnot neg_assert_of_eq_atom decidable__lt false_wf add_functionality_wrt_le add-swap add-commutes le-add-cancel subtract_wf decidable__le not-le-2 less-iff-le condition-implies-le minus-one-mul zero-add minus-add minus-minus add-associates add-zero subtract-is-less lelt_wf uall_wf int_seg_wf le_weakening LV_Scomp_wf C_LVALUE_wf LV_Index_wf C_LOCATION_wf LV_Ground_wf
\mforall{}[P:C\_LVALUE()  {}\mrightarrow{}  \mBbbP{}]
    ((\mforall{}loc:C\_LOCATION().  P[LV\_Ground(loc)])
    {}\mRightarrow{}  (\mforall{}lval:C\_LVALUE().  \mforall{}idx:\mBbbZ{}.    (P[lval]  {}\mRightarrow{}  P[LV\_Index(lval;idx)]))
    {}\mRightarrow{}  (\mforall{}lval:C\_LVALUE().  \mforall{}comp:Atom.    (P[lval]  {}\mRightarrow{}  P[LV\_Scomp(lval;comp)]))
    {}\mRightarrow{}  \{\mforall{}v:C\_LVALUE().  P[v]\})



Date html generated: 2015_07_17-AM-07_43_29
Last ObjectModification: 2015_01_27-AM-09_46_33

Home Index