Step
*
of Lemma
fun-path-induction
∀[T:Type]
∀f:T ⟶ T
∀[R:T ⟶ T ⟶ (T List) ⟶ ℙ]
((∀x:T. R[x;x;[x]])
⇒ (∀L:T List. ∀x,y,z:T. (R[y;z;[y / L]]
⇒ R[x;z;[x; [y / L]]]) supposing ((¬(x = y ∈ T)) and (x = (f y) ∈ T)))
⇒ {∀L:T List. ∀x,y:T. R[x;y;L] supposing x=f*(y) via L})
BY
{ xxx(Unfold `guard` 0
THEN BasicUniformUnivCD Auto
THEN (D 0 THENA Auto)
THEN BasicUniformUnivCD Auto
THEN RepeatFor 2 ((D 0 THENA Auto))
THEN (FunPathInd THENA Auto)⋅)xxx }
1
1. [T] : Type
2. f : T ⟶ T
3. [R] : T ⟶ T ⟶ (T List) ⟶ ℙ
4. ∀x:T. R[x;x;[x]]
5. ∀L:T List. ∀x,y,z:T. (R[y;z;[y / L]]
⇒ R[x;z;[x; [y / L]]]) supposing ((¬(x = y ∈ T)) and (x = (f y) ∈ T))
6. u : T
7. v : T List
8. ∀x,y:T. R[x;y;v] supposing x=f*(y) via v
9. x : T
10. y : T
11. x = u ∈ T
12. 0 < ||v||
13. ((x = (f hd(v)) ∈ T) ∧ (¬(x = hd(v) ∈ T))) ∧ hd(v)=f*(y) via v
14. R[hd(v);y;v]
⊢ R[x;y;[u / v]]
2
1. [T] : Type
2. f : T ⟶ T
3. [R] : T ⟶ T ⟶ (T List) ⟶ ℙ
4. ∀x:T. R[x;x;[x]]
5. ∀L:T List. ∀x,y,z:T. (R[y;z;[y / L]]
⇒ R[x;z;[x; [y / L]]]) supposing ((¬(x = y ∈ T)) and (x = (f y) ∈ T))
6. u : T
7. v : T List
8. ∀x,y:T. R[x;y;v] supposing x=f*(y) via v
9. x : T
10. y : T
11. x = u ∈ T
12. ¬0 < ||v||
13. y = x ∈ T
⊢ R[x;x;[u / v]]
Latex:
Latex:
\mforall{}[T:Type]
\mforall{}f:T {}\mrightarrow{} T
\mforall{}[R:T {}\mrightarrow{} T {}\mrightarrow{} (T List) {}\mrightarrow{} \mBbbP{}]
((\mforall{}x:T. R[x;x;[x]])
{}\mRightarrow{} (\mforall{}L:T List. \mforall{}x,y,z:T.
(R[y;z;[y / L]] {}\mRightarrow{} R[x;z;[x; [y / L]]]) supposing ((\mneg{}(x = y)) and (x = (f y))))
{}\mRightarrow{} \{\mforall{}L:T List. \mforall{}x,y:T. R[x;y;L] supposing x=f*(y) via L\})
By
Latex:
xxx(Unfold `guard` 0
THEN BasicUniformUnivCD Auto
THEN (D 0 THENA Auto)
THEN BasicUniformUnivCD Auto
THEN RepeatFor 2 ((D 0 THENA Auto))
THEN (FunPathInd THENA Auto)\mcdot{})xxx
Home
Index