Step * of Lemma base-class-program_wf

[f:Name ─→ Type]. ∀[hdr:Name]. ∀[T:Type].  base-class-program(hdr) ∈ LocalClass(Base(hdr)) supposing hdr encodes T
BY
(Auto
   THEN RepUR ``base-class-program`` 0
   THEN MemTypeCD
   THEN Auto
   THEN Reduce 0
   THEN (Assert ⌈hdf-base(v.cond-msg-body(hdr;v))*(map(λx.info(x);before(e)))
                 hdf-base(v.cond-msg-body(hdr;v))
                 ∈ hdataflow(Message(f);T)⌉⋅
   THENM ((HypSubst' (-1) THENA Auto) THEN RepUR ``hdf-base hdf-ap base-headers-msg-val class-ap`` THEN Auto)
   )
   THEN GenConclAtAddr [2;2]
   THEN Thin (-1)⋅
   THEN ListInd (-1)
   THEN Reduce 0
   THEN Auto
   THEN (InstLemma `hdf-base-ap` [⌈Message(f)⌉;⌈T⌉;⌈λ2v.cond-msg-body(hdr;v)⌉;⌈u⌉]⋅ THENA Auto)
   THEN HypSubst (-1) 0
   THEN Reduce 0
   THEN Auto) }


Latex:



Latex:
\mforall{}[f:Name  {}\mrightarrow{}  Type].  \mforall{}[hdr:Name].  \mforall{}[T:Type].
    base-class-program(hdr)  \mmember{}  LocalClass(Base(hdr))  supposing  hdr  encodes  T


By


Latex:
(Auto
  THEN  RepUR  ``base-class-program``  0
  THEN  MemTypeCD
  THEN  Auto
  THEN  Reduce  0
  THEN  (Assert  \mkleeneopen{}hdf-base(v.cond-msg-body(hdr;v))*(map(\mlambda{}x.info(x);before(e)))
                              =  hdf-base(v.cond-msg-body(hdr;v))\mkleeneclose{}\mcdot{}
  THENM  ((HypSubst'  (-1)  0  THENA  Auto)
                THEN  RepUR  ``hdf-base  hdf-ap  base-headers-msg-val  class-ap``  0
                THEN  Auto)
  )
  THEN  GenConclAtAddr  [2;2]
  THEN  Thin  (-1)\mcdot{}
  THEN  ListInd  (-1)
  THEN  Reduce  0
  THEN  Auto
  THEN  (InstLemma  `hdf-base-ap`  [\mkleeneopen{}Message(f)\mkleeneclose{};\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}\mlambda{}\msubtwo{}v.cond-msg-body(hdr;v)\mkleeneclose{};\mkleeneopen{}u\mkleeneclose{}]\mcdot{}  THENA  Auto)
  THEN  HypSubst  (-1)  0
  THEN  Reduce  0
  THEN  Auto)




Home Index