Step * 3 2 1 1 2 of Lemma pairs-fpf_property


1. [A] Type
2. [B] Type
3. eq1 EqDecider(A)@i
4. eq2 EqDecider(B)@i
5. A@i
6. A × B@i
7. (A × B) List@i
8. ∀b:B. ((b ∈ reduce(λp,l. if eqof(eq1) (fst(p)) then insert(snd(p);l) else fi ;[];v)) ⇐⇒ (<a, b> ∈ v))@i
⊢ ∀b:B
    ((b ∈ if eqof(eq1) (fst(u)) a
      then insert(snd(u);reduce(λp,l. if eqof(eq1) (fst(p)) then insert(snd(p);l) else fi ;[];v))
      else reduce(λp,l. if eqof(eq1) (fst(p)) then insert(snd(p);l) else fi ;[];v)
      fi )
    ⇐⇒ (<a, b> ∈ [u v]))
BY
(All (Unfold `eqof`)
   THEN ((((((ParallelLast THEN RWO "cons_member" 0) THENA Auto) THEN (RW (SweepDnC (RevHypC (-1))) 0)) THENA Auto)
          THEN (Thin (-1))
          THEN SplitOnConclITE)
         THENA Auto
         )
   THEN Try ((RWO "member-insert" THENA Auto))
   THEN Auto
   THEN Try (ParallelLast)
   THEN Try ((OrRight THEN Auto))
   THEN SplitOrHyps
   THEN Auto) }

1
1. Type
2. Type
3. eq1 EqDecider(A)@i
4. eq2 EqDecider(B)@i
5. A@i
6. A × B@i
7. (A × B) List@i
8. B@i
9. (fst(u)) a ∈ A
10. (snd(u)) ∈ B@i
⊢ <a, b> u ∈ (A × B)


Latex:



1.  [A]  :  Type
2.  [B]  :  Type
3.  eq1  :  EqDecider(A)@i
4.  eq2  :  EqDecider(B)@i
5.  a  :  A@i
6.  u  :  A  \mtimes{}  B@i
7.  v  :  (A  \mtimes{}  B)  List@i
8.  \mforall{}b:B
          ((b  \mmember{}  reduce(\mlambda{}p,l.  if  eqof(eq1)  (fst(p))  a  then  insert(snd(p);l)  else  l  fi  ;[];v))
          \mLeftarrow{}{}\mRightarrow{}  (<a,  b>  \mmember{}  v))@i
\mvdash{}  \mforall{}b:B
        ((b  \mmember{}  if  eqof(eq1)  (fst(u))  a
            then  insert(snd(u);reduce(\mlambda{}p,l.  if  eqof(eq1)  (fst(p))  a  then  insert(snd(p);l)  else  l  fi  ;[];v)\000C)
            else  reduce(\mlambda{}p,l.  if  eqof(eq1)  (fst(p))  a  then  insert(snd(p);l)  else  l  fi  ;[];v)
            fi  )
        \mLeftarrow{}{}\mRightarrow{}  (<a,  b>  \mmember{}  [u  /  v]))


By

(All  (Unfold  `eqof`)
  THEN  ((((((ParallelLast  THEN  RWO  "cons\_member"  0)  THENA  Auto)
                    THEN  (RW  (SweepDnC  (RevHypC  (-1)))  0)
                    )
                  THENA  Auto
                  )
                THEN  (Thin  (-1))
                THEN  SplitOnConclITE)
              THENA  Auto
              )
  THEN  Try  ((RWO  "member-insert"  0  THENA  Auto))
  THEN  Auto
  THEN  Try  (ParallelLast)
  THEN  Try  ((OrRight  THEN  Auto))
  THEN  SplitOrHyps
  THEN  Auto)




Home Index