Step
*
1
of Lemma
rel-path-between-cons
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. L : T List
4. x : T
5. y : T
6. z : T
7. L = [] ∈ (T List)
⊢ rel-path-between(T;R;x;y;[z / L])
⇐⇒ (x = z ∈ T) ∧ y = z ∈ T supposing True ∧ (x R hd(L)) ∧ rel-path-between(T;R;hd(L);y;L) supposing ¬True
BY
{ (DVar `L' THEN All Reduce) }
1
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. x : T
4. y : T
5. z : T
6. [] = [] ∈ (T List)
⊢ rel-path-between(T;R;x;y;[z])
⇐⇒ (x = z ∈ T) ∧ y = z ∈ T supposing True ∧ (x R hd([])) ∧ rel-path-between(T;R;hd([]);y;[]) supposing ¬True
2
1. [T] : Type
2. [R] : T ⟶ T ⟶ ℙ
3. u : T
4. v : T List
5. x : T
6. y : T
7. z : T
8. [u / v] = [] ∈ (T List)
⊢ rel-path-between(T;R;x;y;[z; [u / v]])
⇐⇒ (x = z ∈ T) ∧ y = z ∈ T supposing True ∧ (x R u) ∧ rel-path-between(T;R;u;y;[u / v]) supposing ¬True
Latex:
Latex:
1.  [T]  :  Type
2.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  L  :  T  List
4.  x  :  T
5.  y  :  T
6.  z  :  T
7.  L  =  []
\mvdash{}  rel-path-between(T;R;x;y;[z  /  L])
\mLeftarrow{}{}\mRightarrow{}  (x  =  z)  \mwedge{}  y  =  z  supposing  True  \mwedge{}  (x  R  hd(L))  \mwedge{}  rel-path-between(T;R;hd(L);y;L)  supposing  \mneg{}True
By
Latex:
(DVar  `L'  THEN  All  Reduce)
Home
Index