Step
*
2
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
⊢ Dec(↓list-match-aux([u / v];bs;used;a,b.R[a;b]))
BY
{ ((Assert ∀j:ℤ. (j ∈b used ∈ 𝔹) BY Auto) THEN RWO "list_match-aux-cons" 0 THEN Try (Complete (Auto))) }
1
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 ∈ 𝔹)
⊢ Dec(↓∃j:ℕ||bs||. ((¬↑j ∈b used) ∧ R[u;bs[j]] ∧ list-match-aux(v;bs;[j / used];a,b.R[a;b])))
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
\mvdash{}  Dec(\mdownarrow{}list-match-aux([u  /  v];bs;used;a,b.R[a;b]))
By
Latex:
((Assert  \mforall{}j:\mBbbZ{}.  (j  \mmember{}\msubb{}  used  \mmember{}  \mBbbB{})  BY  Auto)  THEN  RWO  "list\_match-aux-cons"  0  THEN  Try  (Complete  (Auto)))
Home
Index