Nuprl Lemma : local-simulation-msg-constraint
∀[f,g:Name ⟶ Type]. ∀[X:EClass(Interface)].
  ∀[es:EO+(Message(f))]. ∀[hdr:Name]. ∀[locs:bag(Id)].
    ∀[hdrs:Name List]. ∀[i:Id].
      (local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)
      ⇒ (∀e:E. ((loc(e) = i ∈ Id) ⇒ eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g)))) 
    supposing hdr encodes Id × Message(g) 
  supposing LocalClass(X)
Proof
Definitions occuring in Statement : 
local-simulation-input-validity: local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i), 
eo-msg-interface-constraint: eo-msg-interface-constraint(es;X;hdrs;f), 
msg-interface: Interface, 
local-simulation-eo: local-simulation-eo(es;e;hdr;locs), 
encodes-msg-type: hdr encodes T, 
Message: Message(f), 
local-class: LocalClass(X), 
eclass: EClass(A[eo; e]), 
event-ordering+: EO+(Info), 
es-loc: loc(e), 
es-E: E, 
Id: Id, 
name: Name, 
list: T List, 
uimplies: b supposing a, 
uall: ∀[x:A]. B[x], 
all: ∀x:A. B[x], 
implies: P ⇒ Q, 
function: x:A ⟶ B[x], 
product: x:A × B[x], 
universe: Type, 
equal: s = t ∈ T, 
bag: bag(T)
Definitions unfolded in proof : 
uall: ∀[x:A]. B[x], 
uimplies: b supposing a, 
implies: P ⇒ Q, 
all: ∀x:A. B[x], 
member: t ∈ T, 
eo-msg-interface-constraint: eo-msg-interface-constraint(es;X;hdrs;f), 
local-simulation-eo: local-simulation-eo(es;e;hdr;locs), 
top: Top, 
local-simulation-inputs: local-simulation-inputs(es;e;hdr;locs), 
squash: ↓T, 
prop: ℙ, 
subtype_rel: A ⊆r B, 
guard: {T}, 
encodes-msg-type: hdr encodes T, 
label: ...$L... t, 
so_lambda: λ2x.t[x], 
so_apply: x[s], 
compose: f o g, 
int_seg: {i..j-}, 
lelt: i ≤ j < k, 
and: P ∧ Q, 
decidable: Dec(P), 
or: P ∨ Q, 
satisfiable_int_formula: satisfiable_int_formula(fmla), 
exists: ∃x:A. B[x], 
false: False, 
not: ¬A, 
less_than: a < b, 
cand: A c∧ B, 
sq_stable: SqStable(P), 
local-simulation-input-validity: local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i), 
es-header: header(e), 
mapfilter: mapfilter(f;P;L), 
le: A ≤ B, 
es-info-body: msgval(e), 
iff: P ⇐⇒ Q, 
es-info-type: es-info-type(es;e;f), 
msg-type: msg-type(msg;f), 
true: True, 
rev_implies: P ⇐ Q, 
msg-interface: Interface, 
uiff: uiff(P;Q), 
local-simulation-event: local-simulation-event(es;e;hdr;locs), 
iseg: l1 ≤ l2, 
sq_type: SQType(T), 
ifthenelse: if b then t else f fi , 
btrue: tt, 
bfalse: ff, 
es-le-before: ≤loc(e), 
ge: i ≥ j , 
make-msg-interface: make-msg-interface(i;l;m), 
pi1: fst(t), 
pi2: snd(t), 
es-embedding: (f embeds eo1 into eo2)
Latex:
\mforall{}[f,g:Name  {}\mrightarrow{}  Type].  \mforall{}[X:EClass(Interface)].
    \mforall{}[es:EO+(Message(f))].  \mforall{}[hdr:Name].  \mforall{}[locs:bag(Id)].
        \mforall{}[hdrs:Name  List].  \mforall{}[i:Id].
            (local-simulation-input-validity(g;X;hdr;locs;hdrs;es;i)
            {}\mRightarrow{}  (\mforall{}e:E
                        ((loc(e)  =  i)
                        {}\mRightarrow{}  eo-msg-interface-constraint(local-simulation-eo(es;e;hdr;locs);X;hdrs;g)))) 
        supposing  hdr  encodes  Id  \mtimes{}  Message(g) 
    supposing  LocalClass(X)
Date html generated:
2016_05_17-AM-09_14_08
Last ObjectModification:
2016_01_17-PM-11_16_15
Theory : classrel!lemmas
Home
Index