Nuprl Lemma : iterate-base-process-class-program

[f:Name ⟶ Type]. ∀[Info,T:Type]. ∀[loc:Id]. ∀[hdr:Name].
  ∀[P:Id ⟶ hdataflow(Info;T)]. ∀[L:Message(f) List]. ∀[m:Message(f)]. ∀[i:Top].
    (snd(base-process-class-program(P;loc;hdr) i*(L)(m)) if test-msg-header-and-loc(m;hdr;loc)
    then snd(P loc*(mapfilter(λmsg.(snd(msg-body(msg)));λmsg.test-msg-header-and-loc(msg;hdr;loc);L))(snd(msg-body(m))))
    else {}
    fi 
  supposing hdr encodes Id × Info


Proof




Definitions occuring in Statement :  base-process-class-program: base-process-class-program(X;loc;hdr) test-msg-header-and-loc: test-msg-header-and-loc(msg;hdr;loc) encodes-msg-type: hdr encodes T msg-body: msg-body(msg) Message: Message(f) iterate-hdataflow: P*(inputs) hdf-ap: X(a) hdataflow: hdataflow(A;B) Id: Id name: Name mapfilter: mapfilter(f;P;L) list: List ifthenelse: if then else fi  uimplies: supposing a uall: [x:A]. B[x] top: Top pi2: snd(t) apply: a lambda: λx.A[x] function: x:A ⟶ B[x] product: x:A × B[x] universe: Type sqequal: t empty-bag: {}
Definitions unfolded in proof :  uall: [x:A]. B[x] member: t ∈ T uimplies: supposing a encodes-msg-type: hdr encodes T guard: {T} so_lambda: λ2x.t[x] so_apply: x[s] subtype_rel: A ⊆B all: x:A. B[x] top: Top nat: implies:  Q false: False ge: i ≥  satisfiable_int_formula: satisfiable_int_formula(fmla) exists: x:A. B[x] not: ¬A and: P ∧ Q prop: or: P ∨ Q bool: 𝔹 unit: Unit it: btrue: tt uiff: uiff(P;Q) ifthenelse: if then else fi  pi2: snd(t) hdf-halt: hdf-halt() bfalse: ff sq_type: SQType(T) bnot: ¬bb assert: b cons: [a b] colength: colength(L) so_lambda: λ2y.t[x; y] so_apply: x[s1;s2] decidable: Dec(P) nil: [] less_than: a < b squash: T less_than': less_than'(a;b) pi1: fst(t) msg-type: msg-type(msg;f) iff: ⇐⇒ Q rev_implies:  Q append: as bs so_lambda: so_lambda(x,y,z.t[x; y; z]) so_apply: x[s1;s2;s3]

Latex:
\mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[Info,T:Type].  \mforall{}[loc:Id].  \mforall{}[hdr:Name].
    \mforall{}[P:Id  {}\mrightarrow{}  hdataflow(Info;T)].  \mforall{}[L:Message(f)  List].  \mforall{}[m:Message(f)].  \mforall{}[i:Top].
        (snd(base-process-class-program(P;loc;hdr)  i*(L)(m))  \msim{}  if  test-msg-header-and-loc(m;hdr;loc)
        then  snd(P  loc*(mapfilter(\mlambda{}msg.(snd(msg-body(msg)));
                                                            \mlambda{}msg.test-msg-header-and-loc(msg;hdr;loc);
                                                            L))(snd(msg-body(m))))
        else  \{\}
        fi  ) 
    supposing  hdr  encodes  Id  \mtimes{}  Info



Date html generated: 2016_05_17-AM-09_08_23
Last ObjectModification: 2016_01_17-PM-09_14_25

Theory : local!classes


Home Index