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