Step
*
2
of Lemma
general-append-cancellation
1. T : Type
2. u : T
3. v : T List
4. ∀[bs,cs,ds:T List].
     ({(v = bs ∈ (T List)) ∧ (cs = ds ∈ (T List))}) supposing 
        (((||v|| = ||bs|| ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)) and 
        ((v @ cs) = (bs @ ds) ∈ (T List)))
5. bs : T List
6. cs : T List
7. ds : T List
8. [u / (v @ cs)] = (bs @ ds) ∈ (T List)
9. ((||v|| + 1) = ||bs|| ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)
⊢ {([u / v] = bs ∈ (T List)) ∧ (cs = ds ∈ (T List))}
BY
{ (DVar `bs' THEN All Reduce) }
1
1. T : Type
2. u : T
3. v : T List
4. ∀[bs,cs,ds:T List].
     ({(v = bs ∈ (T List)) ∧ (cs = ds ∈ (T List))}) supposing 
        (((||v|| = ||bs|| ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)) and 
        ((v @ cs) = (bs @ ds) ∈ (T List)))
5. cs : T List
6. ds : T List
7. [u / (v @ cs)] = ds ∈ (T List)
8. ((||v|| + 1) = 0 ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)
⊢ {([u / v] = [] ∈ (T List)) ∧ (cs = ds ∈ (T List))}
2
1. T : Type
2. u : T
3. v : T List
4. ∀[bs,cs,ds:T List].
     ({(v = bs ∈ (T List)) ∧ (cs = ds ∈ (T List))}) supposing 
        (((||v|| = ||bs|| ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)) and 
        ((v @ cs) = (bs @ ds) ∈ (T List)))
5. u1 : T
6. v1 : T List
7. cs : T List
8. ds : T List
9. [u / (v @ cs)] = [u1 / (v1 @ ds)] ∈ (T List)
10. ((||v|| + 1) = (||v1|| + 1) ∈ ℤ) ∨ (||cs|| = ||ds|| ∈ ℤ)
⊢ {([u / v] = [u1 / v1] ∈ (T List)) ∧ (cs = ds ∈ (T List))}
Latex:
Latex:
1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[bs,cs,ds:T  List].
          (\{(v  =  bs)  \mwedge{}  (cs  =  ds)\})  supposing 
                (((||v||  =  ||bs||)  \mvee{}  (||cs||  =  ||ds||))  and 
                ((v  @  cs)  =  (bs  @  ds)))
5.  bs  :  T  List
6.  cs  :  T  List
7.  ds  :  T  List
8.  [u  /  (v  @  cs)]  =  (bs  @  ds)
9.  ((||v||  +  1)  =  ||bs||)  \mvee{}  (||cs||  =  ||ds||)
\mvdash{}  \{([u  /  v]  =  bs)  \mwedge{}  (cs  =  ds)\}
By
Latex:
(DVar  `bs'  THEN  All  Reduce)
Home
Index