Step * of Lemma base-process-inputs_wf

[f:Name ─→ Type]. ∀[Info,T:Type]. ∀[X:EClass(T)]. ∀[loc:Id]. ∀[hdr:Name].
  ∀[es:EO+(Message(f))]. ∀[e:E].  (base-process-inputs(loc;hdr;es;e) ∈ Info List) supposing hdr encodes Id × Info
BY
(Auto
   THEN Unfold `base-process-inputs` 0
   THEN (GenConclAtAddrType ⌈{msg:Message(f)| ↑((λmsg.test-msg-header-and-loc(msg;hdr;loc)) msg)}  List⌉ [2;2]⋅
         THENA (Try ((BLemma `filter_type` THEN Auto)) THEN Auto)
         )) }

1
1. Name ─→ Type
2. Info Type
3. Type
4. EClass(T)
5. loc Id
6. hdr Name
7. hdr encodes Id × Info
8. es EO+(Message(f))
9. E
10. {msg:Message(f)| ↑((λmsg.test-msg-header-and-loc(msg;hdr;loc)) msg)}  List@i
11. filter(λmsg.test-msg-header-and-loc(msg;hdr;loc);map(λe.info(e);≤loc(e)))
v
∈ ({msg:Message(f)| ↑((λmsg.test-msg-header-and-loc(msg;hdr;loc)) msg)}  List)@i
⊢ map(λmsg.(snd(msg-body(msg)));v) ∈ Info List


Latex:



Latex:
\mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[Info,T:Type].  \mforall{}[X:EClass(T)].  \mforall{}[loc:Id].  \mforall{}[hdr:Name].
    \mforall{}[es:EO+(Message(f))].  \mforall{}[e:E].    (base-process-inputs(loc;hdr;es;e)  \mmember{}  Info  List) 
    supposing  hdr  encodes  Id  \mtimes{}  Info


By


Latex:
(Auto
  THEN  Unfold  `base-process-inputs`  0
  THEN  (GenConclAtAddrType 
              \mkleeneopen{}\{msg:Message(f)|  \muparrow{}((\mlambda{}msg.test-msg-header-and-loc(msg;hdr;loc))  msg)\}    List\mkleeneclose{}  [2;2]\mcdot{}
              THENA  (Try  ((BLemma  `filter\_type`  THEN  Auto))  THEN  Auto)
              ))




Home Index