Step * 1 1 1 1 2 of Lemma first_index_equal


1. Type
2. T
3. List
4. ∀[L2:T List]. ∀[P,Q:T ⟶ 𝔹].
     index-of-first in v.P[a] ∧b Q[a] index-of-first in L2.P[a] ∧b Q[a] ∈ ℤ supposing agree_on(T;a.↑P[a]) L2
5. u1 T
6. v1 List
7. ∀[P,Q:T ⟶ 𝔹].
     index-of-first in [u v].P[a] ∧b Q[a] index-of-first in v1.P[a] ∧b Q[a] ∈ ℤ 
     supposing [u v] agree_on(T;a.↑P[a]) v1
8. T ⟶ 𝔹
9. T ⟶ 𝔹
10. (||v|| 1) (||v1|| 1) ∈ ℤ
11. ∀i:ℕ||v|| 1. (((↑P[[u v][i]]) ∨ (↑P[[u1 v1][i]]))  ([u v][i] [u1 v1][i] ∈ T))
12. ||v|| ||v1|| ∈ ℤ
13. : ℕ||v||
14. (↑P[v[i]]) ∨ (↑P[v1[i]])
15. [u v][i 1] [u1 v1][i 1] ∈ T
⊢ v[i] v1[i] ∈ T
BY
TACTIC:(((RWO "select_cons_tl" (-1) THEN Auto) THEN Subst' ((i 1) 1) i ∈ ℤ (-1)) THEN Auto) }


Latex:


Latex:

1.  T  :  Type
2.  u  :  T
3.  v  :  T  List
4.  \mforall{}[L2:T  List].  \mforall{}[P,Q:T  {}\mrightarrow{}  \mBbbB{}].
          index-of-first  a  in  v.P[a]  \mwedge{}\msubb{}  Q[a]  =  index-of-first  a  in  L2.P[a]  \mwedge{}\msubb{}  Q[a] 
          supposing  v  agree\_on(T;a.\muparrow{}P[a])  L2
5.  u1  :  T
6.  v1  :  T  List
7.  \mforall{}[P,Q:T  {}\mrightarrow{}  \mBbbB{}].
          index-of-first  a  in  [u  /  v].P[a]  \mwedge{}\msubb{}  Q[a]  =  index-of-first  a  in  v1.P[a]  \mwedge{}\msubb{}  Q[a] 
          supposing  [u  /  v]  agree\_on(T;a.\muparrow{}P[a])  v1
8.  P  :  T  {}\mrightarrow{}  \mBbbB{}
9.  Q  :  T  {}\mrightarrow{}  \mBbbB{}
10.  (||v||  +  1)  =  (||v1||  +  1)
11.  \mforall{}i:\mBbbN{}||v||  +  1.  (((\muparrow{}P[[u  /  v][i]])  \mvee{}  (\muparrow{}P[[u1  /  v1][i]]))  {}\mRightarrow{}  ([u  /  v][i]  =  [u1  /  v1][i]))
12.  ||v||  =  ||v1||
13.  i  :  \mBbbN{}||v||
14.  (\muparrow{}P[v[i]])  \mvee{}  (\muparrow{}P[v1[i]])
15.  [u  /  v][i  +  1]  =  [u1  /  v1][i  +  1]
\mvdash{}  v[i]  =  v1[i]


By


Latex:
TACTIC:(((RWO  "select\_cons\_tl"  (-1)  THEN  Auto)  THEN  Subst'  ((i  +  1)  -  1)  =  i  (-1))  THEN  Auto)




Home Index