Step
*
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))
⊢ ∀as1,bs1:T List.
    (as1 ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;as1;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))
⊢ ∀bs1:T List. ([] ≤ [u / v] 
⇒ bs1 ≤ [u1 / v1] 
⇒ agree_on_common(T;[u / v];[u1 / v1]) 
⇒ agree_on_common(T;[];bs1))
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))
⊢ ∀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))
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))
\mvdash{}  \mforall{}as1,bs1:T  List.
        (as1  \mleq{}  [u  /  v]
        {}\mRightarrow{}  bs1  \mleq{}  [u1  /  v1]
        {}\mRightarrow{}  agree\_on\_common(T;[u  /  v];[u1  /  v1])
        {}\mRightarrow{}  agree\_on\_common(T;as1;bs1))
By
Latex:
InductionOnList
Home
Index