Step
*
2
2
2
of Lemma
agree_on_common_iseg
1. [T] : Type
2. u : T
3. v : T List
4. ∀bs2,as1,bs1:T List.  (as1 ≤ v 
⇒ bs1 ≤ bs2 
⇒ agree_on_common(T;v;bs2) 
⇒ agree_on_common(T;as1;bs1))
5. u1 : T
6. v1 : T List
7. ∀as1,bs1:T List.  (as1 ≤ [u / v] 
⇒ bs1 ≤ v1 
⇒ agree_on_common(T;[u / v];v1) 
⇒ agree_on_common(T;as1;bs1))
8. u2 : T
9. v2 : T List
10. ∀bs1:T List. (v2 ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;v2;bs1))
⊢ ∀bs1:T List
    ([u2 / v2] ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;[u2 / v2];bs1))
BY
{ InductionOnList }
1
1. [T] : Type
2. u : T
3. v : T List
4. ∀bs2,as1,bs1:T List.  (as1 ≤ v 
⇒ bs1 ≤ bs2 
⇒ agree_on_common(T;v;bs2) 
⇒ agree_on_common(T;as1;bs1))
5. u1 : T
6. v1 : T List
7. ∀as1,bs1:T List.  (as1 ≤ [u / v] 
⇒ bs1 ≤ v1 
⇒ agree_on_common(T;[u / v];v1) 
⇒ agree_on_common(T;as1;bs1))
8. u2 : T
9. v2 : T List
10. ∀bs1:T List. (v2 ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;v2;bs1))
⊢ [u2 / v2] ≤ [u / v] 
⇒ [] ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;[u2 / v2];[])
2
1. [T] : Type
2. u : T
3. v : T List
4. ∀bs2,as1,bs1:T List.  (as1 ≤ v 
⇒ bs1 ≤ bs2 
⇒ agree_on_common(T;v;bs2) 
⇒ agree_on_common(T;as1;bs1))
5. u1 : T
6. v1 : T List
7. ∀as1,bs1:T List.  (as1 ≤ [u / v] 
⇒ bs1 ≤ v1 
⇒ agree_on_common(T;[u / v];v1) 
⇒ agree_on_common(T;as1;bs1))
8. u2 : T
9. v2 : T List
10. ∀bs1:T List. (v2 ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;v2;bs1))
11. u3 : T
12. v3 : T List
13. [u2 / v2] ≤ [u / v] 
⇒ v3 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;[u2 / v2];v3)
⊢ [u2 / v2] ≤ [u / v]
⇒ [u3 / v3] ≤ [u1 / v1]
⇒ agree_on_common(T;[u / v];[u1 / v1])
⇒ agree_on_common(T;[u2 / v2];[u3 / v3])
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}bs2,as1,bs1:T  List.
          (as1  \mleq{}  v  {}\mRightarrow{}  bs1  \mleq{}  bs2  {}\mRightarrow{}  agree\_on\_common(T;v;bs2)  {}\mRightarrow{}  agree\_on\_common(T;as1;bs1))
5.  u1  :  T
6.  v1  :  T  List
7.  \mforall{}as1,bs1:T  List.
          (as1  \mleq{}  [u  /  v]  {}\mRightarrow{}  bs1  \mleq{}  v1  {}\mRightarrow{}  agree\_on\_common(T;[u  /  v];v1)  {}\mRightarrow{}  agree\_on\_common(T;as1;bs1))
8.  u2  :  T
9.  v2  :  T  List
10.  \mforall{}bs1:T  List
            (v2  \mleq{}  [u  /  v]
            {}\mRightarrow{}  bs1  \mleq{}  [u1  /  v1]
            {}\mRightarrow{}  agree\_on\_common(T;[u  /  v];[u1  /  v1])
            {}\mRightarrow{}  agree\_on\_common(T;v2;bs1))
\mvdash{}  \mforall{}bs1:T  List
        ([u2  /  v2]  \mleq{}  [u  /  v]
        {}\mRightarrow{}  bs1  \mleq{}  [u1  /  v1]
        {}\mRightarrow{}  agree\_on\_common(T;[u  /  v];[u1  /  v1])
        {}\mRightarrow{}  agree\_on\_common(T;[u2  /  v2];bs1))
By
Latex:
InductionOnList
Home
Index