Nuprl Lemma : msg-body-cmp_wf

[f:Name ⟶ Type]. ∀[hdrs:Name List]. ∀[mcmp:hdr:Name ⟶ comparison(f hdr)].
  ∀a:{x:Message(f)| (msg-header(x) ∈ hdrs)} 
    (msg-body-cmp(mcmp) ∈ comparison({b:{m:Message(f)| (msg-header(m) ∈ hdrs)} 
                                      (list-index-cmp(NameDeq;hdrs;λm.msg-header(m)) b) 0 ∈ ℤ))


Proof




Definitions occuring in Statement :  msg-body-cmp: msg-body-cmp(mcmp) msg-header: msg-header(m) Message: Message(f) name-deq: NameDeq name: Name list-index-cmp: list-index-cmp(eq;L;f) comparison: comparison(T) l_member: (x ∈ l) list: List uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T set: {x:A| B[x]}  apply: a lambda: λx.A[x] function: x:A ⟶ B[x] natural_number: $n int: universe: Type equal: t ∈ T
Definitions unfolded in proof :  uall: [x:A]. B[x] all: x:A. B[x] member: t ∈ T msg-body-cmp: msg-body-cmp(mcmp) subtype_rel: A ⊆B prop: uimplies: supposing a msg-type: msg-type(msg;f) guard: {T} iff: ⇐⇒ Q and: P ∧ Q rev_implies:  Q implies:  Q compare-fun: compare-fun(cmp;f) name: Name sq_type: SQType(T) comparison: comparison(T) so_lambda: λ2x.t[x] so_apply: x[s] squash: T uiff: uiff(P;Q)

Latex:
\mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[hdrs:Name  List].  \mforall{}[mcmp:hdr:Name  {}\mrightarrow{}  comparison(f  hdr)].
    \mforall{}a:\{x:Message(f)|  (msg-header(x)  \mmember{}  hdrs)\} 
        (msg-body-cmp(mcmp)  \mmember{}  comparison(\{b:\{m:Message(f)|  (msg-header(m)  \mmember{}  hdrs)\}  | 
                                                                            (list-index-cmp(NameDeq;hdrs;\mlambda{}m.msg-header(m))  a  b)  =  0\}  ))



Date html generated: 2016_05_17-AM-09_03_21
Last ObjectModification: 2016_01_17-PM-08_33_53

Theory : messages


Home Index