Step * of Lemma list_match-aux-cons

[A,B:Type]. ∀[R:A ⟶ B ⟶ ℙ].
  ((∀a:A. ∀b:B.  SqStable(R[a;b]))
   (∀bs:B List. ∀u:A. ∀v:A List. ∀used:ℤ List.
        (list-match-aux([u v];bs;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
(Intros THEN (Assert ∀j:ℤ(j ∈b used ∈ 𝔹BY Auto)) }

1
1. [A] Type
2. [B] Type
3. [R] A ⟶ B ⟶ ℙ
4. ∀a:A. ∀b:B.  SqStable(R[a;b])
5. bs List
6. A
7. List
8. used : ℤ List
9. ∀j:ℤ(j ∈b used ∈ 𝔹)
⊢ list-match-aux([u v];bs;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]))


Latex:


Latex:
\mforall{}[A,B:Type].  \mforall{}[R:A  {}\mrightarrow{}  B  {}\mrightarrow{}  \mBbbP{}].
    ((\mforall{}a:A.  \mforall{}b:B.    SqStable(R[a;b]))
    {}\mRightarrow{}  (\mforall{}bs:B  List.  \mforall{}u:A.  \mforall{}v:A  List.  \mforall{}used:\mBbbZ{}  List.
                (list-match-aux([u  /  v];bs;used;a,b.R[a;b])
                \mLeftarrow{}{}\mRightarrow{}  \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:
(Intros  THEN  (Assert  \mforall{}j:\mBbbZ{}.  (j  \mmember{}\msubb{}  used  \mmember{}  \mBbbB{})  BY  Auto))




Home Index