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