Step
*
1
of Lemma
agree_on_common_symmetry
1. [T] : Type
2. u : T
3. v : T List
4. ∀bs:T List. (agree_on_common(T;v;bs) 
⇒ agree_on_common(T;bs;v))
5. u1 : T
6. v1 : T List
7. agree_on_common(T;[u / v];v1) 
⇒ agree_on_common(T;v1;[u / v])
⊢ (((¬(u ∈ [u1 / v1])) ∧ agree_on_common(T;v;[u1 / v1]))
∨ ((¬(u1 ∈ [u / v])) ∧ agree_on_common(T;[u / v];v1))
∨ ((u = u1 ∈ T) ∧ agree_on_common(T;v;v1)))
⇒ (((¬(u1 ∈ [u / v])) ∧ agree_on_common(T;v1;[u / v]))
   ∨ ((¬(u ∈ [u1 / v1])) ∧ agree_on_common(T;[u1 / v1];v))
   ∨ ((u1 = u ∈ T) ∧ agree_on_common(T;v1;v)))
BY
{ ((D 0 THEN Try (Complete (Auto)))
   THEN SplitOrHyps
   THEN ExRepD
   THEN Try (((FwdThruHyp 4 [(-1)]) THENA Auto))
   THEN ThinTrivial
   THEN Auto) }
Latex:
Latex:
1.  [T]  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}bs:T  List.  (agree\_on\_common(T;v;bs)  {}\mRightarrow{}  agree\_on\_common(T;bs;v))
5.  u1  :  T
6.  v1  :  T  List
7.  agree\_on\_common(T;[u  /  v];v1)  {}\mRightarrow{}  agree\_on\_common(T;v1;[u  /  v])
\mvdash{}  (((\mneg{}(u  \mmember{}  [u1  /  v1]))  \mwedge{}  agree\_on\_common(T;v;[u1  /  v1]))
\mvee{}  ((\mneg{}(u1  \mmember{}  [u  /  v]))  \mwedge{}  agree\_on\_common(T;[u  /  v];v1))
\mvee{}  ((u  =  u1)  \mwedge{}  agree\_on\_common(T;v;v1)))
{}\mRightarrow{}  (((\mneg{}(u1  \mmember{}  [u  /  v]))  \mwedge{}  agree\_on\_common(T;v1;[u  /  v]))
      \mvee{}  ((\mneg{}(u  \mmember{}  [u1  /  v1]))  \mwedge{}  agree\_on\_common(T;[u1  /  v1];v))
      \mvee{}  ((u1  =  u)  \mwedge{}  agree\_on\_common(T;v1;v)))
By
Latex:
((D  0  THEN  Try  (Complete  (Auto)))
  THEN  SplitOrHyps
  THEN  ExRepD
  THEN  Try  (((FwdThruHyp  4  [(-1)])  THENA  Auto))
  THEN  ThinTrivial
  THEN  Auto)
Home
Index