Step * of Lemma bar-induction

[T:Type]. ∀[R,A:(T List) ⟶ ℙ].
  ((∀s:T List. Dec(R[s]))
   (∀s:T List. (R[s]  A[s]))
   (∀s:T List. ((∀t:T. A[s [t]])  A[s]))
   (∀s:T List. ((∀alpha:ℕ ⟶ T. (↓∃n:ℕR[s map(alpha;upto(n))]))  A[s])))
BY
(Auto
   THEN InstLemma `bar_induction` [⌜T⌝;⌜λn,s. R[map(s;upto(n))]⌝;⌜λn,s. A[map(s;upto(n))]⌝]⋅
   THEN All (RepUR ``so_apply``)
   THEN Auto)⋅ }

1
1. [T] Type
2. [R] (T List) ⟶ ℙ
3. [A] (T List) ⟶ ℙ
4. ∀s:T List. Dec(R s)
5. ∀s:T List. ((R s)  (A s))
6. ∀s:T List. ((∀t:T. (A (s [t])))  (A s))
7. List
8. ∀alpha:ℕ ⟶ T. (↓∃n:ℕ(R (s map(alpha;upto(n)))))
9. : ℕ
10. s1 : ℕn ⟶ T
11. ∀t:T. (A map(s1++t;upto(n 1)))
⊢ map(s1;upto(n))

2
1. [T] Type
2. [R] (T List) ⟶ ℙ
3. [A] (T List) ⟶ ℙ
4. ∀s:T List. Dec(R s)
5. ∀s:T List. ((R s)  (A s))
6. ∀s:T List. ((∀t:T. (A (s [t])))  (A s))
7. List
8. ∀alpha:ℕ ⟶ T. (↓∃n:ℕ(R (s map(alpha;upto(n)))))
9. ∀n:ℕ. ∀s:ℕn ⟶ T.  ((∀alpha:ℕ ⟶ T. (↓∃m:ℕ(R map(seq-append(n;m;s;alpha);upto(n m)))))  (A map(s;upto(n))))
⊢ s


Latex:


Latex:
\mforall{}[T:Type].  \mforall{}[R,A:(T  List)  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}s:T  List.  Dec(R[s]))
    {}\mRightarrow{}  (\mforall{}s:T  List.  (R[s]  {}\mRightarrow{}  A[s]))
    {}\mRightarrow{}  (\mforall{}s:T  List.  ((\mforall{}t:T.  A[s  @  [t]])  {}\mRightarrow{}  A[s]))
    {}\mRightarrow{}  (\mforall{}s:T  List.  ((\mforall{}alpha:\mBbbN{}  {}\mrightarrow{}  T.  (\mdownarrow{}\mexists{}n:\mBbbN{}.  R[s  @  map(alpha;upto(n))]))  {}\mRightarrow{}  A[s])))


By


Latex:
(Auto
  THEN  InstLemma  `bar\_induction`  [\mkleeneopen{}T\mkleeneclose{};\mkleeneopen{}\mlambda{}n,s.  R[map(s;upto(n))]\mkleeneclose{};\mkleeneopen{}\mlambda{}n,s.  A[map(s;upto(n))]\mkleeneclose{}]\mcdot{}
  THEN  All  (RepUR  ``so\_apply``)
  THEN  Auto)\mcdot{}




Home Index