Step
*
2
1
1
1
1
of Lemma
decidable__squash-list-match-aux
1. A : Type
2. B : Type
3. R : A ⟶ B ⟶ ℙ
4. ∀a:A. ∀b:B.  Dec(R[a;b])
5. bs : B List
6. u : A
7. v : A List
8. ∀used:ℤ List. Dec(↓list-match-aux(v;bs;used;a,b.R[a;b]))
9. used : ℤ List
10. ∀j:ℤ. (j ∈b used ∈ 𝔹)
11. j : ℕ||bs||
12. ¬↑j ∈b used
13. R[u;bs[j]]
14. list-match-aux(v;bs;[j / used];a,b.R[a;b])
⊢ ↓∃j:ℕ||bs||. ((¬↑j ∈b used) ∧ R[u;bs[j]] ∧ list-match-aux(v;bs;[j / used];a,b.R[a;b]))
BY
{ (D 0 THEN Auto) }
Latex:
Latex:
1.  A  :  Type
2.  B  :  Type
3.  R  :  A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}
4.  \mforall{}a:A.  \mforall{}b:B.    Dec(R[a;b])
5.  bs  :  B  List
6.  u  :  A
7.  v  :  A  List
8.  \mforall{}used:\mBbbZ{}  List.  Dec(\mdownarrow{}list-match-aux(v;bs;used;a,b.R[a;b]))
9.  used  :  \mBbbZ{}  List
10.  \mforall{}j:\mBbbZ{}.  (j  \mmember{}\msubb{}  used  \mmember{}  \mBbbB{})
11.  j  :  \mBbbN{}||bs||
12.  \mneg{}\muparrow{}j  \mmember{}\msubb{}  used
13.  R[u;bs[j]]
14.  list-match-aux(v;bs;[j  /  used];a,b.R[a;b])
\mvdash{}  \mdownarrow{}\mexists{}j:\mBbbN{}||bs||.  ((\mneg{}\muparrow{}j  \mmember{}\msubb{}  used)  \mwedge{}  R[u;bs[j]]  \mwedge{}  list-match-aux(v;bs;[j  /  used];a,b.R[a;b]))
By
Latex:
(D  0  THEN  Auto)
Home
Index