Step
*
1
of Lemma
fun-path-induction
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]]
BY
{ (RevHypSubst (-4) 0 THEN Auto)⋅ }
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
14. ¬(x = hd(v) ∈ T)
15. hd(v)=f*(y) via v
16. R[hd(v);y;v]
⊢ R[x;y;[x / v]]
Latex:
Latex:
1.  [T]  :  Type
2.  f  :  T  {}\mrightarrow{}  T
3.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  (T  List)  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}x:T.  R[x;x;[x]]
5.  \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)))
6.  u  :  T
7.  v  :  T  List
8.  \mforall{}x,y:T.    R[x;y;v]  supposing  x=f*(y)  via  v
9.  x  :  T
10.  y  :  T
11.  x  =  u
12.  0  <  ||v||
13.  ((x  =  (f  hd(v)))  \mwedge{}  (\mneg{}(x  =  hd(v))))  \mwedge{}  hd(v)=f*(y)  via  v
14.  R[hd(v);y;v]
\mvdash{}  R[x;y;[u  /  v]]
By
Latex:
(RevHypSubst  (-4)  0  THEN  Auto)\mcdot{}
Home
Index