Step
*
2
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 ∈ 𝔹)
⊢ Dec(↓∃j:ℕ||bs||. ((¬↑j ∈b used) ∧ R[u;bs[j]] ∧ list-match-aux(v;bs;[j / used];a,b.R[a;b])))
BY
{ (Assert Dec(∃j:ℕ||bs||. ((¬↑j ∈b used) ∧ R[u;bs[j]] ∧ (↓list-match-aux(v;bs;[j / used];a,b.R[a;b])))) BY
         (ProveDecidable1 THEN Try (Complete (Auto)) THEN MemTypeCD THEN 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 ∈ 𝔹)
11. Dec(∃j:ℕ||bs||. ((¬↑j ∈b used) ∧ R[u;bs[j]] ∧ (↓list-match-aux(v;bs;[j / used];a,b.R[a;b]))))
⊢ 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
10.  \mforall{}j:\mBbbZ{}.  (j  \mmember{}\msubb{}  used  \mmember{}  \mBbbB{})
\mvdash{}  Dec(\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:
(Assert  Dec(\mexists{}j:\mBbbN{}||bs||
                          ((\mneg{}\muparrow{}j  \mmember{}\msubb{}  used)  \mwedge{}  R[u;bs[j]]  \mwedge{}  (\mdownarrow{}list-match-aux(v;bs;[j  /  used];a,b.R[a;b]))))  BY
              (ProveDecidable1  THEN  Try  (Complete  (Auto))  THEN  MemTypeCD  THEN  Auto))
Home
Index