Nuprl Lemma : mset_for_when_unique

s:DSet. ∀g:IAbMonoid. ∀f:|s| ⟶ |g|. ∀b:|s| ⟶ 𝔹. ∀u:|s|.
  ((↑b[u])
   (∀as:MSet{s}
        ((∀x:|s|. ((x #∈ as) ≤ 1))
         (↑(u
           ∈b as))
         (∀v:|s|. ((↑b[v])  (↑(v ∈b as))  (v u ∈ |s|)))
         ((msFor{g} x ∈ as. when b[x]. f[x]) f[u] ∈ |g|))))


Proof




Definitions occuring in Statement :  mset_for: mset_for mset_mem: mset_mem mset_count: #∈ a mset: MSet{s} assert: b bool: 𝔹 so_apply: x[s] le: A ≤ B all: x:A. B[x] implies:  Q function: x:A ⟶ B[x] natural_number: $n equal: t ∈ T mon_when: when b. p iabmonoid: IAbMonoid grp_car: |g| dset: DSet set_car: |p|
Definitions unfolded in proof :  all: x:A. B[x] implies:  Q uall: [x:A]. B[x] member: t ∈ T dset: DSet so_lambda: λ2x.t[x] subtype_rel: A ⊆B nat: so_apply: x[s] prop: iabmonoid: IAbMonoid imon: IMonoid sq_stable: SqStable(P) mset: MSet{s} quotient: x,y:A//B[x; y] and: P ∧ Q squash: T mset_for: mset_for mset_mem: mset_mem mset_count: #∈ a iff: ⇐⇒ Q rev_implies:  Q
Lemmas referenced :  sq_stable__all all_wf set_car_wf le_wf mset_count_wf nat_wf assert_wf mset_mem_wf equal_wf grp_car_wf mset_for_wf mon_when_wf sq_stable__equal mset_wf bool_wf iabmonoid_wf dset_wf squash_wf equal-wf-base list_wf permr_wf mem_wf count_wf mon_for_when_unique distinct_iff_counts_le_one
Rules used in proof :  sqequalSubstitution sqequalTransitivity computationStep sqequalReflexivity lambdaFormation cut introduction extract_by_obid sqequalHypSubstitution isectElimination thin setElimination rename hypothesisEquality hypothesis sqequalRule lambdaEquality dependent_functionElimination applyEquality natural_numberEquality because_Cache functionEquality functionExtensionality independent_functionElimination pointwiseFunctionalityForEquality pertypeElimination productElimination imageMemberEquality baseClosed productEquality equalityTransitivity equalitySymmetry

Latex:
\mforall{}s:DSet.  \mforall{}g:IAbMonoid.  \mforall{}f:|s|  {}\mrightarrow{}  |g|.  \mforall{}b:|s|  {}\mrightarrow{}  \mBbbB{}.  \mforall{}u:|s|.
    ((\muparrow{}b[u])
    {}\mRightarrow{}  (\mforall{}as:MSet\{s\}
                ((\mforall{}x:|s|.  ((x  \#\mmember{}  as)  \mleq{}  1))
                {}\mRightarrow{}  (\muparrow{}(u
                      \mmember{}\msubb{}  as))
                {}\mRightarrow{}  (\mforall{}v:|s|.  ((\muparrow{}b[v])  {}\mRightarrow{}  (\muparrow{}(v  \mmember{}\msubb{}  as))  {}\mRightarrow{}  (v  =  u)))
                {}\mRightarrow{}  ((msFor\{g\}  x  \mmember{}  as.  when  b[x].  f[x])  =  f[u]))))



Date html generated: 2017_10_01-AM-10_00_39
Last ObjectModification: 2017_03_03-PM-01_02_20

Theory : mset


Home Index