Step * 2 1 of Lemma agree_on_common_append


1. [T] Type
2. T
3. List
4. ∀bs,cs,ds:T List.
     (agree_on_common(T;v;cs)  agree_on_common(T;bs;ds)  agree_on_common(T;v bs;cs ds)) supposing 
        ((∀x∈v.¬(x ∈ ds)) and 
        (∀x∈cs.¬(x ∈ bs)))
5. bs List
⊢ ∀ds:T List
    (agree_on_common(T;[u v];[])  agree_on_common(T;bs;ds)  agree_on_common(T;[u (v bs)];[] ds)) supposing 
       ((∀x∈[u v].¬(x ∈ ds)) and 
       (∀x∈[].¬(x ∈ bs)))
BY
((((Reduce THEN Auto) THEN AllHyps (RWO "l_all_cons")) THENA Auto) THEN Assert agree_on_common(T;v bs;[] ds)) }

1
.....assertion..... 
1. [T] Type
2. T
3. List
4. ∀bs,cs,ds:T List.
     (agree_on_common(T;v;cs)  agree_on_common(T;bs;ds)  agree_on_common(T;v bs;cs ds)) supposing 
        ((∀x∈v.¬(x ∈ ds)) and 
        (∀x∈cs.¬(x ∈ bs)))
5. bs List
6. ds List
7. (∀x∈[].¬(x ∈ bs))
8. (u ∈ ds)) ∧ (∀x∈v.¬(x ∈ ds))
9. agree_on_common(T;[u v];[])
10. agree_on_common(T;bs;ds)
⊢ agree_on_common(T;v bs;[] ds)

2
1. [T] Type
2. T
3. List
4. ∀bs,cs,ds:T List.
     (agree_on_common(T;v;cs)  agree_on_common(T;bs;ds)  agree_on_common(T;v bs;cs ds)) supposing 
        ((∀x∈v.¬(x ∈ ds)) and 
        (∀x∈cs.¬(x ∈ bs)))
5. bs List
6. ds List
7. (∀x∈[].¬(x ∈ bs))
8. (u ∈ ds)) ∧ (∀x∈v.¬(x ∈ ds))
9. agree_on_common(T;[u v];[])
10. agree_on_common(T;bs;ds)
11. agree_on_common(T;v bs;[] ds)
⊢ agree_on_common(T;[u (v bs)];ds)


Latex:


Latex:

1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}bs,cs,ds:T  List.
          (agree\_on\_common(T;v;cs)
                {}\mRightarrow{}  agree\_on\_common(T;bs;ds)
                {}\mRightarrow{}  agree\_on\_common(T;v  @  bs;cs  @  ds))  supposing 
                ((\mforall{}x\mmember{}v.\mneg{}(x  \mmember{}  ds))  and 
                (\mforall{}x\mmember{}cs.\mneg{}(x  \mmember{}  bs)))
5.  bs  :  T  List
\mvdash{}  \mforall{}ds:T  List
        (agree\_on\_common(T;[u  /  v];[])
              {}\mRightarrow{}  agree\_on\_common(T;bs;ds)
              {}\mRightarrow{}  agree\_on\_common(T;[u  /  (v  @  bs)];[]  @  ds))  supposing 
              ((\mforall{}x\mmember{}[u  /  v].\mneg{}(x  \mmember{}  ds))  and 
              (\mforall{}x\mmember{}[].\mneg{}(x  \mmember{}  bs)))


By


Latex:
((((Reduce  0  THEN  Auto)  THEN  AllHyps  (RWO  "l\_all\_cons"))  THENA  Auto)
  THEN  Assert  agree\_on\_common(T;v  @  bs;[]  @  ds)
  )




Home Index