Step
*
2
of Lemma
rel-path-between-cons
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. L : T List
4. ¬(L = [] ∈ (T List))
5. x : T
6. y : T
7. z : T
⊢ rel-path-between(T;R;x;y;[z / L])
⇐⇒ (x = z ∈ T) ∧ y = z ∈ T supposing False ∧ (x R hd(L)) ∧ rel-path-between(T;R;hd(L);y;L) supposing ¬False
BY
{ (Unfold `rel-path-between` 0 THEN Auto THEN All Reduce THEN Auto) }
1
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. L : T List
4. ¬(L = [] ∈ (T List))
5. x : T
6. y : T
7. z : T
8. rel-path(R;[z / L])
9. 0 < ||L|| + 1
10. x = z ∈ T
11. y = last([z / L]) ∈ T
12. ¬False
⊢ x R hd(L)
2
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. L : T List
4. ¬(L = [] ∈ (T List))
5. x : T
6. y : T
7. z : T
8. rel-path(R;[z / L])
9. 0 < ||L|| + 1
10. x = z ∈ T
11. y = last([z / L]) ∈ T
12. ¬False
⊢ rel-path(R;L)
3
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. L : T List
4. ¬(L = [] ∈ (T List))
5. x : T
6. y : T
7. z : T
8. x = z ∈ T
9. y = z ∈ T supposing False
10. (x R hd(L)) ∧ rel-path(R;L) ∧ 0 < ||L|| ∧ (hd(L) = hd(L) ∈ T) ∧ (y = last(L) ∈ T) supposing ¬False
⊢ rel-path(R;[z / L])
4
1. T : Type
2. R : T ⟶ T ⟶ ℙ
3. L : T List
4. ¬(L = [] ∈ (T List))
5. x : T
6. y : T
7. z : T
8. x = z ∈ T
9. y = z ∈ T supposing False
10. (x R hd(L)) ∧ rel-path(R;L) ∧ 0 < ||L|| ∧ (hd(L) = hd(L) ∈ T) ∧ (y = last(L) ∈ T) supposing ¬False
⊢ y = last([z / L]) ∈ T
Latex:
Latex:
1.  [T]  :  Type
2.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  L  :  T  List
4.  \mneg{}(L  =  [])
5.  x  :  T
6.  y  :  T
7.  z  :  T
\mvdash{}  rel-path-between(T;R;x;y;[z  /  L])
\mLeftarrow{}{}\mRightarrow{}  (x  =  z)  \mwedge{}  y  =  z  supposing  False  \mwedge{}  (x  R  hd(L))  \mwedge{}  rel-path-between(T;R;hd(L);y;L)  supposing  \mneg{}False
By
Latex:
(Unfold  `rel-path-between`  0  THEN  Auto  THEN  All  Reduce  THEN  Auto)
Home
Index