Step * 2 of Lemma split-at-first-rel


1. [T] Type
2. [R] T ⟶ T ⟶ ℙ
3. ∀x,y:T.  Dec(R[x;y])
4. T
5. List
6. ∃XY:T List × (T List) [let X,Y XY 
                          in (v (X Y) ∈ (T List))
                             ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                             ∧ ((¬↑null(v))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]
⊢ ∃XY:T List × (T List) [let X,Y XY 
                         in ([u v] (X Y) ∈ (T List))
                            ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                            ∧ ((¬↑null([u v]))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]
BY
TACTIC:(ExRepD THEN DVar `v') }

1
1. [T] Type
2. [R] T ⟶ T ⟶ ℙ
3. ∀x,y:T.  Dec(R[x;y])
4. T
5. ∃XY:T List × (T List) [let X,Y XY 
                          in ([] (X Y) ∈ (T List))
                             ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                             ∧ ((¬↑null([]))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]
⊢ ∃XY:T List × (T List) [let X,Y XY 
                         in ([u] (X Y) ∈ (T List))
                            ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                            ∧ ((¬↑null([u]))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]

2
1. [T] Type
2. [R] T ⟶ T ⟶ ℙ
3. ∀x,y:T.  Dec(R[x;y])
4. T
5. u1 T
6. List
7. ∃XY:T List × (T List) [let X,Y XY 
                          in ([u1 v] (X Y) ∈ (T List))
                             ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                             ∧ ((¬↑null([u1 v]))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]
⊢ ∃XY:T List × (T List) [let X,Y XY 
                         in ([u; [u1 v]] (X Y) ∈ (T List))
                            ∧ (∀i:ℕ||X|| 1. R[X[i];X[i 1]])
                            ∧ ((¬↑null([u; [u1 v]]))  ((¬↑null(X)) ∧ ¬R[last(X);hd(Y)] supposing ||Y|| ≥ ))]


Latex:


Latex:

1.  [T]  :  Type
2.  [R]  :  T  {}\mrightarrow{}  T  {}\mrightarrow{}  \mBbbP{}
3.  \mforall{}x,y:T.    Dec(R[x;y])
4.  u  :  T
5.  v  :  T  List
6.  \mexists{}XY:T  List  \mtimes{}  (T  List)  [let  X,Y  =  XY 
                                                    in  (v  =  (X  @  Y))
                                                          \mwedge{}  (\mforall{}i:\mBbbN{}||X||  -  1.  R[X[i];X[i  +  1]])
                                                          \mwedge{}  ((\mneg{}\muparrow{}null(v))
                                                              {}\mRightarrow{}  ((\mneg{}\muparrow{}null(X))  \mwedge{}  \mneg{}R[last(X);hd(Y)]  supposing  ||Y||  \mgeq{}  1  ))]
\mvdash{}  \mexists{}XY:T  List  \mtimes{}  (T  List)  [let  X,Y  =  XY 
                                                  in  ([u  /  v]  =  (X  @  Y))
                                                        \mwedge{}  (\mforall{}i:\mBbbN{}||X||  -  1.  R[X[i];X[i  +  1]])
                                                        \mwedge{}  ((\mneg{}\muparrow{}null([u  /  v]))
                                                            {}\mRightarrow{}  ((\mneg{}\muparrow{}null(X))  \mwedge{}  \mneg{}R[last(X);hd(Y)]  supposing  ||Y||  \mgeq{}  1  ))]


By


Latex:
TACTIC:(ExRepD  THEN  DVar  `v')




Home Index