Nuprl Lemma : Memory-loc-classrel

[Info,B,A:Type]. ∀[f:Id ⟶ A ⟶ B ⟶ B]. ∀[init:Id ⟶ bag(B)].
  ∀X:EClass(A). ∀es:EO+(Info). ∀e:E.
    ∀[v:B]
      (v ∈ Memory-loc-class(f;init;X)(e)
      ⇐⇒ ((↑first(e)) ∧ v ↓∈ init loc(e)) ∨ ((¬↑first(e)) ∧ iterated_classrel(es;B;A;f loc(e);init;X;pred(e);v)))


Proof




Definitions occuring in Statement :  Memory-loc-class: Memory-loc-class(f;init;X) iterated_classrel: iterated_classrel(es;S;A;f;init;X;e;v) classrel: v ∈ X(e) eclass: EClass(A[eo; e]) event-ordering+: EO+(Info) es-first: first(e) es-pred: pred(e) es-loc: loc(e) es-E: E Id: Id assert: b uall: [x:A]. B[x] all: x:A. B[x] iff: ⇐⇒ Q not: ¬A or: P ∨ Q and: P ∧ Q apply: a function: x:A ⟶ B[x] universe: Type bag-member: x ↓∈ bs bag: bag(T)
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T prop: and: P ∧ Q subtype_rel: A ⊆B uimplies: supposing a implies:  Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) assert: b ifthenelse: if then else fi  sq_stable: SqStable(P) or: P ∨ Q cand: c∧ B true: True bag-member: x ↓∈ bs squash: T not: ¬A false: False bfalse: ff exists: x:A. B[x] sq_type: SQType(T) guard: {T} bnot: ¬bb so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] iff: ⇐⇒ Q rev_implies:  Q so_lambda: λ2x.t[x] so_apply: x[s] Id: Id es-E: E es-base-E: es-base-E(es)

Latex:
\mforall{}[Info,B,A:Type].  \mforall{}[f:Id  {}\mrightarrow{}  A  {}\mrightarrow{}  B  {}\mrightarrow{}  B].  \mforall{}[init:Id  {}\mrightarrow{}  bag(B)].
    \mforall{}X:EClass(A).  \mforall{}es:EO+(Info).  \mforall{}e:E.
        \mforall{}[v:B]
            (v  \mmember{}  Memory-loc-class(f;init;X)(e)
            \mLeftarrow{}{}\mRightarrow{}  ((\muparrow{}first(e))  \mwedge{}  v  \mdownarrow{}\mmember{}  init  loc(e))
                    \mvee{}  ((\mneg{}\muparrow{}first(e))  \mwedge{}  iterated\_classrel(es;B;A;f  loc(e);init;X;pred(e);v)))



Date html generated: 2016_05_17-AM-09_22_58
Last ObjectModification: 2016_01_17-PM-11_13_36

Theory : classrel!lemmas


Home Index