Step
*
2
1
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. 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))}
BY
{ (Assert ⌜False⌝⋅ THEN Auto THEN (D (-1))) }
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 ∈ ℤ
⊢ False
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. cs : T List
6. ds : T List
7. [u / (v @ cs)] = ds ∈ (T List)
8. ||cs|| = ||ds|| ∈ ℤ
⊢ False
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.  cs  :  T  List
6.  ds  :  T  List
7.  [u  /  (v  @  cs)]  =  ds
8.  ((||v||  +  1)  =  0)  \mvee{}  (||cs||  =  ||ds||)
\mvdash{}  \{([u  /  v]  =  [])  \mwedge{}  (cs  =  ds)\}
By
Latex:
(Assert  \mkleeneopen{}False\mkleeneclose{}\mcdot{}  THEN  Auto  THEN  (D  (-1)))
Home
Index