Step
*
of Lemma
fun-connected-induction
∀[T:Type]
  ∀f:T ⟶ T
    ∀[R:T ⟶ T ⟶ ℙ]
      ((∀x:T. R[x;x])
      
⇒ (∀x,y,z:T.  (y is f*(z) 
⇒ R[y;z] 
⇒ R[x;z]) supposing ((¬(x = y ∈ T)) and (x = (f y) ∈ T)))
      
⇒ {∀x,y:T.  (x is f*(y) 
⇒ R[x;y])})
BY
{ xxx(Unfold `guard` 0 THEN RepeatFor 5 ((D 0 THENA Auto)) THEN FunConnectedInd THEN Auto)xxx }
1
1. [T] : Type
2. f : T ⟶ T
3. [R] : T ⟶ T ⟶ ℙ
4. ∀x:T. R[x;x]
5. ∀x,y,z:T.  (y is f*(z) 
⇒ R[y;z] 
⇒ R[x;z]) supposing ((¬(x = y ∈ T)) and (x = (f y) ∈ T))
6. u : T
7. v : T List
8. ∀x,y:T.  (x=f*(y) via v 
⇒ R[x;y])
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]
⊢ R[x;y]
Latex:
Latex:
\mforall{}[T:Type]
    \mforall{}f:T  {}\mrightarrow{}  T
        \mforall{}[R:T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}]
            ((\mforall{}x:T.  R[x;x])
            {}\mRightarrow{}  (\mforall{}x,y,z:T.    (y  is  f*(z)  {}\mRightarrow{}  R[y;z]  {}\mRightarrow{}  R[x;z])  supposing  ((\mneg{}(x  =  y))  and  (x  =  (f  y))))
            {}\mRightarrow{}  \{\mforall{}x,y:T.    (x  is  f*(y)  {}\mRightarrow{}  R[x;y])\})
By
Latex:
xxx(Unfold  `guard`  0  THEN  RepeatFor  5  ((D  0  THENA  Auto))  THEN  FunConnectedInd  THEN  Auto)xxx
Home
Index