Step * 2 of Lemma list_split_wf


1. Type
2. (T List) ⟶ 𝔹
3. : ℕ
4. List
5. ∀L1:T List
     (||L1|| < ||L||
      (list_split(f;L1) ∈ {p:T List List × (T List)| let LL,L2 in is_list_splitting(T;L1;LL;L2;f)} ))
6. ¬↑null(L)
⊢ list_split(f;L) ∈ {p:T List List × (T List)| let LL,L2 in is_list_splitting(T;L;LL;L2;f)} 
BY
Subst ⌜firstn(||L|| 1;L) [last(L)]⌝ 0⋅ }

1
.....equality..... 
1. Type
2. (T List) ⟶ 𝔹
3. : ℕ
4. List
5. ∀L1:T List
     (||L1|| < ||L||
      (list_split(f;L1) ∈ {p:T List List × (T List)| let LL,L2 in is_list_splitting(T;L1;LL;L2;f)} ))
6. ¬↑null(L)
⊢ firstn(||L|| 1;L) [last(L)]

2
1. Type
2. (T List) ⟶ 𝔹
3. : ℕ
4. List
5. ∀L1:T List
     (||L1|| < ||L||
      (list_split(f;L1) ∈ {p:T List List × (T List)| let LL,L2 in is_list_splitting(T;L1;LL;L2;f)} ))
6. ¬↑null(L)
⊢ list_split(f;firstn(||L|| 1;L) [last(L)]) ∈ {p:T List List × (T List)| 
                                                   let LL,L2 
                                                   in is_list_splitting(T;firstn(||L|| 1;L) [last(L)];LL;L2;f)} 


Latex:


Latex:

1.  T  :  Type
2.  f  :  (T  List)  {}\mrightarrow{}  \mBbbB{}
3.  n  :  \mBbbN{}
4.  L  :  T  List
5.  \mforall{}L1:T  List
          (||L1||  <  ||L||
          {}\mRightarrow{}  (list\_split(f;L1)  \mmember{}  \{p:T  List  List  \mtimes{}  (T  List)| 
                                                          let  LL,L2  =  p 
                                                          in  is\_list\_splitting(T;L1;LL;L2;f)\}  ))
6.  \mneg{}\muparrow{}null(L)
\mvdash{}  list\_split(f;L)  \mmember{}  \{p:T  List  List  \mtimes{}  (T  List)|  let  LL,L2  =  p  in  is\_list\_splitting(T;L;LL;L2;f)\} 


By


Latex:
Subst  \mkleeneopen{}L  \msim{}  firstn(||L||  -  1;L)  @  [last(L)]\mkleeneclose{}  0\mcdot{}




Home Index