Nuprl Lemma : verify-classrel
∀[T:Type]. ∀[f:Name ⟶ Type]. ∀[es:EO+(Message(f))]. ∀[e:E]. ∀[v:T]. ∀[hdr:Name].
  uiff(v ∈ Verify(hdr)(e);(↑es-info-auth(es;e)) ∧ (header(e) = hdr ∈ Name) ∧ v = body(e)) supposing hdr encodes T
Proof
Definitions occuring in Statement : 
verify-class: Verify(hdr), 
encodes-msg-type: hdr encodes T, 
es-info-auth: es-info-auth(es;e), 
equal-info-body: v = body(e), 
es-header: header(e), 
Message: Message(f), 
classrel: v ∈ X(e), 
event-ordering+: EO+(Info), 
es-E: E, 
name: Name, 
assert: ↑b, 
uiff: uiff(P;Q), 
uimplies: b supposing a, 
uall: ∀[x:A]. B[x], 
and: P ∧ Q, 
function: x:A ⟶ B[x], 
universe: Type, 
equal: s = t ∈ T
Definitions unfolded in proof : 
uiff: uiff(P;Q), 
and: P ∧ Q, 
uimplies: b supposing a, 
member: t ∈ T, 
uall: ∀[x:A]. B[x], 
implies: P ⇒ Q, 
equal-info-body: v = body(e), 
has-es-info-type: has-es-info-type(es;e;f;T), 
subtype_rel: A ⊆r B, 
prop: ℙ, 
classrel: v ∈ X(e), 
bag-member: x ↓∈ bs, 
squash: ↓T, 
verify-class: Verify(hdr), 
cond-verify-msg-body: cond-verify-msg-body(hdr;msg), 
cond-msg-body: cond-msg-body(hdr;msg), 
all: ∀x:A. B[x], 
or: P ∨ Q, 
sq_type: SQType(T), 
guard: {T}, 
ifthenelse: if b then t else f fi , 
btrue: tt, 
bfalse: ff, 
false: False, 
encodes-msg-type: hdr encodes T, 
msg-type: msg-type(msg;f), 
iff: P ⇐⇒ Q, 
rev_implies: P ⇐ Q, 
es-header: header(e), 
es-info-body: msgval(e), 
cand: A c∧ B, 
es-info-auth: es-info-auth(es;e), 
top: Top, 
not: ¬A, 
bool: 𝔹, 
unit: Unit, 
it: ⋅, 
exists: ∃x:A. B[x], 
bnot: ¬bb, 
assert: ↑b, 
rev_uimplies: rev_uimplies(P;Q)
Latex:
\mforall{}[T:Type].  \mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[es:EO+(Message(f))].  \mforall{}[e:E].  \mforall{}[v:T].  \mforall{}[hdr:Name].
    uiff(v  \mmember{}  Verify(hdr)(e);(\muparrow{}es-info-auth(es;e))  \mwedge{}  (header(e)  =  hdr)  \mwedge{}  v  =  body(e)) 
    supposing  hdr  encodes  T
Date html generated:
2016_05_17-AM-09_13_06
Last ObjectModification:
2016_01_17-PM-11_15_06
Theory : classrel!lemmas
Home
Index