Step * 2 of Lemma pairs-fpf_property


1. [A] Type
2. [B] Type
3. eq1 EqDecider(A)@i
4. eq2 EqDecider(B)@i
5. (A × B) List@i
6. no_repeats(A;fpf-domain(fpf(L)))
⊢ ∀a:A. ((a ∈ fpf-domain(fpf(L))) ⇐⇒ ∃b:B. (<a, b> ∈ L))
BY
((Unfolds ``fpf-domain pairs-fpf`` 0
    THEN Reduce 0
    THEN (InstLemma `remove-repeats_property` [⌈A⌉; ⌈eq1⌉; ⌈map(λp.(fst(p));L)⌉])⋅)
   THENA Auto
   }

1
1. [A] Type
2. [B] Type
3. eq1 EqDecider(A)@i
4. eq2 EqDecider(B)@i
5. (A × B) List@i
6. no_repeats(A;fpf-domain(fpf(L)))
7. no_repeats(A;remove-repeats(eq1;map(λp.(fst(p));L)))
∧ (∀a:A. ((a ∈ remove-repeats(eq1;map(λp.(fst(p));L))) ⇐⇒ (a ∈ map(λp.(fst(p));L))))
⊢ ∀a:A. ((a ∈ remove-repeats(eq1;map(λp.(fst(p));L))) ⇐⇒ ∃b:B. (<a, b> ∈ L))


Latex:



1.  [A]  :  Type
2.  [B]  :  Type
3.  eq1  :  EqDecider(A)@i
4.  eq2  :  EqDecider(B)@i
5.  L  :  (A  \mtimes{}  B)  List@i
6.  no\_repeats(A;fpf-domain(fpf(L)))
\mvdash{}  \mforall{}a:A.  ((a  \mmember{}  fpf-domain(fpf(L)))  \mLeftarrow{}{}\mRightarrow{}  \mexists{}b:B.  (<a,  b>  \mmember{}  L))


By

((Unfolds  ``fpf-domain  pairs-fpf``  0
    THEN  Reduce  0
    THEN  (InstLemma  `remove-repeats\_property`  [\mkleeneopen{}A\mkleeneclose{};  \mkleeneopen{}eq1\mkleeneclose{};  \mkleeneopen{}map(\mlambda{}p.(fst(p));L)\mkleeneclose{}])\mcdot{})
  THENA  Auto
  )




Home Index