Nuprl Lemma : C_DVALUEp-induction
∀[P:C_DVALUEp() ─→ ℙ]
  ((∀x:Unit. P[DVp_Null(x)])
  
⇒ (∀int:ℤ. P[DVp_Int(int)])
  
⇒ (∀ptr:C_LVALUE()?. P[DVp_Pointer(ptr)])
  
⇒ (∀lower,upper:ℤ. ∀arr:{lower..upper-} ─→ C_DVALUEp().
        ((∀u:{lower..upper-}. P[arr u]) 
⇒ P[DVp_Array(lower;upper;arr)]))
  
⇒ (∀lbls:Atom List. ∀struct:{a:Atom| (a ∈ lbls)}  ─→ C_DVALUEp().
        ((∀u:{a:Atom| (a ∈ lbls)} . P[struct u]) 
⇒ P[DVp_Struct(lbls;struct)]))
  
⇒ {∀v:C_DVALUEp(). P[v]})
Proof
Definitions occuring in Statement : 
DVp_Struct: DVp_Struct(lbls;struct)
, 
DVp_Array: DVp_Array(lower;upper;arr)
, 
DVp_Pointer: DVp_Pointer(ptr)
, 
DVp_Int: DVp_Int(int)
, 
DVp_Null: DVp_Null(x)
, 
C_DVALUEp: C_DVALUEp()
, 
C_LVALUE: C_LVALUE()
, 
l_member: (x ∈ l)
, 
list: T List
, 
int_seg: {i..j-}
, 
uall: ∀[x:A]. B[x]
, 
prop: ℙ
, 
guard: {T}
, 
so_apply: x[s]
, 
all: ∀x:A. B[x]
, 
implies: P 
⇒ Q
, 
unit: Unit
, 
set: {x:A| B[x]} 
, 
apply: f a
, 
function: x:A ─→ B[x]
, 
union: left + right
, 
int: ℤ
, 
atom: Atom
Lemmas : 
uniform-comp-nat-induction, 
all_wf, 
C_DVALUEp_wf, 
isect_wf, 
le_wf, 
C_DVALUEp_size_wf, 
nat_wf, 
less_than_wf, 
C_DVALUEp-ext, 
eq_atom_wf, 
bool_wf, 
eqtt_to_assert, 
assert_of_eq_atom, 
subtype_base_sq, 
atom_subtype_base, 
unit_wf2, 
unit_subtype_base, 
it_wf, 
eqff_to_assert, 
equal_wf, 
bool_cases_sqequal, 
bool_subtype_base, 
assert-bnot, 
neg_assert_of_eq_atom, 
sum-nat, 
le_int_wf, 
assert_of_le_int, 
subtract_wf, 
zero-le-nat, 
false_wf, 
bool_cases, 
iff_transitivity, 
assert_wf, 
bnot_wf, 
not_wf, 
iff_weakening_uiff, 
assert_of_bnot, 
less_than_transitivity1, 
less_than_irreflexivity, 
lelt_wf, 
int_seg_wf, 
decidable__lt, 
condition-implies-le, 
sum_wf, 
minus-add, 
minus-one-mul, 
add-swap, 
add-commutes, 
add_functionality_wrt_le, 
le-add-cancel, 
decidable__le, 
not-le-2, 
less-iff-le, 
zero-add, 
minus-minus, 
add-associates, 
add-zero, 
subtract-is-less, 
sum-nat-less, 
trivial-int-eq1, 
length_wf_nat, 
select_wf, 
l_member_wf, 
list-subtype, 
sq_stable__le, 
length_wf, 
nat_properties, 
set_wf, 
uall_wf, 
le_weakening, 
list_wf, 
DVp_Struct_wf, 
DVp_Array_wf, 
C_LVALUE_wf, 
DVp_Pointer_wf, 
DVp_Int_wf, 
DVp_Null_wf, 
and_wf
\mforall{}[P:C\_DVALUEp()  {}\mrightarrow{}  \mBbbP{}]
    ((\mforall{}x:Unit.  P[DVp\_Null(x)])
    {}\mRightarrow{}  (\mforall{}int:\mBbbZ{}.  P[DVp\_Int(int)])
    {}\mRightarrow{}  (\mforall{}ptr:C\_LVALUE()?.  P[DVp\_Pointer(ptr)])
    {}\mRightarrow{}  (\mforall{}lower,upper:\mBbbZ{}.  \mforall{}arr:\{lower..upper\msupminus{}\}  {}\mrightarrow{}  C\_DVALUEp().
                ((\mforall{}u:\{lower..upper\msupminus{}\}.  P[arr  u])  {}\mRightarrow{}  P[DVp\_Array(lower;upper;arr)]))
    {}\mRightarrow{}  (\mforall{}lbls:Atom  List.  \mforall{}struct:\{a:Atom|  (a  \mmember{}  lbls)\}    {}\mrightarrow{}  C\_DVALUEp().
                ((\mforall{}u:\{a:Atom|  (a  \mmember{}  lbls)\}  .  P[struct  u])  {}\mRightarrow{}  P[DVp\_Struct(lbls;struct)]))
    {}\mRightarrow{}  \{\mforall{}v:C\_DVALUEp().  P[v]\})
Date html generated:
2015_07_17-AM-07_44_57
Last ObjectModification:
2015_01_27-AM-09_47_34
Home
Index