Step
*
2
2
2
1
1
2
of Lemma
append_split
1. [T] : Type
2. u : T
3. v : T List
4. ∀[P:T ⟶ ℙ]
     ((∀x:ℕ||v||. Dec(P v[x]))
     
⇒ (∀i,j:ℕ||v||.  ((P v[i]) 
⇒ P v[j] supposing i < j))
     
⇒ (∃L1,L2:T List
          (((v = (L1 @ L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (¬(P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
          ∧ (∀x∈v.(P x) 
⇒ (x ∈ L2)))))
5. [P] : T ⟶ ℙ
6. ∀x:ℕ||v|| + 1. Dec(P [u / v][x])
7. ∀i,j:ℕ||v|| + 1.  ((P [u / v][i]) 
⇒ P [u / v][j] supposing i < j)
8. L1 : T List
9. L2 : T List
10. v = (L1 @ L2) ∈ (T List)
11. ∀i:ℕ||L1||. (¬(P L1[i]))
12. ∀i:ℕ||L2||. (P L2[i])
13. (∀x∈v.(P x) 
⇒ (x ∈ L2))
14. P u
15. [u / v] = [u / L2] ∈ (T List)
16. ∀i:ℕ0. (¬(P ⊥))
17. i : ℕ||L2|| + 1
⊢ P [u / L2][i]
BY
{ ((CaseNat 0 `i' THEN Reduce 0) THEN Auto) }
1
1. [T] : Type
2. u : T
3. v : T List
4. ∀[P:T ⟶ ℙ]
     ((∀x:ℕ||v||. Dec(P v[x]))
     
⇒ (∀i,j:ℕ||v||.  ((P v[i]) 
⇒ P v[j] supposing i < j))
     
⇒ (∃L1,L2:T List
          (((v = (L1 @ L2) ∈ (T List)) ∧ (∀i:ℕ||L1||. (¬(P L1[i]))) ∧ (∀i:ℕ||L2||. (P L2[i])))
          ∧ (∀x∈v.(P x) 
⇒ (x ∈ L2)))))
5. [P] : T ⟶ ℙ
6. ∀x:ℕ||v|| + 1. Dec(P [u / v][x])
7. ∀i,j:ℕ||v|| + 1.  ((P [u / v][i]) 
⇒ P [u / v][j] supposing i < j)
8. L1 : T List
9. L2 : T List
10. v = (L1 @ L2) ∈ (T List)
11. ∀i:ℕ||L1||. (¬(P L1[i]))
12. ∀i:ℕ||L2||. (P L2[i])
13. (∀x∈v.(P x) 
⇒ (x ∈ L2))
14. P u
15. [u / v] = [u / L2] ∈ (T List)
16. ∀i:ℕ0. (¬(P ⊥))
17. i : ℕ||L2|| + 1
18. ¬(i = 0 ∈ ℤ)
⊢ P [u / L2][i]
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[P:T  {}\mrightarrow{}  \mBbbP{}]
          ((\mforall{}x:\mBbbN{}||v||.  Dec(P  v[x]))
          {}\mRightarrow{}  (\mforall{}i,j:\mBbbN{}||v||.    ((P  v[i])  {}\mRightarrow{}  P  v[j]  supposing  i  <  j))
          {}\mRightarrow{}  (\mexists{}L1,L2:T  List
                    (((v  =  (L1  @  L2))  \mwedge{}  (\mforall{}i:\mBbbN{}||L1||.  (\mneg{}(P  L1[i])))  \mwedge{}  (\mforall{}i:\mBbbN{}||L2||.  (P  L2[i])))
                    \mwedge{}  (\mforall{}x\mmember{}v.(P  x)  {}\mRightarrow{}  (x  \mmember{}  L2)))))
5.  [P]  :  T  {}\mrightarrow{}  \mBbbP{}
6.  \mforall{}x:\mBbbN{}||v||  +  1.  Dec(P  [u  /  v][x])
7.  \mforall{}i,j:\mBbbN{}||v||  +  1.    ((P  [u  /  v][i])  {}\mRightarrow{}  P  [u  /  v][j]  supposing  i  <  j)
8.  L1  :  T  List
9.  L2  :  T  List
10.  v  =  (L1  @  L2)
11.  \mforall{}i:\mBbbN{}||L1||.  (\mneg{}(P  L1[i]))
12.  \mforall{}i:\mBbbN{}||L2||.  (P  L2[i])
13.  (\mforall{}x\mmember{}v.(P  x)  {}\mRightarrow{}  (x  \mmember{}  L2))
14.  P  u
15.  [u  /  v]  =  [u  /  L2]
16.  \mforall{}i:\mBbbN{}0.  (\mneg{}(P  \mbot{}))
17.  i  :  \mBbbN{}||L2||  +  1
\mvdash{}  P  [u  /  L2][i]
By
Latex:
((CaseNat  0  `i'  THEN  Reduce  0)  THEN  Auto)
Home
Index