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: P ⇒ 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