Step * 1 1 1 of Lemma msg-body-cmp_wf


1. Name ⟶ Type
2. hdrs Name List
3. mcmp hdr:Name ⟶ comparison(f hdr)
4. {x:Message(f)| (msg-header(x) ∈ hdrs)} @i
5. λx,y. (mcmp msg-header(a) msg-body(x) msg-body(y)) ∈ comparison({m:Message(f)| msg-header(m) msg-header(a) ∈ Name} \000C)
6. m1,m2. (mcmp msg-header(m1) msg-body(m1) msg-body(m2)))
x,y. (mcmp msg-header(a) msg-body(x) msg-body(y)))
∈ ({m:Message(f)| msg-header(m) msg-header(a) ∈ Name}  ⟶ {m:Message(f)| msg-header(m) msg-header(a) ∈ Name}  ⟶ ℤ)
⊢ λm1,m2. (mcmp msg-header(m1) msg-body(m1) msg-body(m2)) ∈ comparison({m:Message(f)| msg-header(m) msg-header(a) ∈ Na\000Cme} )
BY
((MemTypeHD (-2) THENA Auto) THEN MemTypeCD THEN Try (HypSubst' (-1) 0) THEN Auto) }


Latex:


Latex:

1.  f  :  Name  {}\mrightarrow{}  Type
2.  hdrs  :  Name  List
3.  mcmp  :  hdr:Name  {}\mrightarrow{}  comparison(f  hdr)
4.  a  :  \{x:Message(f)|  (msg-header(x)  \mmember{}  hdrs)\}  @i
5.  \mlambda{}x,y.  (mcmp  msg-header(a)  msg-body(x)  msg-body(y))  \mmember{}  comparison(\{m:Message(f)| 
                                                                                                                                msg-header(m)  =  msg-header(a)\}  )
6.  (\mlambda{}m1,m2.  (mcmp  msg-header(m1)  msg-body(m1)  msg-body(m2)))
=  (\mlambda{}x,y.  (mcmp  msg-header(a)  msg-body(x)  msg-body(y)))
\mvdash{}  \mlambda{}m1,m2.  (mcmp  msg-header(m1)  msg-body(m1)  msg-body(m2))  \mmember{}  comparison(\{m:Message(f)| 
                                                                                                                                    msg-header(m)  =  msg-header(a)\}  )


By


Latex:
((MemTypeHD  (-2)  THENA  Auto)  THEN  MemTypeCD  THEN  Try  (HypSubst'  (-1)  0)  THEN  Auto)




Home Index