Step * 2 2 2 1 of Lemma agree_on_common_iseg


1. [T] Type
2. T
3. List
4. ∀bs2,as1,bs1:T List.  (as1 ≤  bs1 ≤ bs2  agree_on_common(T;v;bs2)  agree_on_common(T;as1;bs1))
5. u1 T
6. v1 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 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];[])
BY
(((Auto THEN RecUnfold `agree_on_common` 0) THEN Reduce 0) THEN Auto) }


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{}  [u2  /  v2]  \mleq{}  [u  /  v]
{}\mRightarrow{}  []  \mleq{}  [u1  /  v1]
{}\mRightarrow{}  agree\_on\_common(T;[u  /  v];[u1  /  v1])
{}\mRightarrow{}  agree\_on\_common(T;[u2  /  v2];[])


By


Latex:
(((Auto  THEN  RecUnfold  `agree\_on\_common`  0)  THEN  Reduce  0)  THEN  Auto)




Home Index