Step * of Lemma bag-count-map

[T1,T2:Type]. ∀[f:T1 ⟶ T2]. ∀[eq1:EqDecider(T1)]. ∀[eq2:EqDecider(T2)]. ∀[x:T2]. ∀[bs:bag(T1)]. ∀[g:T2 ⟶ T1].
  (#x in bag-map(f;bs)) (#g in bs) supposing (∀x:T2. ((f (g x)) x ∈ T2)) ∧ (∀x:T1. ((g (f x)) x ∈ T1))
BY
xxx(InstLemma `bag-count-ap-map` []
      THEN RepeatFor (ParallelLast')
      THEN Auto
      THEN (InstHyp [⌜x⌝;⌜bs⌝(-6)⋅ THENM (RevHypSubst (-1) THEN EqCD))
      THEN Auto
      THEN Try ((Symmetry THEN Complete (Auto))))xxx }

1
.....antecedent..... 
1. T1 Type
2. T2 Type
3. T1 ⟶ T2
4. eq1 EqDecider(T1)
5. eq2 EqDecider(T2)
6. ∀[x:T1]. ∀[bs:bag(T1)].  (#f in bag-map(f;bs)) (#x in bs) supposing Inj(T1;T2;f)
7. T2
8. bs bag(T1)
9. T2 ⟶ T1
10. ∀x:T2. ((f (g x)) x ∈ T2)
11. ∀x:T1. ((g (f x)) x ∈ T1)
⊢ Inj(T1;T2;f)


Latex:


Latex:
\mforall{}[T1,T2:Type].  \mforall{}[f:T1  {}\mrightarrow{}  T2].  \mforall{}[eq1:EqDecider(T1)].  \mforall{}[eq2:EqDecider(T2)].  \mforall{}[x:T2].  \mforall{}[bs:bag(T1)].
\mforall{}[g:T2  {}\mrightarrow{}  T1].
    (\#x  in  bag-map(f;bs))  \msim{}  (\#g  x  in  bs)  supposing  (\mforall{}x:T2.  ((f  (g  x))  =  x))  \mwedge{}  (\mforall{}x:T1.  ((g  (f  x))  =  x))


By


Latex:
xxx(InstLemma  `bag-count-ap-map`  []
        THEN  RepeatFor  5  (ParallelLast')
        THEN  Auto
        THEN  (InstHyp  [\mkleeneopen{}g  x\mkleeneclose{};\mkleeneopen{}bs\mkleeneclose{}]  (-6)\mcdot{}  THENM  (RevHypSubst  (-1)  0  THEN  EqCD))
        THEN  Auto
        THEN  Try  ((Symmetry  THEN  Complete  (Auto))))xxx




Home Index