Step
*
of Lemma
constrained-msg-interface-valueall-type
∀[f:Name ─→ Type]. ∀[locs:Id List]. ∀[hdrs:Name List].
valueall-type(Interface(to locs, with hdrs)) supposing (∀h∈hdrs.valueall-type(f h))
BY
{ (Intros⋅
THEN RepeatFor 2 ((D 0 THENA Auto))
THEN (GenConcl ⌈x = mi ∈ Interface(to locs, with hdrs)⌉⋅ THENA Auto)
THEN ThinVar `x'
THEN D -1
THEN RepeatFor 4 (D -2)
THEN RepUR ``msg-interface-message msg-header msg-msg`` -1
THEN (Assert valueall-type(f h) BY
(Unhide THEN Auto THEN D -1 THEN With ⌈i⌉ (D 4)⋅ THEN Auto))) }
1
1. f : Name ─→ Type
2. locs : Id List
3. hdrs : Name List
4. (∀h∈hdrs.valueall-type(f h))
5. m1 : ℤ@i
6. m3 : Id@i
7. m5 : 𝔹@i
8. h : Name@i
9. m7 : f h@i
10. \\%2 : (<m1, m3, m5, h, m7>.dst ∈ locs) ∧ (h ∈ hdrs)@i
11. valueall-type(f h)
⊢ (evalall(<m1, m3, m5, h, m7>))↓
Latex:
Latex:
\mforall{}[f:Name {}\mrightarrow{} Type]. \mforall{}[locs:Id List]. \mforall{}[hdrs:Name List].
valueall-type(Interface(to locs, with hdrs)) supposing (\mforall{}h\mmember{}hdrs.valueall-type(f h))
By
Latex:
(Intros\mcdot{}
THEN RepeatFor 2 ((D 0 THENA Auto))
THEN (GenConcl \mkleeneopen{}x = mi\mkleeneclose{}\mcdot{} THENA Auto)
THEN ThinVar `x'
THEN D -1
THEN RepeatFor 4 (D -2)
THEN RepUR ``msg-interface-message msg-header msg-msg`` -1
THEN (Assert valueall-type(f h) BY
(Unhide THEN Auto THEN D -1 THEN With \mkleeneopen{}i\mkleeneclose{} (D 4)\mcdot{} THEN Auto)))
Home
Index