Step
*
1
of Lemma
co-list-islist-induction1
1. [A] : Type
2. [P] : co-list-islist(A) ⟶ ℙ
3. P[conil()]@i
4. ∀L:co-list-islist(A). ∀a:A. (P[L]
⇒ P[cocons(a;L)])@i
5. L : co-list-islist(A)@i
⊢ P[L]
BY
{ (RenameVar `nilcase' 3
THEN RenameVar `reccase' 4
THEN UseWitness ⌜rec-case(L) of
[] => nilcase
a::t =>
r.reccase t a r⌝⋅
THEN All (Unfolds ``all implies``)
THEN Using [`B',⌜P⌝] (BLemma `list_ind-wf-co-list-islist2`)⋅
THEN Auto) }
Latex:
Latex:
1. [A] : Type
2. [P] : co-list-islist(A) {}\mrightarrow{} \mBbbP{}
3. P[conil()]@i
4. \mforall{}L:co-list-islist(A). \mforall{}a:A. (P[L] {}\mRightarrow{} P[cocons(a;L)])@i
5. L : co-list-islist(A)@i
\mvdash{} P[L]
By
Latex:
(RenameVar `nilcase' 3
THEN RenameVar `reccase' 4
THEN UseWitness \mkleeneopen{}rec-case(L) of
[] => nilcase
a::t =>
r.reccase t a r\mkleeneclose{}\mcdot{}
THEN All (Unfolds ``all implies``)
THEN Using [`B',\mkleeneopen{}P\mkleeneclose{}] (BLemma `list\_ind-wf-co-list-islist2`)\mcdot{}
THEN Auto)
Home
Index