Nuprl Lemma : C_LVALUE_ind_wf

[A:Type]. ∀[R:A ⟶ C_LVALUE() ⟶ ℙ]. ∀[v:C_LVALUE()]. ∀[Ground:loc:C_LOCATION() ⟶ {x:A| R[x;LV_Ground(loc)]} ].
[Index:lval:C_LVALUE() ⟶ idx:ℤ ⟶ {x:A| R[x;lval]}  ⟶ {x:A| R[x;LV_Index(lval;idx)]} ].
[Scomp:lval:C_LVALUE() ⟶ comp:Atom ⟶ {x:A| R[x;lval]}  ⟶ {x:A| R[x;LV_Scomp(lval;comp)]} ].
  (C_LVALUE_ind(v;
                LV_Ground(loc) Ground[loc];
                LV_Index(lval,idx) rec1.Index[lval;idx;rec1];
                LV_Scomp(lval,comp) rec2.Scomp[lval;comp;rec2])  ∈ {x:A| R[x;v]} )


Proof




Definitions occuring in Statement :  C_LVALUE_ind: C_LVALUE_ind 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: so_apply: x[s1;s2;s3] so_apply: x[s1;s2] so_apply: x[s] member: t ∈ T set: {x:A| B[x]}  function: x:A ⟶ B[x] int: atom: Atom universe: Type
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T C_LVALUE_ind: C_LVALUE_ind so_apply: x[s1;s2;s3] so_apply: x[s] so_apply: x[s1;s2] C_LVALUE-definition C_LVALUE-induction uniform-comp-nat-induction C_LVALUE-ext eq_atom: =a y bool_cases_sqequal eqff_to_assert any: any x btrue: tt bfalse: ff it: top: Top all: x:A. B[x] implies:  Q has-value: (a)↓ so_lambda: so_lambda(x,y,z,w.t[x; y; z; w]) so_apply: x[s1;s2;s3;s4] so_lambda: λ2x.t[x] uimplies: supposing a strict4: strict4(F) and: P ∧ Q prop: guard: {T} or: P ∨ Q squash: T subtype_rel: A ⊆B
Lemmas referenced :  C_LVALUE-definition C_LVALUE-induction uniform-comp-nat-induction C_LVALUE-ext bool_cases_sqequal eqff_to_assert set_wf all_wf LV_Scomp_wf LV_Index_wf LV_Ground_wf C_LOCATION_wf C_LVALUE_wf base_wf lifting-strict-atom_eq is-exception_wf has-value_wf_base top_wf
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity isect_memberFormation introduction cut sqequalRule isect_memberEquality voidElimination voidEquality thin lemma_by_obid hypothesis lambdaFormation because_Cache sqequalSqle divergentSqle callbyvalueDecide sqequalHypSubstitution unionEquality unionElimination sqleReflexivity equalityEquality equalityTransitivity equalitySymmetry hypothesisEquality dependent_functionElimination independent_functionElimination decideExceptionCases axiomSqleEquality exceptionSqequal baseApply closedConclusion baseClosed isectElimination independent_isectElimination independent_pairFormation inrFormation imageMemberEquality imageElimination inlFormation instantiate extract_by_obid applyEquality lambdaEquality isectEquality functionEquality cumulativity universeEquality setEquality intEquality setElimination rename atomEquality dependent_set_memberEquality axiomEquality

Latex:
\mforall{}[A:Type].  \mforall{}[R:A  {}\mrightarrow{}  C\_LVALUE()  {}\mrightarrow{}  \mBbbP{}].  \mforall{}[v:C\_LVALUE()].
\mforall{}[Ground:loc:C\_LOCATION()  {}\mrightarrow{}  \{x:A|  R[x;LV\_Ground(loc)]\}  ].  \mforall{}[Index:lval:C\_LVALUE()
                                                                                                                                    {}\mrightarrow{}  idx:\mBbbZ{}
                                                                                                                                    {}\mrightarrow{}  \{x:A|  R[x;lval]\} 
                                                                                                                                    {}\mrightarrow{}  \{x:A| 
                                                                                                                                            R[x;LV\_Index(lval;idx)]\}  ].
\mforall{}[Scomp:lval:C\_LVALUE()  {}\mrightarrow{}  comp:Atom  {}\mrightarrow{}  \{x:A|  R[x;lval]\}    {}\mrightarrow{}  \{x:A|  R[x;LV\_Scomp(lval;comp)]\}  ].
    (C\_LVALUE\_ind(v;
                                LV\_Ground(loc){}\mRightarrow{}  Ground[loc];
                                LV\_Index(lval,idx){}\mRightarrow{}  rec1.Index[lval;idx;rec1];
                                LV\_Scomp(lval,comp){}\mRightarrow{}  rec2.Scomp[lval;comp;rec2])    \mmember{}  \{x:A|  R[x;v]\}  )



Date html generated: 2016_05_16-AM-08_47_45
Last ObjectModification: 2016_01_17-AM-09_43_58

Theory : C-semantics


Home Index