Step
*
1
of Lemma
urec_induction
1. [F] : Type ⟶ Type
2. Monotone(T.F[T])
3. ∀T:Type. ((T ⊆r Base)
⇒ ((F T) ⊆r Base))
4. destructor{i:l}(T.F[T])
5. [P] : urec(F) ⟶ ℙ
6. ∀[T:Type]. ((∀x:T ⋂ urec(F). P[x])
⇒ (∀x:F T ⋂ urec(F). P[x]))
7. x : urec(F)
⊢ P[x]
BY
{ TACTIC:Assert ⌜∀n:ℕ. ∀x:⋃n:ℕn.(F^n Void) ⋂ urec(F). P[x]⌝⋅ }
1
.....assertion.....
1. [F] : Type ⟶ Type
2. Monotone(T.F[T])
3. ∀T:Type. ((T ⊆r Base)
⇒ ((F T) ⊆r Base))
4. destructor{i:l}(T.F[T])
5. [P] : urec(F) ⟶ ℙ
6. ∀[T:Type]. ((∀x:T ⋂ urec(F). P[x])
⇒ (∀x:F T ⋂ urec(F). P[x]))
7. x : urec(F)
⊢ ∀n:ℕ. ∀x:⋃n:ℕn.(F^n Void) ⋂ urec(F). P[x]
2
1. [F] : Type ⟶ Type
2. Monotone(T.F[T])
3. ∀T:Type. ((T ⊆r Base)
⇒ ((F T) ⊆r Base))
4. destructor{i:l}(T.F[T])
5. [P] : urec(F) ⟶ ℙ
6. ∀[T:Type]. ((∀x:T ⋂ urec(F). P[x])
⇒ (∀x:F T ⋂ urec(F). P[x]))
7. x : urec(F)
8. ∀n:ℕ. ∀x:⋃n:ℕn.(F^n Void) ⋂ urec(F). P[x]
⊢ P[x]
Latex:
Latex:
1. [F] : Type {}\mrightarrow{} Type
2. Monotone(T.F[T])
3. \mforall{}T:Type. ((T \msubseteq{}r Base) {}\mRightarrow{} ((F T) \msubseteq{}r Base))
4. destructor\{i:l\}(T.F[T])
5. [P] : urec(F) {}\mrightarrow{} \mBbbP{}
6. \mforall{}[T:Type]. ((\mforall{}x:T \mcap{} urec(F). P[x]) {}\mRightarrow{} (\mforall{}x:F T \mcap{} urec(F). P[x]))
7. x : urec(F)
\mvdash{} P[x]
By
Latex:
TACTIC:Assert \mkleeneopen{}\mforall{}n:\mBbbN{}. \mforall{}x:\mcup{}n:\mBbbN{}n.(F\^{}n Void) \mcap{} urec(F). P[x]\mkleeneclose{}\mcdot{}
Home
Index