Step
*
1
of Lemma
rec-comb-classrel
1. Info : Type
2. B : Type
3. n : ℕ
4. A : ℕn ─→ Type
5. Xs : k:ℕn ─→ EClass(A k)
6. f : Id ─→ (k:ℕn ─→ (A k)) ─→ B ─→ B
7. F : Id ─→ (k:ℕn ─→ bag(A k)) ─→ bag(B) ─→ bag(B)
8. init : Id ─→ bag(B)
9. es : EO+(Info)
10. e : E
11. v : B
12. ∀x:Id. ∀v:B. ∀bs:k:ℕn ─→ bag(A k). ∀b:bag(B).
      (v ↓∈ F x bs b 
⇐⇒ ↓∃vs:k:ℕn ─→ (A k). ∃w:B. ((∀k:ℕn. vs k ↓∈ bs k) ∧ w ↓∈ b ∧ (v = (f x vs w) ∈ B)))
13. v ∈ rec-comb(Xs;F;init)(e)
⊢ ↓∃vs:k:ℕn ─→ (A k)
    ∃w:B. ((∀k:ℕn. vs[k] ∈ Xs[k](e)) ∧ w ∈ Prior(rec-comb(Xs;F;init))?init(e) ∧ (v = (f loc(e) vs w) ∈ B))
BY
{ (RecUnfold `rec-comb` (-1)
   THEN RepUR ``classrel`` (-1)
   THEN (InstHyp [⌈loc(e)⌉;⌈v⌉;⌈λi.(Xs i es e)⌉;⌈Prior(rec-comb(Xs;F;init))?init es e⌉] (-2)⋅ THENA MaAuto)
   THEN FHyp (-1) [-2]
   THEN Reduce (-1)
   THEN Try (Fold `classrel` (-1)⋅)
   THEN RepUR ``so_apply`` 0
   THEN Trivial) }
Latex:
Latex:
1.  Info  :  Type
2.  B  :  Type
3.  n  :  \mBbbN{}
4.  A  :  \mBbbN{}n  {}\mrightarrow{}  Type
5.  Xs  :  k:\mBbbN{}n  {}\mrightarrow{}  EClass(A  k)
6.  f  :  Id  {}\mrightarrow{}  (k:\mBbbN{}n  {}\mrightarrow{}  (A  k))  {}\mrightarrow{}  B  {}\mrightarrow{}  B
7.  F  :  Id  {}\mrightarrow{}  (k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k))  {}\mrightarrow{}  bag(B)  {}\mrightarrow{}  bag(B)
8.  init  :  Id  {}\mrightarrow{}  bag(B)
9.  es  :  EO+(Info)
10.  e  :  E
11.  v  :  B
12.  \mforall{}x:Id.  \mforall{}v:B.  \mforall{}bs:k:\mBbbN{}n  {}\mrightarrow{}  bag(A  k).  \mforall{}b:bag(B).
            (v  \mdownarrow{}\mmember{}  F  x  bs  b
            \mLeftarrow{}{}\mRightarrow{}  \mdownarrow{}\mexists{}vs:k:\mBbbN{}n  {}\mrightarrow{}  (A  k).  \mexists{}w:B.  ((\mforall{}k:\mBbbN{}n.  vs  k  \mdownarrow{}\mmember{}  bs  k)  \mwedge{}  w  \mdownarrow{}\mmember{}  b  \mwedge{}  (v  =  (f  x  vs  w))))
13.  v  \mmember{}  rec-comb(Xs;F;init)(e)
\mvdash{}  \mdownarrow{}\mexists{}vs:k:\mBbbN{}n  {}\mrightarrow{}  (A  k)
        \mexists{}w:B
          ((\mforall{}k:\mBbbN{}n.  vs[k]  \mmember{}  Xs[k](e))  \mwedge{}  w  \mmember{}  Prior(rec-comb(Xs;F;init))?init(e)  \mwedge{}  (v  =  (f  loc(e)  vs  w)))
By
Latex:
(RecUnfold  `rec-comb`  (-1)
  THEN  RepUR  ``classrel``  (-1)
  THEN  (InstHyp  [\mkleeneopen{}loc(e)\mkleeneclose{};\mkleeneopen{}v\mkleeneclose{};\mkleeneopen{}\mlambda{}i.(Xs  i  es  e)\mkleeneclose{};\mkleeneopen{}Prior(rec-comb(Xs;F;init))?init  es  e\mkleeneclose{}]  (-2)\mcdot{}
              THENA  MaAuto
              )
  THEN  FHyp  (-1)  [-2]
  THEN  Reduce  (-1)
  THEN  Try  (Fold  `classrel`  (-1)\mcdot{})
  THEN  RepUR  ``so\_apply``  0
  THEN  Trivial)
Home
Index