Step * 1 of Lemma bbar-recursion_wf


1. Type
2. (T List) ⟶ 𝔹
3. (T List) ⟶ ℙ
4. : ∀s:{s:T List| ↑R[s]} A[s]
5. : ∀s:{s:T List| ¬↑R[s]} ((∀t:T. A[s [t]])  A[s])
6. List
7. ∀alpha:ℕ ⟶ T. (↓∃n:ℕ(↑R[s map(alpha;upto(n))]))
⊢ x.bbar-recursion(R;b;i;s x)) [] ∈ x.A[s x]) []
BY
(All (Unfold `so_apply`)⋅
   THEN BarInduction ⌜T⌝ ⌜λs'.(↑(R (s s')))⌝⋅⋅
   THEN Reduce 0
   THEN Try (BackThruSomeHyp')
   THEN All Reduce
   THEN Auto
   THEN Try ((Fold `decidable` THEN Auto))
   THEN RecUnfold `bbar-recursion` 0⋅
   THEN AutoSplit
   THEN Auto
   THEN RWO "append_assoc" 0
   THEN Auto)⋅ }


Latex:


Latex:

1.  T  :  Type
2.  R  :  (T  List)  {}\mrightarrow{}  \mBbbB{}
3.  A  :  (T  List)  {}\mrightarrow{}  \mBbbP{}
4.  b  :  \mforall{}s:\{s:T  List|  \muparrow{}R[s]\}  .  A[s]
5.  i  :  \mforall{}s:\{s:T  List|  \mneg{}\muparrow{}R[s]\}  .  ((\mforall{}t:T.  A[s  @  [t]])  {}\mRightarrow{}  A[s])
6.  s  :  T  List
7.  \mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}n:\mBbbN{}.  (\muparrow{}R[s  @  map(alpha;upto(n))]))
\mvdash{}  (\mlambda{}x.bbar-recursion(R;b;i;s  @  x))  []  \mmember{}  (\mlambda{}x.A[s  @  x])  []


By


Latex:
(All  (Unfold  `so\_apply`)\mcdot{}
  THEN  BarInduction  \mkleeneopen{}T\mkleeneclose{}  \mkleeneopen{}\mlambda{}s'.(\muparrow{}(R  (s  @  s')))\mkleeneclose{}\mcdot{}\mcdot{}
  THEN  Reduce  0
  THEN  Try  (BackThruSomeHyp')
  THEN  All  Reduce
  THEN  Auto
  THEN  Try  ((Fold  `decidable`  0  THEN  Auto))
  THEN  RecUnfold  `bbar-recursion`  0\mcdot{}
  THEN  AutoSplit
  THEN  Auto
  THEN  RWO  "append\_assoc"  0
  THEN  Auto)\mcdot{}




Home Index