Nuprl Lemma : C_LVALUE-proper-Indexed

∀env:C_TYPE_env(). ∀lval:C_LVALUE(). ∀i:ℤ.
  ((↑C_LVALUE-proper(env;LV_Index(lval;i))) ⇒ (↑C_Array?(outl(C_TYPE-of-LVALUE(env;lval)))))


Proof




Definitions occuring in Statement :  C_LVALUE-proper: C_LVALUE-proper(env;lval),  C_TYPE-of-LVALUE: C_TYPE-of-LVALUE(env;lval),  C_TYPE_env: C_TYPE_env(),  LV_Index: LV_Index(lval;idx),  C_LVALUE: C_LVALUE(),  C_Array?: C_Array?(v),  outl: outl(x),  assert: ↑b,  all: ∀x:A. B[x],  implies: P ⇒ Q,  int: ℤ
Definitions unfolded in proof :  all: ∀x:A. B[x],  implies: P ⇒ Q,  member: t ∈ T,  uall: ∀[x:A]. B[x],  assert: ↑b,  ifthenelse: if b then t else f fi ,  LV_Index?: LV_Index?(v),  eq_atom: x =a y,  pi1: fst(t),  LV_Index: LV_Index(lval;idx),  btrue: tt,  true: True,  let: let,  LV_Index-lval: LV_Index-lval(v),  pi2: snd(t),  LV_Index-idx: LV_Index-idx(v),  and: P ∧ Q,  prop: ℙ
Lemmas referenced :  C_LVALUE-proper-Index,  LV_Index_wf,  assert_wf,  C_LVALUE-proper_wf,  C_LVALUE_wf,  C_TYPE_env_wf
Rules used in proof :  sqequalSubstitution,  sqequalTransitivity,  computationStep,  sqequalReflexivity,  lambdaFormation,  cut,  lemma_by_obid,  sqequalHypSubstitution,  dependent_functionElimination,  thin,  hypothesisEquality,  isectElimination,  hypothesis,  independent_functionElimination,  natural_numberEquality,  sqequalRule,  productElimination,  intEquality

Latex:
\mforall{}env:C\_TYPE\_env().  \mforall{}lval:C\_LVALUE().  \mforall{}i:\mBbbZ{}.
    ((\muparrow{}C\_LVALUE-proper(env;LV\_Index(lval;i)))  {}\mRightarrow{}  (\muparrow{}C\_Array?(outl(C\_TYPE-of-LVALUE(env;lval)))))



Date html generated: 2016_05_16-AM-08_48_30
Last ObjectModification: 2015_12_28-PM-06_56_16

Theory : C-semantics


Home Index